{-# 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.UpdateVariantStore
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Updates a variant store.
module Amazonka.Omics.UpdateVariantStore
  ( -- * Creating a Request
    UpdateVariantStore (..),
    newUpdateVariantStore,

    -- * Request Lenses
    updateVariantStore_description,
    updateVariantStore_name,

    -- * Destructuring the Response
    UpdateVariantStoreResponse (..),
    newUpdateVariantStoreResponse,

    -- * Response Lenses
    updateVariantStoreResponse_httpStatus,
    updateVariantStoreResponse_creationTime,
    updateVariantStoreResponse_description,
    updateVariantStoreResponse_id,
    updateVariantStoreResponse_name,
    updateVariantStoreResponse_reference,
    updateVariantStoreResponse_status,
    updateVariantStoreResponse_updateTime,
  )
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:/ 'newUpdateVariantStore' smart constructor.
data UpdateVariantStore = UpdateVariantStore'
  { -- | A description for the store.
    UpdateVariantStore -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | A name for the store.
    UpdateVariantStore -> Text
name :: Prelude.Text
  }
  deriving (UpdateVariantStore -> UpdateVariantStore -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateVariantStore -> UpdateVariantStore -> Bool
$c/= :: UpdateVariantStore -> UpdateVariantStore -> Bool
== :: UpdateVariantStore -> UpdateVariantStore -> Bool
$c== :: UpdateVariantStore -> UpdateVariantStore -> Bool
Prelude.Eq, ReadPrec [UpdateVariantStore]
ReadPrec UpdateVariantStore
Int -> ReadS UpdateVariantStore
ReadS [UpdateVariantStore]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateVariantStore]
$creadListPrec :: ReadPrec [UpdateVariantStore]
readPrec :: ReadPrec UpdateVariantStore
$creadPrec :: ReadPrec UpdateVariantStore
readList :: ReadS [UpdateVariantStore]
$creadList :: ReadS [UpdateVariantStore]
readsPrec :: Int -> ReadS UpdateVariantStore
$creadsPrec :: Int -> ReadS UpdateVariantStore
Prelude.Read, Int -> UpdateVariantStore -> ShowS
[UpdateVariantStore] -> ShowS
UpdateVariantStore -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateVariantStore] -> ShowS
$cshowList :: [UpdateVariantStore] -> ShowS
show :: UpdateVariantStore -> String
$cshow :: UpdateVariantStore -> String
showsPrec :: Int -> UpdateVariantStore -> ShowS
$cshowsPrec :: Int -> UpdateVariantStore -> ShowS
Prelude.Show, forall x. Rep UpdateVariantStore x -> UpdateVariantStore
forall x. UpdateVariantStore -> Rep UpdateVariantStore x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateVariantStore x -> UpdateVariantStore
$cfrom :: forall x. UpdateVariantStore -> Rep UpdateVariantStore x
Prelude.Generic)

-- |
-- Create a value of 'UpdateVariantStore' 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', 'updateVariantStore_description' - A description for the store.
--
-- 'name', 'updateVariantStore_name' - A name for the store.
newUpdateVariantStore ::
  -- | 'name'
  Prelude.Text ->
  UpdateVariantStore
newUpdateVariantStore :: Text -> UpdateVariantStore
newUpdateVariantStore Text
pName_ =
  UpdateVariantStore'
    { $sel:description:UpdateVariantStore' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
      $sel:name:UpdateVariantStore' :: Text
name = Text
pName_
    }

-- | A description for the store.
updateVariantStore_description :: Lens.Lens' UpdateVariantStore (Prelude.Maybe Prelude.Text)
updateVariantStore_description :: Lens' UpdateVariantStore (Maybe Text)
updateVariantStore_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateVariantStore' {Maybe Text
description :: Maybe Text
$sel:description:UpdateVariantStore' :: UpdateVariantStore -> Maybe Text
description} -> Maybe Text
description) (\s :: UpdateVariantStore
s@UpdateVariantStore' {} Maybe Text
a -> UpdateVariantStore
s {$sel:description:UpdateVariantStore' :: Maybe Text
description = Maybe Text
a} :: UpdateVariantStore)

-- | A name for the store.
updateVariantStore_name :: Lens.Lens' UpdateVariantStore Prelude.Text
updateVariantStore_name :: Lens' UpdateVariantStore Text
updateVariantStore_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateVariantStore' {Text
name :: Text
$sel:name:UpdateVariantStore' :: UpdateVariantStore -> Text
name} -> Text
name) (\s :: UpdateVariantStore
s@UpdateVariantStore' {} Text
a -> UpdateVariantStore
s {$sel:name:UpdateVariantStore' :: Text
name = Text
a} :: UpdateVariantStore)

instance Core.AWSRequest UpdateVariantStore where
  type
    AWSResponse UpdateVariantStore =
      UpdateVariantStoreResponse
  request :: (Service -> Service)
-> UpdateVariantStore -> Request UpdateVariantStore
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateVariantStore
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse UpdateVariantStore)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Int
-> ISO8601
-> Text
-> Text
-> Text
-> ReferenceItem
-> StoreStatus
-> ISO8601
-> UpdateVariantStoreResponse
UpdateVariantStoreResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"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
"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 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
"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 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 -> Either String 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 -> Either String a
Data..:> Key
"updateTime")
      )

instance Prelude.Hashable UpdateVariantStore where
  hashWithSalt :: Int -> UpdateVariantStore -> Int
hashWithSalt Int
_salt UpdateVariantStore' {Maybe Text
Text
name :: Text
description :: Maybe Text
$sel:name:UpdateVariantStore' :: UpdateVariantStore -> Text
$sel:description:UpdateVariantStore' :: UpdateVariantStore -> 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` Text
name

instance Prelude.NFData UpdateVariantStore where
  rnf :: UpdateVariantStore -> ()
rnf UpdateVariantStore' {Maybe Text
Text
name :: Text
description :: Maybe Text
$sel:name:UpdateVariantStore' :: UpdateVariantStore -> Text
$sel:description:UpdateVariantStore' :: UpdateVariantStore -> 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 Text
name

instance Data.ToHeaders UpdateVariantStore where
  toHeaders :: UpdateVariantStore -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON UpdateVariantStore where
  toJSON :: UpdateVariantStore -> Value
toJSON UpdateVariantStore' {Maybe Text
Text
name :: Text
description :: Maybe Text
$sel:name:UpdateVariantStore' :: UpdateVariantStore -> Text
$sel:description:UpdateVariantStore' :: UpdateVariantStore -> Maybe Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [(Key
"description" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
description]
      )

instance Data.ToPath UpdateVariantStore where
  toPath :: UpdateVariantStore -> ByteString
toPath UpdateVariantStore' {Maybe Text
Text
name :: Text
description :: Maybe Text
$sel:name:UpdateVariantStore' :: UpdateVariantStore -> Text
$sel:description:UpdateVariantStore' :: UpdateVariantStore -> Maybe Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"/variantStore/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
name]

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

-- | /See:/ 'newUpdateVariantStoreResponse' smart constructor.
data UpdateVariantStoreResponse = UpdateVariantStoreResponse'
  { -- | The response's http status code.
    UpdateVariantStoreResponse -> Int
httpStatus :: Prelude.Int,
    -- | When the store was created.
    UpdateVariantStoreResponse -> ISO8601
creationTime :: Data.ISO8601,
    -- | The store\'s description.
    UpdateVariantStoreResponse -> Text
description :: Prelude.Text,
    -- | The store\'s ID.
    UpdateVariantStoreResponse -> Text
id :: Prelude.Text,
    -- | The store\'s name.
    UpdateVariantStoreResponse -> Text
name :: Prelude.Text,
    -- | The store\'s genome reference.
    UpdateVariantStoreResponse -> ReferenceItem
reference :: ReferenceItem,
    -- | The store\'s status.
    UpdateVariantStoreResponse -> StoreStatus
status :: StoreStatus,
    -- | When the store was updated.
    UpdateVariantStoreResponse -> ISO8601
updateTime :: Data.ISO8601
  }
  deriving (UpdateVariantStoreResponse -> UpdateVariantStoreResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateVariantStoreResponse -> UpdateVariantStoreResponse -> Bool
$c/= :: UpdateVariantStoreResponse -> UpdateVariantStoreResponse -> Bool
== :: UpdateVariantStoreResponse -> UpdateVariantStoreResponse -> Bool
$c== :: UpdateVariantStoreResponse -> UpdateVariantStoreResponse -> Bool
Prelude.Eq, ReadPrec [UpdateVariantStoreResponse]
ReadPrec UpdateVariantStoreResponse
Int -> ReadS UpdateVariantStoreResponse
ReadS [UpdateVariantStoreResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateVariantStoreResponse]
$creadListPrec :: ReadPrec [UpdateVariantStoreResponse]
readPrec :: ReadPrec UpdateVariantStoreResponse
$creadPrec :: ReadPrec UpdateVariantStoreResponse
readList :: ReadS [UpdateVariantStoreResponse]
$creadList :: ReadS [UpdateVariantStoreResponse]
readsPrec :: Int -> ReadS UpdateVariantStoreResponse
$creadsPrec :: Int -> ReadS UpdateVariantStoreResponse
Prelude.Read, Int -> UpdateVariantStoreResponse -> ShowS
[UpdateVariantStoreResponse] -> ShowS
UpdateVariantStoreResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateVariantStoreResponse] -> ShowS
$cshowList :: [UpdateVariantStoreResponse] -> ShowS
show :: UpdateVariantStoreResponse -> String
$cshow :: UpdateVariantStoreResponse -> String
showsPrec :: Int -> UpdateVariantStoreResponse -> ShowS
$cshowsPrec :: Int -> UpdateVariantStoreResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateVariantStoreResponse x -> UpdateVariantStoreResponse
forall x.
UpdateVariantStoreResponse -> Rep UpdateVariantStoreResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateVariantStoreResponse x -> UpdateVariantStoreResponse
$cfrom :: forall x.
UpdateVariantStoreResponse -> Rep UpdateVariantStoreResponse x
Prelude.Generic)

-- |
-- Create a value of 'UpdateVariantStoreResponse' 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:
--
-- 'httpStatus', 'updateVariantStoreResponse_httpStatus' - The response's http status code.
--
-- 'creationTime', 'updateVariantStoreResponse_creationTime' - When the store was created.
--
-- 'description', 'updateVariantStoreResponse_description' - The store\'s description.
--
-- 'id', 'updateVariantStoreResponse_id' - The store\'s ID.
--
-- 'name', 'updateVariantStoreResponse_name' - The store\'s name.
--
-- 'reference', 'updateVariantStoreResponse_reference' - The store\'s genome reference.
--
-- 'status', 'updateVariantStoreResponse_status' - The store\'s status.
--
-- 'updateTime', 'updateVariantStoreResponse_updateTime' - When the store was updated.
newUpdateVariantStoreResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'creationTime'
  Prelude.UTCTime ->
  -- | 'description'
  Prelude.Text ->
  -- | 'id'
  Prelude.Text ->
  -- | 'name'
  Prelude.Text ->
  -- | 'reference'
  ReferenceItem ->
  -- | 'status'
  StoreStatus ->
  -- | 'updateTime'
  Prelude.UTCTime ->
  UpdateVariantStoreResponse
newUpdateVariantStoreResponse :: Int
-> UTCTime
-> Text
-> Text
-> Text
-> ReferenceItem
-> StoreStatus
-> UTCTime
-> UpdateVariantStoreResponse
newUpdateVariantStoreResponse
  Int
pHttpStatus_
  UTCTime
pCreationTime_
  Text
pDescription_
  Text
pId_
  Text
pName_
  ReferenceItem
pReference_
  StoreStatus
pStatus_
  UTCTime
pUpdateTime_ =
    UpdateVariantStoreResponse'
      { $sel:httpStatus:UpdateVariantStoreResponse' :: Int
httpStatus =
          Int
pHttpStatus_,
        $sel:creationTime:UpdateVariantStoreResponse' :: ISO8601
creationTime = forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pCreationTime_,
        $sel:description:UpdateVariantStoreResponse' :: Text
description = Text
pDescription_,
        $sel:id:UpdateVariantStoreResponse' :: Text
id = Text
pId_,
        $sel:name:UpdateVariantStoreResponse' :: Text
name = Text
pName_,
        $sel:reference:UpdateVariantStoreResponse' :: ReferenceItem
reference = ReferenceItem
pReference_,
        $sel:status:UpdateVariantStoreResponse' :: StoreStatus
status = StoreStatus
pStatus_,
        $sel:updateTime:UpdateVariantStoreResponse' :: ISO8601
updateTime = forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pUpdateTime_
      }

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

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

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

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

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

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

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

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

instance Prelude.NFData UpdateVariantStoreResponse where
  rnf :: UpdateVariantStoreResponse -> ()
rnf UpdateVariantStoreResponse' {Int
Text
ISO8601
ReferenceItem
StoreStatus
updateTime :: ISO8601
status :: StoreStatus
reference :: ReferenceItem
name :: Text
id :: Text
description :: Text
creationTime :: ISO8601
httpStatus :: Int
$sel:updateTime:UpdateVariantStoreResponse' :: UpdateVariantStoreResponse -> ISO8601
$sel:status:UpdateVariantStoreResponse' :: UpdateVariantStoreResponse -> StoreStatus
$sel:reference:UpdateVariantStoreResponse' :: UpdateVariantStoreResponse -> ReferenceItem
$sel:name:UpdateVariantStoreResponse' :: UpdateVariantStoreResponse -> Text
$sel:id:UpdateVariantStoreResponse' :: UpdateVariantStoreResponse -> Text
$sel:description:UpdateVariantStoreResponse' :: UpdateVariantStoreResponse -> Text
$sel:creationTime:UpdateVariantStoreResponse' :: UpdateVariantStoreResponse -> ISO8601
$sel:httpStatus:UpdateVariantStoreResponse' :: UpdateVariantStoreResponse -> Int
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf 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 StoreStatus
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ISO8601
updateTime