{-# 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.DynamoDB.UpdateContinuousBackups
(
UpdateContinuousBackups (..),
newUpdateContinuousBackups,
updateContinuousBackups_tableName,
updateContinuousBackups_pointInTimeRecoverySpecification,
UpdateContinuousBackupsResponse (..),
newUpdateContinuousBackupsResponse,
updateContinuousBackupsResponse_continuousBackupsDescription,
updateContinuousBackupsResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import Amazonka.DynamoDB.Types
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data UpdateContinuousBackups = UpdateContinuousBackups'
{
UpdateContinuousBackups -> Text
tableName :: Prelude.Text,
UpdateContinuousBackups -> PointInTimeRecoverySpecification
pointInTimeRecoverySpecification :: PointInTimeRecoverySpecification
}
deriving (UpdateContinuousBackups -> UpdateContinuousBackups -> Bool
(UpdateContinuousBackups -> UpdateContinuousBackups -> Bool)
-> (UpdateContinuousBackups -> UpdateContinuousBackups -> Bool)
-> Eq UpdateContinuousBackups
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateContinuousBackups -> UpdateContinuousBackups -> Bool
$c/= :: UpdateContinuousBackups -> UpdateContinuousBackups -> Bool
== :: UpdateContinuousBackups -> UpdateContinuousBackups -> Bool
$c== :: UpdateContinuousBackups -> UpdateContinuousBackups -> Bool
Prelude.Eq, ReadPrec [UpdateContinuousBackups]
ReadPrec UpdateContinuousBackups
Int -> ReadS UpdateContinuousBackups
ReadS [UpdateContinuousBackups]
(Int -> ReadS UpdateContinuousBackups)
-> ReadS [UpdateContinuousBackups]
-> ReadPrec UpdateContinuousBackups
-> ReadPrec [UpdateContinuousBackups]
-> Read UpdateContinuousBackups
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateContinuousBackups]
$creadListPrec :: ReadPrec [UpdateContinuousBackups]
readPrec :: ReadPrec UpdateContinuousBackups
$creadPrec :: ReadPrec UpdateContinuousBackups
readList :: ReadS [UpdateContinuousBackups]
$creadList :: ReadS [UpdateContinuousBackups]
readsPrec :: Int -> ReadS UpdateContinuousBackups
$creadsPrec :: Int -> ReadS UpdateContinuousBackups
Prelude.Read, Int -> UpdateContinuousBackups -> ShowS
[UpdateContinuousBackups] -> ShowS
UpdateContinuousBackups -> String
(Int -> UpdateContinuousBackups -> ShowS)
-> (UpdateContinuousBackups -> String)
-> ([UpdateContinuousBackups] -> ShowS)
-> Show UpdateContinuousBackups
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateContinuousBackups] -> ShowS
$cshowList :: [UpdateContinuousBackups] -> ShowS
show :: UpdateContinuousBackups -> String
$cshow :: UpdateContinuousBackups -> String
showsPrec :: Int -> UpdateContinuousBackups -> ShowS
$cshowsPrec :: Int -> UpdateContinuousBackups -> ShowS
Prelude.Show, (forall x.
UpdateContinuousBackups -> Rep UpdateContinuousBackups x)
-> (forall x.
Rep UpdateContinuousBackups x -> UpdateContinuousBackups)
-> Generic UpdateContinuousBackups
forall x. Rep UpdateContinuousBackups x -> UpdateContinuousBackups
forall x. UpdateContinuousBackups -> Rep UpdateContinuousBackups x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateContinuousBackups x -> UpdateContinuousBackups
$cfrom :: forall x. UpdateContinuousBackups -> Rep UpdateContinuousBackups x
Prelude.Generic)
newUpdateContinuousBackups ::
Prelude.Text ->
PointInTimeRecoverySpecification ->
UpdateContinuousBackups
newUpdateContinuousBackups :: Text -> PointInTimeRecoverySpecification -> UpdateContinuousBackups
newUpdateContinuousBackups
Text
pTableName_
PointInTimeRecoverySpecification
pPointInTimeRecoverySpecification_ =
UpdateContinuousBackups' :: Text -> PointInTimeRecoverySpecification -> UpdateContinuousBackups
UpdateContinuousBackups'
{ $sel:tableName:UpdateContinuousBackups' :: Text
tableName = Text
pTableName_,
$sel:pointInTimeRecoverySpecification:UpdateContinuousBackups' :: PointInTimeRecoverySpecification
pointInTimeRecoverySpecification =
PointInTimeRecoverySpecification
pPointInTimeRecoverySpecification_
}
updateContinuousBackups_tableName :: Lens.Lens' UpdateContinuousBackups Prelude.Text
updateContinuousBackups_tableName :: (Text -> f Text)
-> UpdateContinuousBackups -> f UpdateContinuousBackups
updateContinuousBackups_tableName = (UpdateContinuousBackups -> Text)
-> (UpdateContinuousBackups -> Text -> UpdateContinuousBackups)
-> Lens UpdateContinuousBackups UpdateContinuousBackups Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateContinuousBackups' {Text
tableName :: Text
$sel:tableName:UpdateContinuousBackups' :: UpdateContinuousBackups -> Text
tableName} -> Text
tableName) (\s :: UpdateContinuousBackups
s@UpdateContinuousBackups' {} Text
a -> UpdateContinuousBackups
s {$sel:tableName:UpdateContinuousBackups' :: Text
tableName = Text
a} :: UpdateContinuousBackups)
updateContinuousBackups_pointInTimeRecoverySpecification :: Lens.Lens' UpdateContinuousBackups PointInTimeRecoverySpecification
updateContinuousBackups_pointInTimeRecoverySpecification :: (PointInTimeRecoverySpecification
-> f PointInTimeRecoverySpecification)
-> UpdateContinuousBackups -> f UpdateContinuousBackups
updateContinuousBackups_pointInTimeRecoverySpecification = (UpdateContinuousBackups -> PointInTimeRecoverySpecification)
-> (UpdateContinuousBackups
-> PointInTimeRecoverySpecification -> UpdateContinuousBackups)
-> Lens
UpdateContinuousBackups
UpdateContinuousBackups
PointInTimeRecoverySpecification
PointInTimeRecoverySpecification
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateContinuousBackups' {PointInTimeRecoverySpecification
pointInTimeRecoverySpecification :: PointInTimeRecoverySpecification
$sel:pointInTimeRecoverySpecification:UpdateContinuousBackups' :: UpdateContinuousBackups -> PointInTimeRecoverySpecification
pointInTimeRecoverySpecification} -> PointInTimeRecoverySpecification
pointInTimeRecoverySpecification) (\s :: UpdateContinuousBackups
s@UpdateContinuousBackups' {} PointInTimeRecoverySpecification
a -> UpdateContinuousBackups
s {$sel:pointInTimeRecoverySpecification:UpdateContinuousBackups' :: PointInTimeRecoverySpecification
pointInTimeRecoverySpecification = PointInTimeRecoverySpecification
a} :: UpdateContinuousBackups)
instance Core.AWSRequest UpdateContinuousBackups where
type
AWSResponse UpdateContinuousBackups =
UpdateContinuousBackupsResponse
request :: UpdateContinuousBackups -> Request UpdateContinuousBackups
request = Service
-> UpdateContinuousBackups -> Request UpdateContinuousBackups
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
response :: Logger
-> Service
-> Proxy UpdateContinuousBackups
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateContinuousBackups)))
response =
(Int
-> ResponseHeaders
-> Object
-> Either String (AWSResponse UpdateContinuousBackups))
-> Logger
-> Service
-> Proxy UpdateContinuousBackups
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateContinuousBackups)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe ContinuousBackupsDescription
-> Int -> UpdateContinuousBackupsResponse
UpdateContinuousBackupsResponse'
(Maybe ContinuousBackupsDescription
-> Int -> UpdateContinuousBackupsResponse)
-> Either String (Maybe ContinuousBackupsDescription)
-> Either String (Int -> UpdateContinuousBackupsResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object
-> Text -> Either String (Maybe ContinuousBackupsDescription)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ContinuousBackupsDescription")
Either String (Int -> UpdateContinuousBackupsResponse)
-> Either String Int
-> Either String UpdateContinuousBackupsResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable UpdateContinuousBackups
instance Prelude.NFData UpdateContinuousBackups
instance Core.ToHeaders UpdateContinuousBackups where
toHeaders :: UpdateContinuousBackups -> ResponseHeaders
toHeaders =
ResponseHeaders -> UpdateContinuousBackups -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const
( [ResponseHeaders] -> ResponseHeaders
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"DynamoDB_20120810.UpdateContinuousBackups" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"application/x-amz-json-1.0" ::
Prelude.ByteString
)
]
)
instance Core.ToJSON UpdateContinuousBackups where
toJSON :: UpdateContinuousBackups -> Value
toJSON UpdateContinuousBackups' {Text
PointInTimeRecoverySpecification
pointInTimeRecoverySpecification :: PointInTimeRecoverySpecification
tableName :: Text
$sel:pointInTimeRecoverySpecification:UpdateContinuousBackups' :: UpdateContinuousBackups -> PointInTimeRecoverySpecification
$sel:tableName:UpdateContinuousBackups' :: UpdateContinuousBackups -> Text
..} =
[Pair] -> Value
Core.object
( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just (Text
"TableName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
tableName),
Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just
( Text
"PointInTimeRecoverySpecification"
Text -> PointInTimeRecoverySpecification -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= PointInTimeRecoverySpecification
pointInTimeRecoverySpecification
)
]
)
instance Core.ToPath UpdateContinuousBackups where
toPath :: UpdateContinuousBackups -> ByteString
toPath = ByteString -> UpdateContinuousBackups -> ByteString
forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Core.ToQuery UpdateContinuousBackups where
toQuery :: UpdateContinuousBackups -> QueryString
toQuery = QueryString -> UpdateContinuousBackups -> QueryString
forall a b. a -> b -> a
Prelude.const QueryString
forall a. Monoid a => a
Prelude.mempty
data UpdateContinuousBackupsResponse = UpdateContinuousBackupsResponse'
{
UpdateContinuousBackupsResponse
-> Maybe ContinuousBackupsDescription
continuousBackupsDescription :: Prelude.Maybe ContinuousBackupsDescription,
UpdateContinuousBackupsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateContinuousBackupsResponse
-> UpdateContinuousBackupsResponse -> Bool
(UpdateContinuousBackupsResponse
-> UpdateContinuousBackupsResponse -> Bool)
-> (UpdateContinuousBackupsResponse
-> UpdateContinuousBackupsResponse -> Bool)
-> Eq UpdateContinuousBackupsResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateContinuousBackupsResponse
-> UpdateContinuousBackupsResponse -> Bool
$c/= :: UpdateContinuousBackupsResponse
-> UpdateContinuousBackupsResponse -> Bool
== :: UpdateContinuousBackupsResponse
-> UpdateContinuousBackupsResponse -> Bool
$c== :: UpdateContinuousBackupsResponse
-> UpdateContinuousBackupsResponse -> Bool
Prelude.Eq, ReadPrec [UpdateContinuousBackupsResponse]
ReadPrec UpdateContinuousBackupsResponse
Int -> ReadS UpdateContinuousBackupsResponse
ReadS [UpdateContinuousBackupsResponse]
(Int -> ReadS UpdateContinuousBackupsResponse)
-> ReadS [UpdateContinuousBackupsResponse]
-> ReadPrec UpdateContinuousBackupsResponse
-> ReadPrec [UpdateContinuousBackupsResponse]
-> Read UpdateContinuousBackupsResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateContinuousBackupsResponse]
$creadListPrec :: ReadPrec [UpdateContinuousBackupsResponse]
readPrec :: ReadPrec UpdateContinuousBackupsResponse
$creadPrec :: ReadPrec UpdateContinuousBackupsResponse
readList :: ReadS [UpdateContinuousBackupsResponse]
$creadList :: ReadS [UpdateContinuousBackupsResponse]
readsPrec :: Int -> ReadS UpdateContinuousBackupsResponse
$creadsPrec :: Int -> ReadS UpdateContinuousBackupsResponse
Prelude.Read, Int -> UpdateContinuousBackupsResponse -> ShowS
[UpdateContinuousBackupsResponse] -> ShowS
UpdateContinuousBackupsResponse -> String
(Int -> UpdateContinuousBackupsResponse -> ShowS)
-> (UpdateContinuousBackupsResponse -> String)
-> ([UpdateContinuousBackupsResponse] -> ShowS)
-> Show UpdateContinuousBackupsResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateContinuousBackupsResponse] -> ShowS
$cshowList :: [UpdateContinuousBackupsResponse] -> ShowS
show :: UpdateContinuousBackupsResponse -> String
$cshow :: UpdateContinuousBackupsResponse -> String
showsPrec :: Int -> UpdateContinuousBackupsResponse -> ShowS
$cshowsPrec :: Int -> UpdateContinuousBackupsResponse -> ShowS
Prelude.Show, (forall x.
UpdateContinuousBackupsResponse
-> Rep UpdateContinuousBackupsResponse x)
-> (forall x.
Rep UpdateContinuousBackupsResponse x
-> UpdateContinuousBackupsResponse)
-> Generic UpdateContinuousBackupsResponse
forall x.
Rep UpdateContinuousBackupsResponse x
-> UpdateContinuousBackupsResponse
forall x.
UpdateContinuousBackupsResponse
-> Rep UpdateContinuousBackupsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateContinuousBackupsResponse x
-> UpdateContinuousBackupsResponse
$cfrom :: forall x.
UpdateContinuousBackupsResponse
-> Rep UpdateContinuousBackupsResponse x
Prelude.Generic)
newUpdateContinuousBackupsResponse ::
Prelude.Int ->
UpdateContinuousBackupsResponse
newUpdateContinuousBackupsResponse :: Int -> UpdateContinuousBackupsResponse
newUpdateContinuousBackupsResponse Int
pHttpStatus_ =
UpdateContinuousBackupsResponse' :: Maybe ContinuousBackupsDescription
-> Int -> UpdateContinuousBackupsResponse
UpdateContinuousBackupsResponse'
{ $sel:continuousBackupsDescription:UpdateContinuousBackupsResponse' :: Maybe ContinuousBackupsDescription
continuousBackupsDescription =
Maybe ContinuousBackupsDescription
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateContinuousBackupsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateContinuousBackupsResponse_continuousBackupsDescription :: Lens.Lens' UpdateContinuousBackupsResponse (Prelude.Maybe ContinuousBackupsDescription)
updateContinuousBackupsResponse_continuousBackupsDescription :: (Maybe ContinuousBackupsDescription
-> f (Maybe ContinuousBackupsDescription))
-> UpdateContinuousBackupsResponse
-> f UpdateContinuousBackupsResponse
updateContinuousBackupsResponse_continuousBackupsDescription = (UpdateContinuousBackupsResponse
-> Maybe ContinuousBackupsDescription)
-> (UpdateContinuousBackupsResponse
-> Maybe ContinuousBackupsDescription
-> UpdateContinuousBackupsResponse)
-> Lens
UpdateContinuousBackupsResponse
UpdateContinuousBackupsResponse
(Maybe ContinuousBackupsDescription)
(Maybe ContinuousBackupsDescription)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateContinuousBackupsResponse' {Maybe ContinuousBackupsDescription
continuousBackupsDescription :: Maybe ContinuousBackupsDescription
$sel:continuousBackupsDescription:UpdateContinuousBackupsResponse' :: UpdateContinuousBackupsResponse
-> Maybe ContinuousBackupsDescription
continuousBackupsDescription} -> Maybe ContinuousBackupsDescription
continuousBackupsDescription) (\s :: UpdateContinuousBackupsResponse
s@UpdateContinuousBackupsResponse' {} Maybe ContinuousBackupsDescription
a -> UpdateContinuousBackupsResponse
s {$sel:continuousBackupsDescription:UpdateContinuousBackupsResponse' :: Maybe ContinuousBackupsDescription
continuousBackupsDescription = Maybe ContinuousBackupsDescription
a} :: UpdateContinuousBackupsResponse)
updateContinuousBackupsResponse_httpStatus :: Lens.Lens' UpdateContinuousBackupsResponse Prelude.Int
updateContinuousBackupsResponse_httpStatus :: (Int -> f Int)
-> UpdateContinuousBackupsResponse
-> f UpdateContinuousBackupsResponse
updateContinuousBackupsResponse_httpStatus = (UpdateContinuousBackupsResponse -> Int)
-> (UpdateContinuousBackupsResponse
-> Int -> UpdateContinuousBackupsResponse)
-> Lens
UpdateContinuousBackupsResponse
UpdateContinuousBackupsResponse
Int
Int
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateContinuousBackupsResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateContinuousBackupsResponse' :: UpdateContinuousBackupsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateContinuousBackupsResponse
s@UpdateContinuousBackupsResponse' {} Int
a -> UpdateContinuousBackupsResponse
s {$sel:httpStatus:UpdateContinuousBackupsResponse' :: Int
httpStatus = Int
a} :: UpdateContinuousBackupsResponse)
instance
Prelude.NFData
UpdateContinuousBackupsResponse