{-# 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.UpdateRelationalDatabaseParameters
(
UpdateRelationalDatabaseParameters (..),
newUpdateRelationalDatabaseParameters,
updateRelationalDatabaseParameters_relationalDatabaseName,
updateRelationalDatabaseParameters_parameters,
UpdateRelationalDatabaseParametersResponse (..),
newUpdateRelationalDatabaseParametersResponse,
updateRelationalDatabaseParametersResponse_operations,
updateRelationalDatabaseParametersResponse_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 UpdateRelationalDatabaseParameters = UpdateRelationalDatabaseParameters'
{
UpdateRelationalDatabaseParameters -> Text
relationalDatabaseName :: Prelude.Text,
UpdateRelationalDatabaseParameters -> [RelationalDatabaseParameter]
parameters :: [RelationalDatabaseParameter]
}
deriving (UpdateRelationalDatabaseParameters
-> UpdateRelationalDatabaseParameters -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateRelationalDatabaseParameters
-> UpdateRelationalDatabaseParameters -> Bool
$c/= :: UpdateRelationalDatabaseParameters
-> UpdateRelationalDatabaseParameters -> Bool
== :: UpdateRelationalDatabaseParameters
-> UpdateRelationalDatabaseParameters -> Bool
$c== :: UpdateRelationalDatabaseParameters
-> UpdateRelationalDatabaseParameters -> Bool
Prelude.Eq, ReadPrec [UpdateRelationalDatabaseParameters]
ReadPrec UpdateRelationalDatabaseParameters
Int -> ReadS UpdateRelationalDatabaseParameters
ReadS [UpdateRelationalDatabaseParameters]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateRelationalDatabaseParameters]
$creadListPrec :: ReadPrec [UpdateRelationalDatabaseParameters]
readPrec :: ReadPrec UpdateRelationalDatabaseParameters
$creadPrec :: ReadPrec UpdateRelationalDatabaseParameters
readList :: ReadS [UpdateRelationalDatabaseParameters]
$creadList :: ReadS [UpdateRelationalDatabaseParameters]
readsPrec :: Int -> ReadS UpdateRelationalDatabaseParameters
$creadsPrec :: Int -> ReadS UpdateRelationalDatabaseParameters
Prelude.Read, Int -> UpdateRelationalDatabaseParameters -> ShowS
[UpdateRelationalDatabaseParameters] -> ShowS
UpdateRelationalDatabaseParameters -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateRelationalDatabaseParameters] -> ShowS
$cshowList :: [UpdateRelationalDatabaseParameters] -> ShowS
show :: UpdateRelationalDatabaseParameters -> String
$cshow :: UpdateRelationalDatabaseParameters -> String
showsPrec :: Int -> UpdateRelationalDatabaseParameters -> ShowS
$cshowsPrec :: Int -> UpdateRelationalDatabaseParameters -> ShowS
Prelude.Show, forall x.
Rep UpdateRelationalDatabaseParameters x
-> UpdateRelationalDatabaseParameters
forall x.
UpdateRelationalDatabaseParameters
-> Rep UpdateRelationalDatabaseParameters x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateRelationalDatabaseParameters x
-> UpdateRelationalDatabaseParameters
$cfrom :: forall x.
UpdateRelationalDatabaseParameters
-> Rep UpdateRelationalDatabaseParameters x
Prelude.Generic)
newUpdateRelationalDatabaseParameters ::
Prelude.Text ->
UpdateRelationalDatabaseParameters
newUpdateRelationalDatabaseParameters :: Text -> UpdateRelationalDatabaseParameters
newUpdateRelationalDatabaseParameters
Text
pRelationalDatabaseName_ =
UpdateRelationalDatabaseParameters'
{ $sel:relationalDatabaseName:UpdateRelationalDatabaseParameters' :: Text
relationalDatabaseName =
Text
pRelationalDatabaseName_,
$sel:parameters:UpdateRelationalDatabaseParameters' :: [RelationalDatabaseParameter]
parameters = forall a. Monoid a => a
Prelude.mempty
}
updateRelationalDatabaseParameters_relationalDatabaseName :: Lens.Lens' UpdateRelationalDatabaseParameters Prelude.Text
updateRelationalDatabaseParameters_relationalDatabaseName :: Lens' UpdateRelationalDatabaseParameters Text
updateRelationalDatabaseParameters_relationalDatabaseName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRelationalDatabaseParameters' {Text
relationalDatabaseName :: Text
$sel:relationalDatabaseName:UpdateRelationalDatabaseParameters' :: UpdateRelationalDatabaseParameters -> Text
relationalDatabaseName} -> Text
relationalDatabaseName) (\s :: UpdateRelationalDatabaseParameters
s@UpdateRelationalDatabaseParameters' {} Text
a -> UpdateRelationalDatabaseParameters
s {$sel:relationalDatabaseName:UpdateRelationalDatabaseParameters' :: Text
relationalDatabaseName = Text
a} :: UpdateRelationalDatabaseParameters)
updateRelationalDatabaseParameters_parameters :: Lens.Lens' UpdateRelationalDatabaseParameters [RelationalDatabaseParameter]
updateRelationalDatabaseParameters_parameters :: Lens'
UpdateRelationalDatabaseParameters [RelationalDatabaseParameter]
updateRelationalDatabaseParameters_parameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRelationalDatabaseParameters' {[RelationalDatabaseParameter]
parameters :: [RelationalDatabaseParameter]
$sel:parameters:UpdateRelationalDatabaseParameters' :: UpdateRelationalDatabaseParameters -> [RelationalDatabaseParameter]
parameters} -> [RelationalDatabaseParameter]
parameters) (\s :: UpdateRelationalDatabaseParameters
s@UpdateRelationalDatabaseParameters' {} [RelationalDatabaseParameter]
a -> UpdateRelationalDatabaseParameters
s {$sel:parameters:UpdateRelationalDatabaseParameters' :: [RelationalDatabaseParameter]
parameters = [RelationalDatabaseParameter]
a} :: UpdateRelationalDatabaseParameters) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance
Core.AWSRequest
UpdateRelationalDatabaseParameters
where
type
AWSResponse UpdateRelationalDatabaseParameters =
UpdateRelationalDatabaseParametersResponse
request :: (Service -> Service)
-> UpdateRelationalDatabaseParameters
-> Request UpdateRelationalDatabaseParameters
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 UpdateRelationalDatabaseParameters
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse UpdateRelationalDatabaseParameters)))
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 -> UpdateRelationalDatabaseParametersResponse
UpdateRelationalDatabaseParametersResponse'
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
UpdateRelationalDatabaseParameters
where
hashWithSalt :: Int -> UpdateRelationalDatabaseParameters -> Int
hashWithSalt
Int
_salt
UpdateRelationalDatabaseParameters' {[RelationalDatabaseParameter]
Text
parameters :: [RelationalDatabaseParameter]
relationalDatabaseName :: Text
$sel:parameters:UpdateRelationalDatabaseParameters' :: UpdateRelationalDatabaseParameters -> [RelationalDatabaseParameter]
$sel:relationalDatabaseName:UpdateRelationalDatabaseParameters' :: UpdateRelationalDatabaseParameters -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
relationalDatabaseName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [RelationalDatabaseParameter]
parameters
instance
Prelude.NFData
UpdateRelationalDatabaseParameters
where
rnf :: UpdateRelationalDatabaseParameters -> ()
rnf UpdateRelationalDatabaseParameters' {[RelationalDatabaseParameter]
Text
parameters :: [RelationalDatabaseParameter]
relationalDatabaseName :: Text
$sel:parameters:UpdateRelationalDatabaseParameters' :: UpdateRelationalDatabaseParameters -> [RelationalDatabaseParameter]
$sel:relationalDatabaseName:UpdateRelationalDatabaseParameters' :: UpdateRelationalDatabaseParameters -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
relationalDatabaseName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [RelationalDatabaseParameter]
parameters
instance
Data.ToHeaders
UpdateRelationalDatabaseParameters
where
toHeaders :: UpdateRelationalDatabaseParameters -> 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.UpdateRelationalDatabaseParameters" ::
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
UpdateRelationalDatabaseParameters
where
toJSON :: UpdateRelationalDatabaseParameters -> Value
toJSON UpdateRelationalDatabaseParameters' {[RelationalDatabaseParameter]
Text
parameters :: [RelationalDatabaseParameter]
relationalDatabaseName :: Text
$sel:parameters:UpdateRelationalDatabaseParameters' :: UpdateRelationalDatabaseParameters -> [RelationalDatabaseParameter]
$sel:relationalDatabaseName:UpdateRelationalDatabaseParameters' :: UpdateRelationalDatabaseParameters -> 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
),
forall a. a -> Maybe a
Prelude.Just (Key
"parameters" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= [RelationalDatabaseParameter]
parameters)
]
)
instance
Data.ToPath
UpdateRelationalDatabaseParameters
where
toPath :: UpdateRelationalDatabaseParameters -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance
Data.ToQuery
UpdateRelationalDatabaseParameters
where
toQuery :: UpdateRelationalDatabaseParameters -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateRelationalDatabaseParametersResponse = UpdateRelationalDatabaseParametersResponse'
{
UpdateRelationalDatabaseParametersResponse -> Maybe [Operation]
operations :: Prelude.Maybe [Operation],
UpdateRelationalDatabaseParametersResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateRelationalDatabaseParametersResponse
-> UpdateRelationalDatabaseParametersResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateRelationalDatabaseParametersResponse
-> UpdateRelationalDatabaseParametersResponse -> Bool
$c/= :: UpdateRelationalDatabaseParametersResponse
-> UpdateRelationalDatabaseParametersResponse -> Bool
== :: UpdateRelationalDatabaseParametersResponse
-> UpdateRelationalDatabaseParametersResponse -> Bool
$c== :: UpdateRelationalDatabaseParametersResponse
-> UpdateRelationalDatabaseParametersResponse -> Bool
Prelude.Eq, ReadPrec [UpdateRelationalDatabaseParametersResponse]
ReadPrec UpdateRelationalDatabaseParametersResponse
Int -> ReadS UpdateRelationalDatabaseParametersResponse
ReadS [UpdateRelationalDatabaseParametersResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateRelationalDatabaseParametersResponse]
$creadListPrec :: ReadPrec [UpdateRelationalDatabaseParametersResponse]
readPrec :: ReadPrec UpdateRelationalDatabaseParametersResponse
$creadPrec :: ReadPrec UpdateRelationalDatabaseParametersResponse
readList :: ReadS [UpdateRelationalDatabaseParametersResponse]
$creadList :: ReadS [UpdateRelationalDatabaseParametersResponse]
readsPrec :: Int -> ReadS UpdateRelationalDatabaseParametersResponse
$creadsPrec :: Int -> ReadS UpdateRelationalDatabaseParametersResponse
Prelude.Read, Int -> UpdateRelationalDatabaseParametersResponse -> ShowS
[UpdateRelationalDatabaseParametersResponse] -> ShowS
UpdateRelationalDatabaseParametersResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateRelationalDatabaseParametersResponse] -> ShowS
$cshowList :: [UpdateRelationalDatabaseParametersResponse] -> ShowS
show :: UpdateRelationalDatabaseParametersResponse -> String
$cshow :: UpdateRelationalDatabaseParametersResponse -> String
showsPrec :: Int -> UpdateRelationalDatabaseParametersResponse -> ShowS
$cshowsPrec :: Int -> UpdateRelationalDatabaseParametersResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateRelationalDatabaseParametersResponse x
-> UpdateRelationalDatabaseParametersResponse
forall x.
UpdateRelationalDatabaseParametersResponse
-> Rep UpdateRelationalDatabaseParametersResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateRelationalDatabaseParametersResponse x
-> UpdateRelationalDatabaseParametersResponse
$cfrom :: forall x.
UpdateRelationalDatabaseParametersResponse
-> Rep UpdateRelationalDatabaseParametersResponse x
Prelude.Generic)
newUpdateRelationalDatabaseParametersResponse ::
Prelude.Int ->
UpdateRelationalDatabaseParametersResponse
newUpdateRelationalDatabaseParametersResponse :: Int -> UpdateRelationalDatabaseParametersResponse
newUpdateRelationalDatabaseParametersResponse
Int
pHttpStatus_ =
UpdateRelationalDatabaseParametersResponse'
{ $sel:operations:UpdateRelationalDatabaseParametersResponse' :: Maybe [Operation]
operations =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateRelationalDatabaseParametersResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateRelationalDatabaseParametersResponse_operations :: Lens.Lens' UpdateRelationalDatabaseParametersResponse (Prelude.Maybe [Operation])
updateRelationalDatabaseParametersResponse_operations :: Lens'
UpdateRelationalDatabaseParametersResponse (Maybe [Operation])
updateRelationalDatabaseParametersResponse_operations = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRelationalDatabaseParametersResponse' {Maybe [Operation]
operations :: Maybe [Operation]
$sel:operations:UpdateRelationalDatabaseParametersResponse' :: UpdateRelationalDatabaseParametersResponse -> Maybe [Operation]
operations} -> Maybe [Operation]
operations) (\s :: UpdateRelationalDatabaseParametersResponse
s@UpdateRelationalDatabaseParametersResponse' {} Maybe [Operation]
a -> UpdateRelationalDatabaseParametersResponse
s {$sel:operations:UpdateRelationalDatabaseParametersResponse' :: Maybe [Operation]
operations = Maybe [Operation]
a} :: UpdateRelationalDatabaseParametersResponse) 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
updateRelationalDatabaseParametersResponse_httpStatus :: Lens.Lens' UpdateRelationalDatabaseParametersResponse Prelude.Int
updateRelationalDatabaseParametersResponse_httpStatus :: Lens' UpdateRelationalDatabaseParametersResponse Int
updateRelationalDatabaseParametersResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRelationalDatabaseParametersResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateRelationalDatabaseParametersResponse' :: UpdateRelationalDatabaseParametersResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateRelationalDatabaseParametersResponse
s@UpdateRelationalDatabaseParametersResponse' {} Int
a -> UpdateRelationalDatabaseParametersResponse
s {$sel:httpStatus:UpdateRelationalDatabaseParametersResponse' :: Int
httpStatus = Int
a} :: UpdateRelationalDatabaseParametersResponse)
instance
Prelude.NFData
UpdateRelationalDatabaseParametersResponse
where
rnf :: UpdateRelationalDatabaseParametersResponse -> ()
rnf UpdateRelationalDatabaseParametersResponse' {Int
Maybe [Operation]
httpStatus :: Int
operations :: Maybe [Operation]
$sel:httpStatus:UpdateRelationalDatabaseParametersResponse' :: UpdateRelationalDatabaseParametersResponse -> Int
$sel:operations:UpdateRelationalDatabaseParametersResponse' :: UpdateRelationalDatabaseParametersResponse -> 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