{-# 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.FinSpaceData.UpdateDataset
-- 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 FinSpace Dataset.
module Amazonka.FinSpaceData.UpdateDataset
  ( -- * Creating a Request
    UpdateDataset (..),
    newUpdateDataset,

    -- * Request Lenses
    updateDataset_alias,
    updateDataset_clientToken,
    updateDataset_datasetDescription,
    updateDataset_schemaDefinition,
    updateDataset_datasetId,
    updateDataset_datasetTitle,
    updateDataset_kind,

    -- * Destructuring the Response
    UpdateDatasetResponse (..),
    newUpdateDatasetResponse,

    -- * Response Lenses
    updateDatasetResponse_datasetId,
    updateDatasetResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.FinSpaceData.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | The request for an UpdateDataset operation
--
-- /See:/ 'newUpdateDataset' smart constructor.
data UpdateDataset = UpdateDataset'
  { -- | The unique resource identifier for a Dataset.
    UpdateDataset -> Maybe Text
alias :: Prelude.Maybe Prelude.Text,
    -- | A token that ensures idempotency. This token expires in 10 minutes.
    UpdateDataset -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
    -- | A description for the Dataset.
    UpdateDataset -> Maybe Text
datasetDescription :: Prelude.Maybe Prelude.Text,
    -- | Definition for a schema on a tabular Dataset.
    UpdateDataset -> Maybe SchemaUnion
schemaDefinition :: Prelude.Maybe SchemaUnion,
    -- | The unique identifier for the Dataset to update.
    UpdateDataset -> Text
datasetId :: Prelude.Text,
    -- | A display title for the Dataset.
    UpdateDataset -> Text
datasetTitle :: Prelude.Text,
    -- | The format in which the Dataset data is structured.
    --
    -- -   @TABULAR@ – Data is structured in a tabular format.
    --
    -- -   @NON_TABULAR@ – Data is structured in a non-tabular format.
    UpdateDataset -> DatasetKind
kind :: DatasetKind
  }
  deriving (UpdateDataset -> UpdateDataset -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateDataset -> UpdateDataset -> Bool
$c/= :: UpdateDataset -> UpdateDataset -> Bool
== :: UpdateDataset -> UpdateDataset -> Bool
$c== :: UpdateDataset -> UpdateDataset -> Bool
Prelude.Eq, ReadPrec [UpdateDataset]
ReadPrec UpdateDataset
Int -> ReadS UpdateDataset
ReadS [UpdateDataset]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateDataset]
$creadListPrec :: ReadPrec [UpdateDataset]
readPrec :: ReadPrec UpdateDataset
$creadPrec :: ReadPrec UpdateDataset
readList :: ReadS [UpdateDataset]
$creadList :: ReadS [UpdateDataset]
readsPrec :: Int -> ReadS UpdateDataset
$creadsPrec :: Int -> ReadS UpdateDataset
Prelude.Read, Int -> UpdateDataset -> ShowS
[UpdateDataset] -> ShowS
UpdateDataset -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateDataset] -> ShowS
$cshowList :: [UpdateDataset] -> ShowS
show :: UpdateDataset -> String
$cshow :: UpdateDataset -> String
showsPrec :: Int -> UpdateDataset -> ShowS
$cshowsPrec :: Int -> UpdateDataset -> ShowS
Prelude.Show, forall x. Rep UpdateDataset x -> UpdateDataset
forall x. UpdateDataset -> Rep UpdateDataset x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateDataset x -> UpdateDataset
$cfrom :: forall x. UpdateDataset -> Rep UpdateDataset x
Prelude.Generic)

-- |
-- Create a value of 'UpdateDataset' 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:
--
-- 'alias', 'updateDataset_alias' - The unique resource identifier for a Dataset.
--
-- 'clientToken', 'updateDataset_clientToken' - A token that ensures idempotency. This token expires in 10 minutes.
--
-- 'datasetDescription', 'updateDataset_datasetDescription' - A description for the Dataset.
--
-- 'schemaDefinition', 'updateDataset_schemaDefinition' - Definition for a schema on a tabular Dataset.
--
-- 'datasetId', 'updateDataset_datasetId' - The unique identifier for the Dataset to update.
--
-- 'datasetTitle', 'updateDataset_datasetTitle' - A display title for the Dataset.
--
-- 'kind', 'updateDataset_kind' - The format in which the Dataset data is structured.
--
-- -   @TABULAR@ – Data is structured in a tabular format.
--
-- -   @NON_TABULAR@ – Data is structured in a non-tabular format.
newUpdateDataset ::
  -- | 'datasetId'
  Prelude.Text ->
  -- | 'datasetTitle'
  Prelude.Text ->
  -- | 'kind'
  DatasetKind ->
  UpdateDataset
newUpdateDataset :: Text -> Text -> DatasetKind -> UpdateDataset
newUpdateDataset Text
pDatasetId_ Text
pDatasetTitle_ DatasetKind
pKind_ =
  UpdateDataset'
    { $sel:alias:UpdateDataset' :: Maybe Text
alias = forall a. Maybe a
Prelude.Nothing,
      $sel:clientToken:UpdateDataset' :: Maybe Text
clientToken = forall a. Maybe a
Prelude.Nothing,
      $sel:datasetDescription:UpdateDataset' :: Maybe Text
datasetDescription = forall a. Maybe a
Prelude.Nothing,
      $sel:schemaDefinition:UpdateDataset' :: Maybe SchemaUnion
schemaDefinition = forall a. Maybe a
Prelude.Nothing,
      $sel:datasetId:UpdateDataset' :: Text
datasetId = Text
pDatasetId_,
      $sel:datasetTitle:UpdateDataset' :: Text
datasetTitle = Text
pDatasetTitle_,
      $sel:kind:UpdateDataset' :: DatasetKind
kind = DatasetKind
pKind_
    }

-- | The unique resource identifier for a Dataset.
updateDataset_alias :: Lens.Lens' UpdateDataset (Prelude.Maybe Prelude.Text)
updateDataset_alias :: Lens' UpdateDataset (Maybe Text)
updateDataset_alias = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDataset' {Maybe Text
alias :: Maybe Text
$sel:alias:UpdateDataset' :: UpdateDataset -> Maybe Text
alias} -> Maybe Text
alias) (\s :: UpdateDataset
s@UpdateDataset' {} Maybe Text
a -> UpdateDataset
s {$sel:alias:UpdateDataset' :: Maybe Text
alias = Maybe Text
a} :: UpdateDataset)

-- | A token that ensures idempotency. This token expires in 10 minutes.
updateDataset_clientToken :: Lens.Lens' UpdateDataset (Prelude.Maybe Prelude.Text)
updateDataset_clientToken :: Lens' UpdateDataset (Maybe Text)
updateDataset_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDataset' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:UpdateDataset' :: UpdateDataset -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: UpdateDataset
s@UpdateDataset' {} Maybe Text
a -> UpdateDataset
s {$sel:clientToken:UpdateDataset' :: Maybe Text
clientToken = Maybe Text
a} :: UpdateDataset)

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

-- | Definition for a schema on a tabular Dataset.
updateDataset_schemaDefinition :: Lens.Lens' UpdateDataset (Prelude.Maybe SchemaUnion)
updateDataset_schemaDefinition :: Lens' UpdateDataset (Maybe SchemaUnion)
updateDataset_schemaDefinition = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDataset' {Maybe SchemaUnion
schemaDefinition :: Maybe SchemaUnion
$sel:schemaDefinition:UpdateDataset' :: UpdateDataset -> Maybe SchemaUnion
schemaDefinition} -> Maybe SchemaUnion
schemaDefinition) (\s :: UpdateDataset
s@UpdateDataset' {} Maybe SchemaUnion
a -> UpdateDataset
s {$sel:schemaDefinition:UpdateDataset' :: Maybe SchemaUnion
schemaDefinition = Maybe SchemaUnion
a} :: UpdateDataset)

-- | The unique identifier for the Dataset to update.
updateDataset_datasetId :: Lens.Lens' UpdateDataset Prelude.Text
updateDataset_datasetId :: Lens' UpdateDataset Text
updateDataset_datasetId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDataset' {Text
datasetId :: Text
$sel:datasetId:UpdateDataset' :: UpdateDataset -> Text
datasetId} -> Text
datasetId) (\s :: UpdateDataset
s@UpdateDataset' {} Text
a -> UpdateDataset
s {$sel:datasetId:UpdateDataset' :: Text
datasetId = Text
a} :: UpdateDataset)

-- | A display title for the Dataset.
updateDataset_datasetTitle :: Lens.Lens' UpdateDataset Prelude.Text
updateDataset_datasetTitle :: Lens' UpdateDataset Text
updateDataset_datasetTitle = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDataset' {Text
datasetTitle :: Text
$sel:datasetTitle:UpdateDataset' :: UpdateDataset -> Text
datasetTitle} -> Text
datasetTitle) (\s :: UpdateDataset
s@UpdateDataset' {} Text
a -> UpdateDataset
s {$sel:datasetTitle:UpdateDataset' :: Text
datasetTitle = Text
a} :: UpdateDataset)

-- | The format in which the Dataset data is structured.
--
-- -   @TABULAR@ – Data is structured in a tabular format.
--
-- -   @NON_TABULAR@ – Data is structured in a non-tabular format.
updateDataset_kind :: Lens.Lens' UpdateDataset DatasetKind
updateDataset_kind :: Lens' UpdateDataset DatasetKind
updateDataset_kind = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDataset' {DatasetKind
kind :: DatasetKind
$sel:kind:UpdateDataset' :: UpdateDataset -> DatasetKind
kind} -> DatasetKind
kind) (\s :: UpdateDataset
s@UpdateDataset' {} DatasetKind
a -> UpdateDataset
s {$sel:kind:UpdateDataset' :: DatasetKind
kind = DatasetKind
a} :: UpdateDataset)

instance Core.AWSRequest UpdateDataset where
  type
    AWSResponse UpdateDataset =
      UpdateDatasetResponse
  request :: (Service -> Service) -> UpdateDataset -> Request UpdateDataset
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateDataset
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse UpdateDataset)))
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 -> Int -> UpdateDatasetResponse
UpdateDatasetResponse'
            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
"datasetId")
            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))
      )

instance Prelude.Hashable UpdateDataset where
  hashWithSalt :: Int -> UpdateDataset -> Int
hashWithSalt Int
_salt UpdateDataset' {Maybe Text
Maybe SchemaUnion
Text
DatasetKind
kind :: DatasetKind
datasetTitle :: Text
datasetId :: Text
schemaDefinition :: Maybe SchemaUnion
datasetDescription :: Maybe Text
clientToken :: Maybe Text
alias :: Maybe Text
$sel:kind:UpdateDataset' :: UpdateDataset -> DatasetKind
$sel:datasetTitle:UpdateDataset' :: UpdateDataset -> Text
$sel:datasetId:UpdateDataset' :: UpdateDataset -> Text
$sel:schemaDefinition:UpdateDataset' :: UpdateDataset -> Maybe SchemaUnion
$sel:datasetDescription:UpdateDataset' :: UpdateDataset -> Maybe Text
$sel:clientToken:UpdateDataset' :: UpdateDataset -> Maybe Text
$sel:alias:UpdateDataset' :: UpdateDataset -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
alias
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientToken
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
datasetDescription
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SchemaUnion
schemaDefinition
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
datasetId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
datasetTitle
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` DatasetKind
kind

instance Prelude.NFData UpdateDataset where
  rnf :: UpdateDataset -> ()
rnf UpdateDataset' {Maybe Text
Maybe SchemaUnion
Text
DatasetKind
kind :: DatasetKind
datasetTitle :: Text
datasetId :: Text
schemaDefinition :: Maybe SchemaUnion
datasetDescription :: Maybe Text
clientToken :: Maybe Text
alias :: Maybe Text
$sel:kind:UpdateDataset' :: UpdateDataset -> DatasetKind
$sel:datasetTitle:UpdateDataset' :: UpdateDataset -> Text
$sel:datasetId:UpdateDataset' :: UpdateDataset -> Text
$sel:schemaDefinition:UpdateDataset' :: UpdateDataset -> Maybe SchemaUnion
$sel:datasetDescription:UpdateDataset' :: UpdateDataset -> Maybe Text
$sel:clientToken:UpdateDataset' :: UpdateDataset -> Maybe Text
$sel:alias:UpdateDataset' :: UpdateDataset -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
alias
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
datasetDescription
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SchemaUnion
schemaDefinition
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
datasetId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
datasetTitle
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf DatasetKind
kind

instance Data.ToHeaders UpdateDataset where
  toHeaders :: UpdateDataset -> 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 UpdateDataset where
  toJSON :: UpdateDataset -> Value
toJSON UpdateDataset' {Maybe Text
Maybe SchemaUnion
Text
DatasetKind
kind :: DatasetKind
datasetTitle :: Text
datasetId :: Text
schemaDefinition :: Maybe SchemaUnion
datasetDescription :: Maybe Text
clientToken :: Maybe Text
alias :: Maybe Text
$sel:kind:UpdateDataset' :: UpdateDataset -> DatasetKind
$sel:datasetTitle:UpdateDataset' :: UpdateDataset -> Text
$sel:datasetId:UpdateDataset' :: UpdateDataset -> Text
$sel:schemaDefinition:UpdateDataset' :: UpdateDataset -> Maybe SchemaUnion
$sel:datasetDescription:UpdateDataset' :: UpdateDataset -> Maybe Text
$sel:clientToken:UpdateDataset' :: UpdateDataset -> Maybe Text
$sel:alias:UpdateDataset' :: UpdateDataset -> Maybe Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"alias" 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
alias,
            (Key
"clientToken" 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
clientToken,
            (Key
"datasetDescription" 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
datasetDescription,
            (Key
"schemaDefinition" 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 SchemaUnion
schemaDefinition,
            forall a. a -> Maybe a
Prelude.Just (Key
"datasetTitle" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
datasetTitle),
            forall a. a -> Maybe a
Prelude.Just (Key
"kind" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= DatasetKind
kind)
          ]
      )

instance Data.ToPath UpdateDataset where
  toPath :: UpdateDataset -> ByteString
toPath UpdateDataset' {Maybe Text
Maybe SchemaUnion
Text
DatasetKind
kind :: DatasetKind
datasetTitle :: Text
datasetId :: Text
schemaDefinition :: Maybe SchemaUnion
datasetDescription :: Maybe Text
clientToken :: Maybe Text
alias :: Maybe Text
$sel:kind:UpdateDataset' :: UpdateDataset -> DatasetKind
$sel:datasetTitle:UpdateDataset' :: UpdateDataset -> Text
$sel:datasetId:UpdateDataset' :: UpdateDataset -> Text
$sel:schemaDefinition:UpdateDataset' :: UpdateDataset -> Maybe SchemaUnion
$sel:datasetDescription:UpdateDataset' :: UpdateDataset -> Maybe Text
$sel:clientToken:UpdateDataset' :: UpdateDataset -> Maybe Text
$sel:alias:UpdateDataset' :: UpdateDataset -> Maybe Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ByteString
"/datasetsv2/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
datasetId]

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

-- | The response from an UpdateDataset operation
--
-- /See:/ 'newUpdateDatasetResponse' smart constructor.
data UpdateDatasetResponse = UpdateDatasetResponse'
  { -- | The unique identifier for updated Dataset.
    UpdateDatasetResponse -> Maybe Text
datasetId :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    UpdateDatasetResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (UpdateDatasetResponse -> UpdateDatasetResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateDatasetResponse -> UpdateDatasetResponse -> Bool
$c/= :: UpdateDatasetResponse -> UpdateDatasetResponse -> Bool
== :: UpdateDatasetResponse -> UpdateDatasetResponse -> Bool
$c== :: UpdateDatasetResponse -> UpdateDatasetResponse -> Bool
Prelude.Eq, ReadPrec [UpdateDatasetResponse]
ReadPrec UpdateDatasetResponse
Int -> ReadS UpdateDatasetResponse
ReadS [UpdateDatasetResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateDatasetResponse]
$creadListPrec :: ReadPrec [UpdateDatasetResponse]
readPrec :: ReadPrec UpdateDatasetResponse
$creadPrec :: ReadPrec UpdateDatasetResponse
readList :: ReadS [UpdateDatasetResponse]
$creadList :: ReadS [UpdateDatasetResponse]
readsPrec :: Int -> ReadS UpdateDatasetResponse
$creadsPrec :: Int -> ReadS UpdateDatasetResponse
Prelude.Read, Int -> UpdateDatasetResponse -> ShowS
[UpdateDatasetResponse] -> ShowS
UpdateDatasetResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateDatasetResponse] -> ShowS
$cshowList :: [UpdateDatasetResponse] -> ShowS
show :: UpdateDatasetResponse -> String
$cshow :: UpdateDatasetResponse -> String
showsPrec :: Int -> UpdateDatasetResponse -> ShowS
$cshowsPrec :: Int -> UpdateDatasetResponse -> ShowS
Prelude.Show, forall x. Rep UpdateDatasetResponse x -> UpdateDatasetResponse
forall x. UpdateDatasetResponse -> Rep UpdateDatasetResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateDatasetResponse x -> UpdateDatasetResponse
$cfrom :: forall x. UpdateDatasetResponse -> Rep UpdateDatasetResponse x
Prelude.Generic)

-- |
-- Create a value of 'UpdateDatasetResponse' 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:
--
-- 'datasetId', 'updateDatasetResponse_datasetId' - The unique identifier for updated Dataset.
--
-- 'httpStatus', 'updateDatasetResponse_httpStatus' - The response's http status code.
newUpdateDatasetResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  UpdateDatasetResponse
newUpdateDatasetResponse :: Int -> UpdateDatasetResponse
newUpdateDatasetResponse Int
pHttpStatus_ =
  UpdateDatasetResponse'
    { $sel:datasetId:UpdateDatasetResponse' :: Maybe Text
datasetId = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:UpdateDatasetResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The unique identifier for updated Dataset.
updateDatasetResponse_datasetId :: Lens.Lens' UpdateDatasetResponse (Prelude.Maybe Prelude.Text)
updateDatasetResponse_datasetId :: Lens' UpdateDatasetResponse (Maybe Text)
updateDatasetResponse_datasetId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDatasetResponse' {Maybe Text
datasetId :: Maybe Text
$sel:datasetId:UpdateDatasetResponse' :: UpdateDatasetResponse -> Maybe Text
datasetId} -> Maybe Text
datasetId) (\s :: UpdateDatasetResponse
s@UpdateDatasetResponse' {} Maybe Text
a -> UpdateDatasetResponse
s {$sel:datasetId:UpdateDatasetResponse' :: Maybe Text
datasetId = Maybe Text
a} :: UpdateDatasetResponse)

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

instance Prelude.NFData UpdateDatasetResponse where
  rnf :: UpdateDatasetResponse -> ()
rnf UpdateDatasetResponse' {Int
Maybe Text
httpStatus :: Int
datasetId :: Maybe Text
$sel:httpStatus:UpdateDatasetResponse' :: UpdateDatasetResponse -> Int
$sel:datasetId:UpdateDatasetResponse' :: UpdateDatasetResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
datasetId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus