{-# 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 #-}
module Amazonka.RedshiftServerLess.RestoreFromRecoveryPoint
(
RestoreFromRecoveryPoint (..),
newRestoreFromRecoveryPoint,
restoreFromRecoveryPoint_namespaceName,
restoreFromRecoveryPoint_recoveryPointId,
restoreFromRecoveryPoint_workgroupName,
RestoreFromRecoveryPointResponse (..),
newRestoreFromRecoveryPointResponse,
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
data RestoreFromRecoveryPoint = RestoreFromRecoveryPoint'
{
RestoreFromRecoveryPoint -> Text
namespaceName :: Prelude.Text,
RestoreFromRecoveryPoint -> Text
recoveryPointId :: Prelude.Text,
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)
newRestoreFromRecoveryPoint ::
Prelude.Text ->
Prelude.Text ->
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_
}
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)
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)
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
data RestoreFromRecoveryPointResponse = RestoreFromRecoveryPointResponse'
{
RestoreFromRecoveryPointResponse -> Maybe Namespace
namespace :: Prelude.Maybe Namespace,
RestoreFromRecoveryPointResponse -> Maybe Text
recoveryPointId :: Prelude.Maybe Prelude.Text,
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)
newRestoreFromRecoveryPointResponse ::
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_
}
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)
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)
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