{-# 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.DeleteRelationalDatabase
(
DeleteRelationalDatabase (..),
newDeleteRelationalDatabase,
deleteRelationalDatabase_finalRelationalDatabaseSnapshotName,
deleteRelationalDatabase_skipFinalSnapshot,
deleteRelationalDatabase_relationalDatabaseName,
DeleteRelationalDatabaseResponse (..),
newDeleteRelationalDatabaseResponse,
deleteRelationalDatabaseResponse_operations,
deleteRelationalDatabaseResponse_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 DeleteRelationalDatabase = DeleteRelationalDatabase'
{
DeleteRelationalDatabase -> Maybe Text
finalRelationalDatabaseSnapshotName :: Prelude.Maybe Prelude.Text,
DeleteRelationalDatabase -> Maybe Bool
skipFinalSnapshot :: Prelude.Maybe Prelude.Bool,
DeleteRelationalDatabase -> Text
relationalDatabaseName :: Prelude.Text
}
deriving (DeleteRelationalDatabase -> DeleteRelationalDatabase -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteRelationalDatabase -> DeleteRelationalDatabase -> Bool
$c/= :: DeleteRelationalDatabase -> DeleteRelationalDatabase -> Bool
== :: DeleteRelationalDatabase -> DeleteRelationalDatabase -> Bool
$c== :: DeleteRelationalDatabase -> DeleteRelationalDatabase -> Bool
Prelude.Eq, ReadPrec [DeleteRelationalDatabase]
ReadPrec DeleteRelationalDatabase
Int -> ReadS DeleteRelationalDatabase
ReadS [DeleteRelationalDatabase]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteRelationalDatabase]
$creadListPrec :: ReadPrec [DeleteRelationalDatabase]
readPrec :: ReadPrec DeleteRelationalDatabase
$creadPrec :: ReadPrec DeleteRelationalDatabase
readList :: ReadS [DeleteRelationalDatabase]
$creadList :: ReadS [DeleteRelationalDatabase]
readsPrec :: Int -> ReadS DeleteRelationalDatabase
$creadsPrec :: Int -> ReadS DeleteRelationalDatabase
Prelude.Read, Int -> DeleteRelationalDatabase -> ShowS
[DeleteRelationalDatabase] -> ShowS
DeleteRelationalDatabase -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteRelationalDatabase] -> ShowS
$cshowList :: [DeleteRelationalDatabase] -> ShowS
show :: DeleteRelationalDatabase -> String
$cshow :: DeleteRelationalDatabase -> String
showsPrec :: Int -> DeleteRelationalDatabase -> ShowS
$cshowsPrec :: Int -> DeleteRelationalDatabase -> ShowS
Prelude.Show, forall x.
Rep DeleteRelationalDatabase x -> DeleteRelationalDatabase
forall x.
DeleteRelationalDatabase -> Rep DeleteRelationalDatabase x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteRelationalDatabase x -> DeleteRelationalDatabase
$cfrom :: forall x.
DeleteRelationalDatabase -> Rep DeleteRelationalDatabase x
Prelude.Generic)
newDeleteRelationalDatabase ::
Prelude.Text ->
DeleteRelationalDatabase
newDeleteRelationalDatabase :: Text -> DeleteRelationalDatabase
newDeleteRelationalDatabase Text
pRelationalDatabaseName_ =
DeleteRelationalDatabase'
{ $sel:finalRelationalDatabaseSnapshotName:DeleteRelationalDatabase' :: Maybe Text
finalRelationalDatabaseSnapshotName =
forall a. Maybe a
Prelude.Nothing,
$sel:skipFinalSnapshot:DeleteRelationalDatabase' :: Maybe Bool
skipFinalSnapshot = forall a. Maybe a
Prelude.Nothing,
$sel:relationalDatabaseName:DeleteRelationalDatabase' :: Text
relationalDatabaseName = Text
pRelationalDatabaseName_
}
deleteRelationalDatabase_finalRelationalDatabaseSnapshotName :: Lens.Lens' DeleteRelationalDatabase (Prelude.Maybe Prelude.Text)
deleteRelationalDatabase_finalRelationalDatabaseSnapshotName :: Lens' DeleteRelationalDatabase (Maybe Text)
deleteRelationalDatabase_finalRelationalDatabaseSnapshotName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteRelationalDatabase' {Maybe Text
finalRelationalDatabaseSnapshotName :: Maybe Text
$sel:finalRelationalDatabaseSnapshotName:DeleteRelationalDatabase' :: DeleteRelationalDatabase -> Maybe Text
finalRelationalDatabaseSnapshotName} -> Maybe Text
finalRelationalDatabaseSnapshotName) (\s :: DeleteRelationalDatabase
s@DeleteRelationalDatabase' {} Maybe Text
a -> DeleteRelationalDatabase
s {$sel:finalRelationalDatabaseSnapshotName:DeleteRelationalDatabase' :: Maybe Text
finalRelationalDatabaseSnapshotName = Maybe Text
a} :: DeleteRelationalDatabase)
deleteRelationalDatabase_skipFinalSnapshot :: Lens.Lens' DeleteRelationalDatabase (Prelude.Maybe Prelude.Bool)
deleteRelationalDatabase_skipFinalSnapshot :: Lens' DeleteRelationalDatabase (Maybe Bool)
deleteRelationalDatabase_skipFinalSnapshot = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteRelationalDatabase' {Maybe Bool
skipFinalSnapshot :: Maybe Bool
$sel:skipFinalSnapshot:DeleteRelationalDatabase' :: DeleteRelationalDatabase -> Maybe Bool
skipFinalSnapshot} -> Maybe Bool
skipFinalSnapshot) (\s :: DeleteRelationalDatabase
s@DeleteRelationalDatabase' {} Maybe Bool
a -> DeleteRelationalDatabase
s {$sel:skipFinalSnapshot:DeleteRelationalDatabase' :: Maybe Bool
skipFinalSnapshot = Maybe Bool
a} :: DeleteRelationalDatabase)
deleteRelationalDatabase_relationalDatabaseName :: Lens.Lens' DeleteRelationalDatabase Prelude.Text
deleteRelationalDatabase_relationalDatabaseName :: Lens' DeleteRelationalDatabase Text
deleteRelationalDatabase_relationalDatabaseName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteRelationalDatabase' {Text
relationalDatabaseName :: Text
$sel:relationalDatabaseName:DeleteRelationalDatabase' :: DeleteRelationalDatabase -> Text
relationalDatabaseName} -> Text
relationalDatabaseName) (\s :: DeleteRelationalDatabase
s@DeleteRelationalDatabase' {} Text
a -> DeleteRelationalDatabase
s {$sel:relationalDatabaseName:DeleteRelationalDatabase' :: Text
relationalDatabaseName = Text
a} :: DeleteRelationalDatabase)
instance Core.AWSRequest DeleteRelationalDatabase where
type
AWSResponse DeleteRelationalDatabase =
DeleteRelationalDatabaseResponse
request :: (Service -> Service)
-> DeleteRelationalDatabase -> Request DeleteRelationalDatabase
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 DeleteRelationalDatabase
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DeleteRelationalDatabase)))
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 [Operation] -> Int -> DeleteRelationalDatabaseResponse
DeleteRelationalDatabaseResponse'
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
"operations" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
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 DeleteRelationalDatabase where
hashWithSalt :: Int -> DeleteRelationalDatabase -> Int
hashWithSalt Int
_salt DeleteRelationalDatabase' {Maybe Bool
Maybe Text
Text
relationalDatabaseName :: Text
skipFinalSnapshot :: Maybe Bool
finalRelationalDatabaseSnapshotName :: Maybe Text
$sel:relationalDatabaseName:DeleteRelationalDatabase' :: DeleteRelationalDatabase -> Text
$sel:skipFinalSnapshot:DeleteRelationalDatabase' :: DeleteRelationalDatabase -> Maybe Bool
$sel:finalRelationalDatabaseSnapshotName:DeleteRelationalDatabase' :: DeleteRelationalDatabase -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
finalRelationalDatabaseSnapshotName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
skipFinalSnapshot
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
relationalDatabaseName
instance Prelude.NFData DeleteRelationalDatabase where
rnf :: DeleteRelationalDatabase -> ()
rnf DeleteRelationalDatabase' {Maybe Bool
Maybe Text
Text
relationalDatabaseName :: Text
skipFinalSnapshot :: Maybe Bool
finalRelationalDatabaseSnapshotName :: Maybe Text
$sel:relationalDatabaseName:DeleteRelationalDatabase' :: DeleteRelationalDatabase -> Text
$sel:skipFinalSnapshot:DeleteRelationalDatabase' :: DeleteRelationalDatabase -> Maybe Bool
$sel:finalRelationalDatabaseSnapshotName:DeleteRelationalDatabase' :: DeleteRelationalDatabase -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
finalRelationalDatabaseSnapshotName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
skipFinalSnapshot
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
relationalDatabaseName
instance Data.ToHeaders DeleteRelationalDatabase where
toHeaders :: DeleteRelationalDatabase -> 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.DeleteRelationalDatabase" ::
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 DeleteRelationalDatabase where
toJSON :: DeleteRelationalDatabase -> Value
toJSON DeleteRelationalDatabase' {Maybe Bool
Maybe Text
Text
relationalDatabaseName :: Text
skipFinalSnapshot :: Maybe Bool
finalRelationalDatabaseSnapshotName :: Maybe Text
$sel:relationalDatabaseName:DeleteRelationalDatabase' :: DeleteRelationalDatabase -> Text
$sel:skipFinalSnapshot:DeleteRelationalDatabase' :: DeleteRelationalDatabase -> Maybe Bool
$sel:finalRelationalDatabaseSnapshotName:DeleteRelationalDatabase' :: DeleteRelationalDatabase -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"finalRelationalDatabaseSnapshotName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
finalRelationalDatabaseSnapshotName,
(Key
"skipFinalSnapshot" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
skipFinalSnapshot,
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 DeleteRelationalDatabase where
toPath :: DeleteRelationalDatabase -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DeleteRelationalDatabase where
toQuery :: DeleteRelationalDatabase -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteRelationalDatabaseResponse = DeleteRelationalDatabaseResponse'
{
DeleteRelationalDatabaseResponse -> Maybe [Operation]
operations :: Prelude.Maybe [Operation],
DeleteRelationalDatabaseResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeleteRelationalDatabaseResponse
-> DeleteRelationalDatabaseResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteRelationalDatabaseResponse
-> DeleteRelationalDatabaseResponse -> Bool
$c/= :: DeleteRelationalDatabaseResponse
-> DeleteRelationalDatabaseResponse -> Bool
== :: DeleteRelationalDatabaseResponse
-> DeleteRelationalDatabaseResponse -> Bool
$c== :: DeleteRelationalDatabaseResponse
-> DeleteRelationalDatabaseResponse -> Bool
Prelude.Eq, ReadPrec [DeleteRelationalDatabaseResponse]
ReadPrec DeleteRelationalDatabaseResponse
Int -> ReadS DeleteRelationalDatabaseResponse
ReadS [DeleteRelationalDatabaseResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteRelationalDatabaseResponse]
$creadListPrec :: ReadPrec [DeleteRelationalDatabaseResponse]
readPrec :: ReadPrec DeleteRelationalDatabaseResponse
$creadPrec :: ReadPrec DeleteRelationalDatabaseResponse
readList :: ReadS [DeleteRelationalDatabaseResponse]
$creadList :: ReadS [DeleteRelationalDatabaseResponse]
readsPrec :: Int -> ReadS DeleteRelationalDatabaseResponse
$creadsPrec :: Int -> ReadS DeleteRelationalDatabaseResponse
Prelude.Read, Int -> DeleteRelationalDatabaseResponse -> ShowS
[DeleteRelationalDatabaseResponse] -> ShowS
DeleteRelationalDatabaseResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteRelationalDatabaseResponse] -> ShowS
$cshowList :: [DeleteRelationalDatabaseResponse] -> ShowS
show :: DeleteRelationalDatabaseResponse -> String
$cshow :: DeleteRelationalDatabaseResponse -> String
showsPrec :: Int -> DeleteRelationalDatabaseResponse -> ShowS
$cshowsPrec :: Int -> DeleteRelationalDatabaseResponse -> ShowS
Prelude.Show, forall x.
Rep DeleteRelationalDatabaseResponse x
-> DeleteRelationalDatabaseResponse
forall x.
DeleteRelationalDatabaseResponse
-> Rep DeleteRelationalDatabaseResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteRelationalDatabaseResponse x
-> DeleteRelationalDatabaseResponse
$cfrom :: forall x.
DeleteRelationalDatabaseResponse
-> Rep DeleteRelationalDatabaseResponse x
Prelude.Generic)
newDeleteRelationalDatabaseResponse ::
Prelude.Int ->
DeleteRelationalDatabaseResponse
newDeleteRelationalDatabaseResponse :: Int -> DeleteRelationalDatabaseResponse
newDeleteRelationalDatabaseResponse Int
pHttpStatus_ =
DeleteRelationalDatabaseResponse'
{ $sel:operations:DeleteRelationalDatabaseResponse' :: Maybe [Operation]
operations =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DeleteRelationalDatabaseResponse' :: Int
httpStatus = Int
pHttpStatus_
}
deleteRelationalDatabaseResponse_operations :: Lens.Lens' DeleteRelationalDatabaseResponse (Prelude.Maybe [Operation])
deleteRelationalDatabaseResponse_operations :: Lens' DeleteRelationalDatabaseResponse (Maybe [Operation])
deleteRelationalDatabaseResponse_operations = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteRelationalDatabaseResponse' {Maybe [Operation]
operations :: Maybe [Operation]
$sel:operations:DeleteRelationalDatabaseResponse' :: DeleteRelationalDatabaseResponse -> Maybe [Operation]
operations} -> Maybe [Operation]
operations) (\s :: DeleteRelationalDatabaseResponse
s@DeleteRelationalDatabaseResponse' {} Maybe [Operation]
a -> DeleteRelationalDatabaseResponse
s {$sel:operations:DeleteRelationalDatabaseResponse' :: Maybe [Operation]
operations = Maybe [Operation]
a} :: DeleteRelationalDatabaseResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
deleteRelationalDatabaseResponse_httpStatus :: Lens.Lens' DeleteRelationalDatabaseResponse Prelude.Int
deleteRelationalDatabaseResponse_httpStatus :: Lens' DeleteRelationalDatabaseResponse Int
deleteRelationalDatabaseResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteRelationalDatabaseResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteRelationalDatabaseResponse' :: DeleteRelationalDatabaseResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteRelationalDatabaseResponse
s@DeleteRelationalDatabaseResponse' {} Int
a -> DeleteRelationalDatabaseResponse
s {$sel:httpStatus:DeleteRelationalDatabaseResponse' :: Int
httpStatus = Int
a} :: DeleteRelationalDatabaseResponse)
instance
Prelude.NFData
DeleteRelationalDatabaseResponse
where
rnf :: DeleteRelationalDatabaseResponse -> ()
rnf DeleteRelationalDatabaseResponse' {Int
Maybe [Operation]
httpStatus :: Int
operations :: Maybe [Operation]
$sel:httpStatus:DeleteRelationalDatabaseResponse' :: DeleteRelationalDatabaseResponse -> Int
$sel:operations:DeleteRelationalDatabaseResponse' :: DeleteRelationalDatabaseResponse -> Maybe [Operation]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Operation]
operations
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus