{-# 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.GetRelationalDatabase
(
GetRelationalDatabase (..),
newGetRelationalDatabase,
getRelationalDatabase_relationalDatabaseName,
GetRelationalDatabaseResponse (..),
newGetRelationalDatabaseResponse,
getRelationalDatabaseResponse_relationalDatabase,
getRelationalDatabaseResponse_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 GetRelationalDatabase = GetRelationalDatabase'
{
GetRelationalDatabase -> Text
relationalDatabaseName :: Prelude.Text
}
deriving (GetRelationalDatabase -> GetRelationalDatabase -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetRelationalDatabase -> GetRelationalDatabase -> Bool
$c/= :: GetRelationalDatabase -> GetRelationalDatabase -> Bool
== :: GetRelationalDatabase -> GetRelationalDatabase -> Bool
$c== :: GetRelationalDatabase -> GetRelationalDatabase -> Bool
Prelude.Eq, ReadPrec [GetRelationalDatabase]
ReadPrec GetRelationalDatabase
Int -> ReadS GetRelationalDatabase
ReadS [GetRelationalDatabase]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetRelationalDatabase]
$creadListPrec :: ReadPrec [GetRelationalDatabase]
readPrec :: ReadPrec GetRelationalDatabase
$creadPrec :: ReadPrec GetRelationalDatabase
readList :: ReadS [GetRelationalDatabase]
$creadList :: ReadS [GetRelationalDatabase]
readsPrec :: Int -> ReadS GetRelationalDatabase
$creadsPrec :: Int -> ReadS GetRelationalDatabase
Prelude.Read, Int -> GetRelationalDatabase -> ShowS
[GetRelationalDatabase] -> ShowS
GetRelationalDatabase -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetRelationalDatabase] -> ShowS
$cshowList :: [GetRelationalDatabase] -> ShowS
show :: GetRelationalDatabase -> String
$cshow :: GetRelationalDatabase -> String
showsPrec :: Int -> GetRelationalDatabase -> ShowS
$cshowsPrec :: Int -> GetRelationalDatabase -> ShowS
Prelude.Show, forall x. Rep GetRelationalDatabase x -> GetRelationalDatabase
forall x. GetRelationalDatabase -> Rep GetRelationalDatabase x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetRelationalDatabase x -> GetRelationalDatabase
$cfrom :: forall x. GetRelationalDatabase -> Rep GetRelationalDatabase x
Prelude.Generic)
newGetRelationalDatabase ::
Prelude.Text ->
GetRelationalDatabase
newGetRelationalDatabase :: Text -> GetRelationalDatabase
newGetRelationalDatabase Text
pRelationalDatabaseName_ =
GetRelationalDatabase'
{ $sel:relationalDatabaseName:GetRelationalDatabase' :: Text
relationalDatabaseName =
Text
pRelationalDatabaseName_
}
getRelationalDatabase_relationalDatabaseName :: Lens.Lens' GetRelationalDatabase Prelude.Text
getRelationalDatabase_relationalDatabaseName :: Lens' GetRelationalDatabase Text
getRelationalDatabase_relationalDatabaseName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRelationalDatabase' {Text
relationalDatabaseName :: Text
$sel:relationalDatabaseName:GetRelationalDatabase' :: GetRelationalDatabase -> Text
relationalDatabaseName} -> Text
relationalDatabaseName) (\s :: GetRelationalDatabase
s@GetRelationalDatabase' {} Text
a -> GetRelationalDatabase
s {$sel:relationalDatabaseName:GetRelationalDatabase' :: Text
relationalDatabaseName = Text
a} :: GetRelationalDatabase)
instance Core.AWSRequest GetRelationalDatabase where
type
AWSResponse GetRelationalDatabase =
GetRelationalDatabaseResponse
request :: (Service -> Service)
-> GetRelationalDatabase -> Request GetRelationalDatabase
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 GetRelationalDatabase
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetRelationalDatabase)))
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 RelationalDatabase -> Int -> GetRelationalDatabaseResponse
GetRelationalDatabaseResponse'
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
"relationalDatabase")
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 GetRelationalDatabase where
hashWithSalt :: Int -> GetRelationalDatabase -> Int
hashWithSalt Int
_salt GetRelationalDatabase' {Text
relationalDatabaseName :: Text
$sel:relationalDatabaseName:GetRelationalDatabase' :: GetRelationalDatabase -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
relationalDatabaseName
instance Prelude.NFData GetRelationalDatabase where
rnf :: GetRelationalDatabase -> ()
rnf GetRelationalDatabase' {Text
relationalDatabaseName :: Text
$sel:relationalDatabaseName:GetRelationalDatabase' :: GetRelationalDatabase -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
relationalDatabaseName
instance Data.ToHeaders GetRelationalDatabase where
toHeaders :: GetRelationalDatabase -> 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.GetRelationalDatabase" ::
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 GetRelationalDatabase where
toJSON :: GetRelationalDatabase -> Value
toJSON GetRelationalDatabase' {Text
relationalDatabaseName :: Text
$sel:relationalDatabaseName:GetRelationalDatabase' :: GetRelationalDatabase -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
( Key
"relationalDatabaseName"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
relationalDatabaseName
)
]
)
instance Data.ToPath GetRelationalDatabase where
toPath :: GetRelationalDatabase -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GetRelationalDatabase where
toQuery :: GetRelationalDatabase -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetRelationalDatabaseResponse = GetRelationalDatabaseResponse'
{
GetRelationalDatabaseResponse -> Maybe RelationalDatabase
relationalDatabase :: Prelude.Maybe RelationalDatabase,
GetRelationalDatabaseResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetRelationalDatabaseResponse
-> GetRelationalDatabaseResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetRelationalDatabaseResponse
-> GetRelationalDatabaseResponse -> Bool
$c/= :: GetRelationalDatabaseResponse
-> GetRelationalDatabaseResponse -> Bool
== :: GetRelationalDatabaseResponse
-> GetRelationalDatabaseResponse -> Bool
$c== :: GetRelationalDatabaseResponse
-> GetRelationalDatabaseResponse -> Bool
Prelude.Eq, ReadPrec [GetRelationalDatabaseResponse]
ReadPrec GetRelationalDatabaseResponse
Int -> ReadS GetRelationalDatabaseResponse
ReadS [GetRelationalDatabaseResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetRelationalDatabaseResponse]
$creadListPrec :: ReadPrec [GetRelationalDatabaseResponse]
readPrec :: ReadPrec GetRelationalDatabaseResponse
$creadPrec :: ReadPrec GetRelationalDatabaseResponse
readList :: ReadS [GetRelationalDatabaseResponse]
$creadList :: ReadS [GetRelationalDatabaseResponse]
readsPrec :: Int -> ReadS GetRelationalDatabaseResponse
$creadsPrec :: Int -> ReadS GetRelationalDatabaseResponse
Prelude.Read, Int -> GetRelationalDatabaseResponse -> ShowS
[GetRelationalDatabaseResponse] -> ShowS
GetRelationalDatabaseResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetRelationalDatabaseResponse] -> ShowS
$cshowList :: [GetRelationalDatabaseResponse] -> ShowS
show :: GetRelationalDatabaseResponse -> String
$cshow :: GetRelationalDatabaseResponse -> String
showsPrec :: Int -> GetRelationalDatabaseResponse -> ShowS
$cshowsPrec :: Int -> GetRelationalDatabaseResponse -> ShowS
Prelude.Show, forall x.
Rep GetRelationalDatabaseResponse x
-> GetRelationalDatabaseResponse
forall x.
GetRelationalDatabaseResponse
-> Rep GetRelationalDatabaseResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetRelationalDatabaseResponse x
-> GetRelationalDatabaseResponse
$cfrom :: forall x.
GetRelationalDatabaseResponse
-> Rep GetRelationalDatabaseResponse x
Prelude.Generic)
newGetRelationalDatabaseResponse ::
Prelude.Int ->
GetRelationalDatabaseResponse
newGetRelationalDatabaseResponse :: Int -> GetRelationalDatabaseResponse
newGetRelationalDatabaseResponse Int
pHttpStatus_ =
GetRelationalDatabaseResponse'
{ $sel:relationalDatabase:GetRelationalDatabaseResponse' :: Maybe RelationalDatabase
relationalDatabase =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetRelationalDatabaseResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getRelationalDatabaseResponse_relationalDatabase :: Lens.Lens' GetRelationalDatabaseResponse (Prelude.Maybe RelationalDatabase)
getRelationalDatabaseResponse_relationalDatabase :: Lens' GetRelationalDatabaseResponse (Maybe RelationalDatabase)
getRelationalDatabaseResponse_relationalDatabase = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRelationalDatabaseResponse' {Maybe RelationalDatabase
relationalDatabase :: Maybe RelationalDatabase
$sel:relationalDatabase:GetRelationalDatabaseResponse' :: GetRelationalDatabaseResponse -> Maybe RelationalDatabase
relationalDatabase} -> Maybe RelationalDatabase
relationalDatabase) (\s :: GetRelationalDatabaseResponse
s@GetRelationalDatabaseResponse' {} Maybe RelationalDatabase
a -> GetRelationalDatabaseResponse
s {$sel:relationalDatabase:GetRelationalDatabaseResponse' :: Maybe RelationalDatabase
relationalDatabase = Maybe RelationalDatabase
a} :: GetRelationalDatabaseResponse)
getRelationalDatabaseResponse_httpStatus :: Lens.Lens' GetRelationalDatabaseResponse Prelude.Int
getRelationalDatabaseResponse_httpStatus :: Lens' GetRelationalDatabaseResponse Int
getRelationalDatabaseResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRelationalDatabaseResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetRelationalDatabaseResponse' :: GetRelationalDatabaseResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetRelationalDatabaseResponse
s@GetRelationalDatabaseResponse' {} Int
a -> GetRelationalDatabaseResponse
s {$sel:httpStatus:GetRelationalDatabaseResponse' :: Int
httpStatus = Int
a} :: GetRelationalDatabaseResponse)
instance Prelude.NFData GetRelationalDatabaseResponse where
rnf :: GetRelationalDatabaseResponse -> ()
rnf GetRelationalDatabaseResponse' {Int
Maybe RelationalDatabase
httpStatus :: Int
relationalDatabase :: Maybe RelationalDatabase
$sel:httpStatus:GetRelationalDatabaseResponse' :: GetRelationalDatabaseResponse -> Int
$sel:relationalDatabase:GetRelationalDatabaseResponse' :: GetRelationalDatabaseResponse -> Maybe RelationalDatabase
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe RelationalDatabase
relationalDatabase
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus