{-# 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.Lightsail.GetRelationalDatabaseSnapshot
(
GetRelationalDatabaseSnapshot (..),
newGetRelationalDatabaseSnapshot,
getRelationalDatabaseSnapshot_relationalDatabaseSnapshotName,
GetRelationalDatabaseSnapshotResponse (..),
newGetRelationalDatabaseSnapshotResponse,
getRelationalDatabaseSnapshotResponse_relationalDatabaseSnapshot,
getRelationalDatabaseSnapshotResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Lightsail.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetRelationalDatabaseSnapshot = GetRelationalDatabaseSnapshot'
{
GetRelationalDatabaseSnapshot -> Text
relationalDatabaseSnapshotName :: Prelude.Text
}
deriving (GetRelationalDatabaseSnapshot
-> GetRelationalDatabaseSnapshot -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetRelationalDatabaseSnapshot
-> GetRelationalDatabaseSnapshot -> Bool
$c/= :: GetRelationalDatabaseSnapshot
-> GetRelationalDatabaseSnapshot -> Bool
== :: GetRelationalDatabaseSnapshot
-> GetRelationalDatabaseSnapshot -> Bool
$c== :: GetRelationalDatabaseSnapshot
-> GetRelationalDatabaseSnapshot -> Bool
Prelude.Eq, ReadPrec [GetRelationalDatabaseSnapshot]
ReadPrec GetRelationalDatabaseSnapshot
Int -> ReadS GetRelationalDatabaseSnapshot
ReadS [GetRelationalDatabaseSnapshot]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetRelationalDatabaseSnapshot]
$creadListPrec :: ReadPrec [GetRelationalDatabaseSnapshot]
readPrec :: ReadPrec GetRelationalDatabaseSnapshot
$creadPrec :: ReadPrec GetRelationalDatabaseSnapshot
readList :: ReadS [GetRelationalDatabaseSnapshot]
$creadList :: ReadS [GetRelationalDatabaseSnapshot]
readsPrec :: Int -> ReadS GetRelationalDatabaseSnapshot
$creadsPrec :: Int -> ReadS GetRelationalDatabaseSnapshot
Prelude.Read, Int -> GetRelationalDatabaseSnapshot -> ShowS
[GetRelationalDatabaseSnapshot] -> ShowS
GetRelationalDatabaseSnapshot -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetRelationalDatabaseSnapshot] -> ShowS
$cshowList :: [GetRelationalDatabaseSnapshot] -> ShowS
show :: GetRelationalDatabaseSnapshot -> String
$cshow :: GetRelationalDatabaseSnapshot -> String
showsPrec :: Int -> GetRelationalDatabaseSnapshot -> ShowS
$cshowsPrec :: Int -> GetRelationalDatabaseSnapshot -> ShowS
Prelude.Show, forall x.
Rep GetRelationalDatabaseSnapshot x
-> GetRelationalDatabaseSnapshot
forall x.
GetRelationalDatabaseSnapshot
-> Rep GetRelationalDatabaseSnapshot x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetRelationalDatabaseSnapshot x
-> GetRelationalDatabaseSnapshot
$cfrom :: forall x.
GetRelationalDatabaseSnapshot
-> Rep GetRelationalDatabaseSnapshot x
Prelude.Generic)
newGetRelationalDatabaseSnapshot ::
Prelude.Text ->
GetRelationalDatabaseSnapshot
newGetRelationalDatabaseSnapshot :: Text -> GetRelationalDatabaseSnapshot
newGetRelationalDatabaseSnapshot
Text
pRelationalDatabaseSnapshotName_ =
GetRelationalDatabaseSnapshot'
{ $sel:relationalDatabaseSnapshotName:GetRelationalDatabaseSnapshot' :: Text
relationalDatabaseSnapshotName =
Text
pRelationalDatabaseSnapshotName_
}
getRelationalDatabaseSnapshot_relationalDatabaseSnapshotName :: Lens.Lens' GetRelationalDatabaseSnapshot Prelude.Text
getRelationalDatabaseSnapshot_relationalDatabaseSnapshotName :: Lens' GetRelationalDatabaseSnapshot Text
getRelationalDatabaseSnapshot_relationalDatabaseSnapshotName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRelationalDatabaseSnapshot' {Text
relationalDatabaseSnapshotName :: Text
$sel:relationalDatabaseSnapshotName:GetRelationalDatabaseSnapshot' :: GetRelationalDatabaseSnapshot -> Text
relationalDatabaseSnapshotName} -> Text
relationalDatabaseSnapshotName) (\s :: GetRelationalDatabaseSnapshot
s@GetRelationalDatabaseSnapshot' {} Text
a -> GetRelationalDatabaseSnapshot
s {$sel:relationalDatabaseSnapshotName:GetRelationalDatabaseSnapshot' :: Text
relationalDatabaseSnapshotName = Text
a} :: GetRelationalDatabaseSnapshot)
instance
Core.AWSRequest
GetRelationalDatabaseSnapshot
where
type
AWSResponse GetRelationalDatabaseSnapshot =
GetRelationalDatabaseSnapshotResponse
request :: (Service -> Service)
-> GetRelationalDatabaseSnapshot
-> Request GetRelationalDatabaseSnapshot
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 GetRelationalDatabaseSnapshot
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetRelationalDatabaseSnapshot)))
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 RelationalDatabaseSnapshot
-> Int -> GetRelationalDatabaseSnapshotResponse
GetRelationalDatabaseSnapshotResponse'
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
"relationalDatabaseSnapshot")
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
GetRelationalDatabaseSnapshot
where
hashWithSalt :: Int -> GetRelationalDatabaseSnapshot -> Int
hashWithSalt Int
_salt GetRelationalDatabaseSnapshot' {Text
relationalDatabaseSnapshotName :: Text
$sel:relationalDatabaseSnapshotName:GetRelationalDatabaseSnapshot' :: GetRelationalDatabaseSnapshot -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
relationalDatabaseSnapshotName
instance Prelude.NFData GetRelationalDatabaseSnapshot where
rnf :: GetRelationalDatabaseSnapshot -> ()
rnf GetRelationalDatabaseSnapshot' {Text
relationalDatabaseSnapshotName :: Text
$sel:relationalDatabaseSnapshotName:GetRelationalDatabaseSnapshot' :: GetRelationalDatabaseSnapshot -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
relationalDatabaseSnapshotName
instance Data.ToHeaders GetRelationalDatabaseSnapshot where
toHeaders :: GetRelationalDatabaseSnapshot -> 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
"Lightsail_20161128.GetRelationalDatabaseSnapshot" ::
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 GetRelationalDatabaseSnapshot where
toJSON :: GetRelationalDatabaseSnapshot -> Value
toJSON GetRelationalDatabaseSnapshot' {Text
relationalDatabaseSnapshotName :: Text
$sel:relationalDatabaseSnapshotName:GetRelationalDatabaseSnapshot' :: GetRelationalDatabaseSnapshot -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
( Key
"relationalDatabaseSnapshotName"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
relationalDatabaseSnapshotName
)
]
)
instance Data.ToPath GetRelationalDatabaseSnapshot where
toPath :: GetRelationalDatabaseSnapshot -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GetRelationalDatabaseSnapshot where
toQuery :: GetRelationalDatabaseSnapshot -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetRelationalDatabaseSnapshotResponse = GetRelationalDatabaseSnapshotResponse'
{
GetRelationalDatabaseSnapshotResponse
-> Maybe RelationalDatabaseSnapshot
relationalDatabaseSnapshot :: Prelude.Maybe RelationalDatabaseSnapshot,
GetRelationalDatabaseSnapshotResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetRelationalDatabaseSnapshotResponse
-> GetRelationalDatabaseSnapshotResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetRelationalDatabaseSnapshotResponse
-> GetRelationalDatabaseSnapshotResponse -> Bool
$c/= :: GetRelationalDatabaseSnapshotResponse
-> GetRelationalDatabaseSnapshotResponse -> Bool
== :: GetRelationalDatabaseSnapshotResponse
-> GetRelationalDatabaseSnapshotResponse -> Bool
$c== :: GetRelationalDatabaseSnapshotResponse
-> GetRelationalDatabaseSnapshotResponse -> Bool
Prelude.Eq, ReadPrec [GetRelationalDatabaseSnapshotResponse]
ReadPrec GetRelationalDatabaseSnapshotResponse
Int -> ReadS GetRelationalDatabaseSnapshotResponse
ReadS [GetRelationalDatabaseSnapshotResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetRelationalDatabaseSnapshotResponse]
$creadListPrec :: ReadPrec [GetRelationalDatabaseSnapshotResponse]
readPrec :: ReadPrec GetRelationalDatabaseSnapshotResponse
$creadPrec :: ReadPrec GetRelationalDatabaseSnapshotResponse
readList :: ReadS [GetRelationalDatabaseSnapshotResponse]
$creadList :: ReadS [GetRelationalDatabaseSnapshotResponse]
readsPrec :: Int -> ReadS GetRelationalDatabaseSnapshotResponse
$creadsPrec :: Int -> ReadS GetRelationalDatabaseSnapshotResponse
Prelude.Read, Int -> GetRelationalDatabaseSnapshotResponse -> ShowS
[GetRelationalDatabaseSnapshotResponse] -> ShowS
GetRelationalDatabaseSnapshotResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetRelationalDatabaseSnapshotResponse] -> ShowS
$cshowList :: [GetRelationalDatabaseSnapshotResponse] -> ShowS
show :: GetRelationalDatabaseSnapshotResponse -> String
$cshow :: GetRelationalDatabaseSnapshotResponse -> String
showsPrec :: Int -> GetRelationalDatabaseSnapshotResponse -> ShowS
$cshowsPrec :: Int -> GetRelationalDatabaseSnapshotResponse -> ShowS
Prelude.Show, forall x.
Rep GetRelationalDatabaseSnapshotResponse x
-> GetRelationalDatabaseSnapshotResponse
forall x.
GetRelationalDatabaseSnapshotResponse
-> Rep GetRelationalDatabaseSnapshotResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetRelationalDatabaseSnapshotResponse x
-> GetRelationalDatabaseSnapshotResponse
$cfrom :: forall x.
GetRelationalDatabaseSnapshotResponse
-> Rep GetRelationalDatabaseSnapshotResponse x
Prelude.Generic)
newGetRelationalDatabaseSnapshotResponse ::
Prelude.Int ->
GetRelationalDatabaseSnapshotResponse
newGetRelationalDatabaseSnapshotResponse :: Int -> GetRelationalDatabaseSnapshotResponse
newGetRelationalDatabaseSnapshotResponse Int
pHttpStatus_ =
GetRelationalDatabaseSnapshotResponse'
{ $sel:relationalDatabaseSnapshot:GetRelationalDatabaseSnapshotResponse' :: Maybe RelationalDatabaseSnapshot
relationalDatabaseSnapshot =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetRelationalDatabaseSnapshotResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getRelationalDatabaseSnapshotResponse_relationalDatabaseSnapshot :: Lens.Lens' GetRelationalDatabaseSnapshotResponse (Prelude.Maybe RelationalDatabaseSnapshot)
getRelationalDatabaseSnapshotResponse_relationalDatabaseSnapshot :: Lens'
GetRelationalDatabaseSnapshotResponse
(Maybe RelationalDatabaseSnapshot)
getRelationalDatabaseSnapshotResponse_relationalDatabaseSnapshot = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRelationalDatabaseSnapshotResponse' {Maybe RelationalDatabaseSnapshot
relationalDatabaseSnapshot :: Maybe RelationalDatabaseSnapshot
$sel:relationalDatabaseSnapshot:GetRelationalDatabaseSnapshotResponse' :: GetRelationalDatabaseSnapshotResponse
-> Maybe RelationalDatabaseSnapshot
relationalDatabaseSnapshot} -> Maybe RelationalDatabaseSnapshot
relationalDatabaseSnapshot) (\s :: GetRelationalDatabaseSnapshotResponse
s@GetRelationalDatabaseSnapshotResponse' {} Maybe RelationalDatabaseSnapshot
a -> GetRelationalDatabaseSnapshotResponse
s {$sel:relationalDatabaseSnapshot:GetRelationalDatabaseSnapshotResponse' :: Maybe RelationalDatabaseSnapshot
relationalDatabaseSnapshot = Maybe RelationalDatabaseSnapshot
a} :: GetRelationalDatabaseSnapshotResponse)
getRelationalDatabaseSnapshotResponse_httpStatus :: Lens.Lens' GetRelationalDatabaseSnapshotResponse Prelude.Int
getRelationalDatabaseSnapshotResponse_httpStatus :: Lens' GetRelationalDatabaseSnapshotResponse Int
getRelationalDatabaseSnapshotResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRelationalDatabaseSnapshotResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetRelationalDatabaseSnapshotResponse' :: GetRelationalDatabaseSnapshotResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetRelationalDatabaseSnapshotResponse
s@GetRelationalDatabaseSnapshotResponse' {} Int
a -> GetRelationalDatabaseSnapshotResponse
s {$sel:httpStatus:GetRelationalDatabaseSnapshotResponse' :: Int
httpStatus = Int
a} :: GetRelationalDatabaseSnapshotResponse)
instance
Prelude.NFData
GetRelationalDatabaseSnapshotResponse
where
rnf :: GetRelationalDatabaseSnapshotResponse -> ()
rnf GetRelationalDatabaseSnapshotResponse' {Int
Maybe RelationalDatabaseSnapshot
httpStatus :: Int
relationalDatabaseSnapshot :: Maybe RelationalDatabaseSnapshot
$sel:httpStatus:GetRelationalDatabaseSnapshotResponse' :: GetRelationalDatabaseSnapshotResponse -> Int
$sel:relationalDatabaseSnapshot:GetRelationalDatabaseSnapshotResponse' :: GetRelationalDatabaseSnapshotResponse
-> Maybe RelationalDatabaseSnapshot
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe RelationalDatabaseSnapshot
relationalDatabaseSnapshot
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus