{-# 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.RedshiftServerLess.RestoreFromRecoveryPoint
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Restore the data from a recovery point.
module Amazonka.RedshiftServerLess.RestoreFromRecoveryPoint
  ( -- * Creating a Request
    RestoreFromRecoveryPoint (..),
    newRestoreFromRecoveryPoint,

    -- * Request Lenses
    restoreFromRecoveryPoint_namespaceName,
    restoreFromRecoveryPoint_recoveryPointId,
    restoreFromRecoveryPoint_workgroupName,

    -- * Destructuring the Response
    RestoreFromRecoveryPointResponse (..),
    newRestoreFromRecoveryPointResponse,

    -- * Response Lenses
    restoreFromRecoveryPointResponse_namespace,
    restoreFromRecoveryPointResponse_recoveryPointId,
    restoreFromRecoveryPointResponse_httpStatus,
  )
where

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

-- | /See:/ 'newRestoreFromRecoveryPoint' smart constructor.
data RestoreFromRecoveryPoint = RestoreFromRecoveryPoint'
  { -- | The name of the namespace to restore data into.
    RestoreFromRecoveryPoint -> Text
namespaceName :: Prelude.Text,
    -- | The unique identifier of the recovery point to restore from.
    RestoreFromRecoveryPoint -> Text
recoveryPointId :: Prelude.Text,
    -- | The name of the workgroup used to restore data.
    RestoreFromRecoveryPoint -> Text
workgroupName :: Prelude.Text
  }
  deriving (RestoreFromRecoveryPoint -> RestoreFromRecoveryPoint -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RestoreFromRecoveryPoint -> RestoreFromRecoveryPoint -> Bool
$c/= :: RestoreFromRecoveryPoint -> RestoreFromRecoveryPoint -> Bool
== :: RestoreFromRecoveryPoint -> RestoreFromRecoveryPoint -> Bool
$c== :: RestoreFromRecoveryPoint -> RestoreFromRecoveryPoint -> Bool
Prelude.Eq, ReadPrec [RestoreFromRecoveryPoint]
ReadPrec RestoreFromRecoveryPoint
Int -> ReadS RestoreFromRecoveryPoint
ReadS [RestoreFromRecoveryPoint]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RestoreFromRecoveryPoint]
$creadListPrec :: ReadPrec [RestoreFromRecoveryPoint]
readPrec :: ReadPrec RestoreFromRecoveryPoint
$creadPrec :: ReadPrec RestoreFromRecoveryPoint
readList :: ReadS [RestoreFromRecoveryPoint]
$creadList :: ReadS [RestoreFromRecoveryPoint]
readsPrec :: Int -> ReadS RestoreFromRecoveryPoint
$creadsPrec :: Int -> ReadS RestoreFromRecoveryPoint
Prelude.Read, Int -> RestoreFromRecoveryPoint -> ShowS
[RestoreFromRecoveryPoint] -> ShowS
RestoreFromRecoveryPoint -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RestoreFromRecoveryPoint] -> ShowS
$cshowList :: [RestoreFromRecoveryPoint] -> ShowS
show :: RestoreFromRecoveryPoint -> String
$cshow :: RestoreFromRecoveryPoint -> String
showsPrec :: Int -> RestoreFromRecoveryPoint -> ShowS
$cshowsPrec :: Int -> RestoreFromRecoveryPoint -> ShowS
Prelude.Show, forall x.
Rep RestoreFromRecoveryPoint x -> RestoreFromRecoveryPoint
forall x.
RestoreFromRecoveryPoint -> Rep RestoreFromRecoveryPoint x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep RestoreFromRecoveryPoint x -> RestoreFromRecoveryPoint
$cfrom :: forall x.
RestoreFromRecoveryPoint -> Rep RestoreFromRecoveryPoint x
Prelude.Generic)

-- |
-- Create a value of 'RestoreFromRecoveryPoint' 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:
--
-- 'namespaceName', 'restoreFromRecoveryPoint_namespaceName' - The name of the namespace to restore data into.
--
-- 'recoveryPointId', 'restoreFromRecoveryPoint_recoveryPointId' - The unique identifier of the recovery point to restore from.
--
-- 'workgroupName', 'restoreFromRecoveryPoint_workgroupName' - The name of the workgroup used to restore data.
newRestoreFromRecoveryPoint ::
  -- | 'namespaceName'
  Prelude.Text ->
  -- | 'recoveryPointId'
  Prelude.Text ->
  -- | 'workgroupName'
  Prelude.Text ->
  RestoreFromRecoveryPoint
newRestoreFromRecoveryPoint :: Text -> Text -> Text -> RestoreFromRecoveryPoint
newRestoreFromRecoveryPoint
  Text
pNamespaceName_
  Text
pRecoveryPointId_
  Text
pWorkgroupName_ =
    RestoreFromRecoveryPoint'
      { $sel:namespaceName:RestoreFromRecoveryPoint' :: Text
namespaceName =
          Text
pNamespaceName_,
        $sel:recoveryPointId:RestoreFromRecoveryPoint' :: Text
recoveryPointId = Text
pRecoveryPointId_,
        $sel:workgroupName:RestoreFromRecoveryPoint' :: Text
workgroupName = Text
pWorkgroupName_
      }

-- | The name of the namespace to restore data into.
restoreFromRecoveryPoint_namespaceName :: Lens.Lens' RestoreFromRecoveryPoint Prelude.Text
restoreFromRecoveryPoint_namespaceName :: Lens' RestoreFromRecoveryPoint Text
restoreFromRecoveryPoint_namespaceName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RestoreFromRecoveryPoint' {Text
namespaceName :: Text
$sel:namespaceName:RestoreFromRecoveryPoint' :: RestoreFromRecoveryPoint -> Text
namespaceName} -> Text
namespaceName) (\s :: RestoreFromRecoveryPoint
s@RestoreFromRecoveryPoint' {} Text
a -> RestoreFromRecoveryPoint
s {$sel:namespaceName:RestoreFromRecoveryPoint' :: Text
namespaceName = Text
a} :: RestoreFromRecoveryPoint)

-- | The unique identifier of the recovery point to restore from.
restoreFromRecoveryPoint_recoveryPointId :: Lens.Lens' RestoreFromRecoveryPoint Prelude.Text
restoreFromRecoveryPoint_recoveryPointId :: Lens' RestoreFromRecoveryPoint Text
restoreFromRecoveryPoint_recoveryPointId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RestoreFromRecoveryPoint' {Text
recoveryPointId :: Text
$sel:recoveryPointId:RestoreFromRecoveryPoint' :: RestoreFromRecoveryPoint -> Text
recoveryPointId} -> Text
recoveryPointId) (\s :: RestoreFromRecoveryPoint
s@RestoreFromRecoveryPoint' {} Text
a -> RestoreFromRecoveryPoint
s {$sel:recoveryPointId:RestoreFromRecoveryPoint' :: Text
recoveryPointId = Text
a} :: RestoreFromRecoveryPoint)

-- | The name of the workgroup used to restore data.
restoreFromRecoveryPoint_workgroupName :: Lens.Lens' RestoreFromRecoveryPoint Prelude.Text
restoreFromRecoveryPoint_workgroupName :: Lens' RestoreFromRecoveryPoint Text
restoreFromRecoveryPoint_workgroupName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RestoreFromRecoveryPoint' {Text
workgroupName :: Text
$sel:workgroupName:RestoreFromRecoveryPoint' :: RestoreFromRecoveryPoint -> Text
workgroupName} -> Text
workgroupName) (\s :: RestoreFromRecoveryPoint
s@RestoreFromRecoveryPoint' {} Text
a -> RestoreFromRecoveryPoint
s {$sel:workgroupName:RestoreFromRecoveryPoint' :: Text
workgroupName = Text
a} :: RestoreFromRecoveryPoint)

instance Core.AWSRequest RestoreFromRecoveryPoint where
  type
    AWSResponse RestoreFromRecoveryPoint =
      RestoreFromRecoveryPointResponse
  request :: (Service -> Service)
-> RestoreFromRecoveryPoint -> Request RestoreFromRecoveryPoint
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 RestoreFromRecoveryPoint
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse RestoreFromRecoveryPoint)))
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 Namespace
-> Maybe Text -> Int -> RestoreFromRecoveryPointResponse
RestoreFromRecoveryPointResponse'
            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
"namespace")
            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
"recoveryPointId")
            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 RestoreFromRecoveryPoint where
  hashWithSalt :: Int -> RestoreFromRecoveryPoint -> Int
hashWithSalt Int
_salt RestoreFromRecoveryPoint' {Text
workgroupName :: Text
recoveryPointId :: Text
namespaceName :: Text
$sel:workgroupName:RestoreFromRecoveryPoint' :: RestoreFromRecoveryPoint -> Text
$sel:recoveryPointId:RestoreFromRecoveryPoint' :: RestoreFromRecoveryPoint -> Text
$sel:namespaceName:RestoreFromRecoveryPoint' :: RestoreFromRecoveryPoint -> Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
namespaceName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
recoveryPointId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
workgroupName

instance Prelude.NFData RestoreFromRecoveryPoint where
  rnf :: RestoreFromRecoveryPoint -> ()
rnf RestoreFromRecoveryPoint' {Text
workgroupName :: Text
recoveryPointId :: Text
namespaceName :: Text
$sel:workgroupName:RestoreFromRecoveryPoint' :: RestoreFromRecoveryPoint -> Text
$sel:recoveryPointId:RestoreFromRecoveryPoint' :: RestoreFromRecoveryPoint -> Text
$sel:namespaceName:RestoreFromRecoveryPoint' :: RestoreFromRecoveryPoint -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
namespaceName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
recoveryPointId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
workgroupName

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

instance Data.ToJSON RestoreFromRecoveryPoint where
  toJSON :: RestoreFromRecoveryPoint -> Value
toJSON RestoreFromRecoveryPoint' {Text
workgroupName :: Text
recoveryPointId :: Text
namespaceName :: Text
$sel:workgroupName:RestoreFromRecoveryPoint' :: RestoreFromRecoveryPoint -> Text
$sel:recoveryPointId:RestoreFromRecoveryPoint' :: RestoreFromRecoveryPoint -> Text
$sel:namespaceName:RestoreFromRecoveryPoint' :: RestoreFromRecoveryPoint -> Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ forall a. a -> Maybe a
Prelude.Just
              (Key
"namespaceName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
namespaceName),
            forall a. a -> Maybe a
Prelude.Just
              (Key
"recoveryPointId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
recoveryPointId),
            forall a. a -> Maybe a
Prelude.Just
              (Key
"workgroupName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
workgroupName)
          ]
      )

instance Data.ToPath RestoreFromRecoveryPoint where
  toPath :: RestoreFromRecoveryPoint -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

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

-- | /See:/ 'newRestoreFromRecoveryPointResponse' smart constructor.
data RestoreFromRecoveryPointResponse = RestoreFromRecoveryPointResponse'
  { -- | The namespace that data was restored into.
    RestoreFromRecoveryPointResponse -> Maybe Namespace
namespace :: Prelude.Maybe Namespace,
    -- | The unique identifier of the recovery point used for the restore.
    RestoreFromRecoveryPointResponse -> Maybe Text
recoveryPointId :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    RestoreFromRecoveryPointResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (RestoreFromRecoveryPointResponse
-> RestoreFromRecoveryPointResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RestoreFromRecoveryPointResponse
-> RestoreFromRecoveryPointResponse -> Bool
$c/= :: RestoreFromRecoveryPointResponse
-> RestoreFromRecoveryPointResponse -> Bool
== :: RestoreFromRecoveryPointResponse
-> RestoreFromRecoveryPointResponse -> Bool
$c== :: RestoreFromRecoveryPointResponse
-> RestoreFromRecoveryPointResponse -> Bool
Prelude.Eq, Int -> RestoreFromRecoveryPointResponse -> ShowS
[RestoreFromRecoveryPointResponse] -> ShowS
RestoreFromRecoveryPointResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RestoreFromRecoveryPointResponse] -> ShowS
$cshowList :: [RestoreFromRecoveryPointResponse] -> ShowS
show :: RestoreFromRecoveryPointResponse -> String
$cshow :: RestoreFromRecoveryPointResponse -> String
showsPrec :: Int -> RestoreFromRecoveryPointResponse -> ShowS
$cshowsPrec :: Int -> RestoreFromRecoveryPointResponse -> ShowS
Prelude.Show, forall x.
Rep RestoreFromRecoveryPointResponse x
-> RestoreFromRecoveryPointResponse
forall x.
RestoreFromRecoveryPointResponse
-> Rep RestoreFromRecoveryPointResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep RestoreFromRecoveryPointResponse x
-> RestoreFromRecoveryPointResponse
$cfrom :: forall x.
RestoreFromRecoveryPointResponse
-> Rep RestoreFromRecoveryPointResponse x
Prelude.Generic)

-- |
-- Create a value of 'RestoreFromRecoveryPointResponse' 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:
--
-- 'namespace', 'restoreFromRecoveryPointResponse_namespace' - The namespace that data was restored into.
--
-- 'recoveryPointId', 'restoreFromRecoveryPointResponse_recoveryPointId' - The unique identifier of the recovery point used for the restore.
--
-- 'httpStatus', 'restoreFromRecoveryPointResponse_httpStatus' - The response's http status code.
newRestoreFromRecoveryPointResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  RestoreFromRecoveryPointResponse
newRestoreFromRecoveryPointResponse :: Int -> RestoreFromRecoveryPointResponse
newRestoreFromRecoveryPointResponse Int
pHttpStatus_ =
  RestoreFromRecoveryPointResponse'
    { $sel:namespace:RestoreFromRecoveryPointResponse' :: Maybe Namespace
namespace =
        forall a. Maybe a
Prelude.Nothing,
      $sel:recoveryPointId:RestoreFromRecoveryPointResponse' :: Maybe Text
recoveryPointId = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:RestoreFromRecoveryPointResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The namespace that data was restored into.
restoreFromRecoveryPointResponse_namespace :: Lens.Lens' RestoreFromRecoveryPointResponse (Prelude.Maybe Namespace)
restoreFromRecoveryPointResponse_namespace :: Lens' RestoreFromRecoveryPointResponse (Maybe Namespace)
restoreFromRecoveryPointResponse_namespace = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RestoreFromRecoveryPointResponse' {Maybe Namespace
namespace :: Maybe Namespace
$sel:namespace:RestoreFromRecoveryPointResponse' :: RestoreFromRecoveryPointResponse -> Maybe Namespace
namespace} -> Maybe Namespace
namespace) (\s :: RestoreFromRecoveryPointResponse
s@RestoreFromRecoveryPointResponse' {} Maybe Namespace
a -> RestoreFromRecoveryPointResponse
s {$sel:namespace:RestoreFromRecoveryPointResponse' :: Maybe Namespace
namespace = Maybe Namespace
a} :: RestoreFromRecoveryPointResponse)

-- | The unique identifier of the recovery point used for the restore.
restoreFromRecoveryPointResponse_recoveryPointId :: Lens.Lens' RestoreFromRecoveryPointResponse (Prelude.Maybe Prelude.Text)
restoreFromRecoveryPointResponse_recoveryPointId :: Lens' RestoreFromRecoveryPointResponse (Maybe Text)
restoreFromRecoveryPointResponse_recoveryPointId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RestoreFromRecoveryPointResponse' {Maybe Text
recoveryPointId :: Maybe Text
$sel:recoveryPointId:RestoreFromRecoveryPointResponse' :: RestoreFromRecoveryPointResponse -> Maybe Text
recoveryPointId} -> Maybe Text
recoveryPointId) (\s :: RestoreFromRecoveryPointResponse
s@RestoreFromRecoveryPointResponse' {} Maybe Text
a -> RestoreFromRecoveryPointResponse
s {$sel:recoveryPointId:RestoreFromRecoveryPointResponse' :: Maybe Text
recoveryPointId = Maybe Text
a} :: RestoreFromRecoveryPointResponse)

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

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