{-# 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.RDS.ModifyOptionGroup
(
ModifyOptionGroup (..),
newModifyOptionGroup,
modifyOptionGroup_applyImmediately,
modifyOptionGroup_optionsToInclude,
modifyOptionGroup_optionsToRemove,
modifyOptionGroup_optionGroupName,
ModifyOptionGroupResponse (..),
newModifyOptionGroupResponse,
modifyOptionGroupResponse_optionGroup,
modifyOptionGroupResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.RDS.Types
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data ModifyOptionGroup = ModifyOptionGroup'
{
ModifyOptionGroup -> Maybe Bool
applyImmediately :: Prelude.Maybe Prelude.Bool,
ModifyOptionGroup -> Maybe [OptionConfiguration]
optionsToInclude :: Prelude.Maybe [OptionConfiguration],
ModifyOptionGroup -> Maybe [Text]
optionsToRemove :: Prelude.Maybe [Prelude.Text],
ModifyOptionGroup -> Text
optionGroupName :: Prelude.Text
}
deriving (ModifyOptionGroup -> ModifyOptionGroup -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyOptionGroup -> ModifyOptionGroup -> Bool
$c/= :: ModifyOptionGroup -> ModifyOptionGroup -> Bool
== :: ModifyOptionGroup -> ModifyOptionGroup -> Bool
$c== :: ModifyOptionGroup -> ModifyOptionGroup -> Bool
Prelude.Eq, ReadPrec [ModifyOptionGroup]
ReadPrec ModifyOptionGroup
Int -> ReadS ModifyOptionGroup
ReadS [ModifyOptionGroup]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifyOptionGroup]
$creadListPrec :: ReadPrec [ModifyOptionGroup]
readPrec :: ReadPrec ModifyOptionGroup
$creadPrec :: ReadPrec ModifyOptionGroup
readList :: ReadS [ModifyOptionGroup]
$creadList :: ReadS [ModifyOptionGroup]
readsPrec :: Int -> ReadS ModifyOptionGroup
$creadsPrec :: Int -> ReadS ModifyOptionGroup
Prelude.Read, Int -> ModifyOptionGroup -> ShowS
[ModifyOptionGroup] -> ShowS
ModifyOptionGroup -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyOptionGroup] -> ShowS
$cshowList :: [ModifyOptionGroup] -> ShowS
show :: ModifyOptionGroup -> String
$cshow :: ModifyOptionGroup -> String
showsPrec :: Int -> ModifyOptionGroup -> ShowS
$cshowsPrec :: Int -> ModifyOptionGroup -> ShowS
Prelude.Show, forall x. Rep ModifyOptionGroup x -> ModifyOptionGroup
forall x. ModifyOptionGroup -> Rep ModifyOptionGroup x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ModifyOptionGroup x -> ModifyOptionGroup
$cfrom :: forall x. ModifyOptionGroup -> Rep ModifyOptionGroup x
Prelude.Generic)
newModifyOptionGroup ::
Prelude.Text ->
ModifyOptionGroup
newModifyOptionGroup :: Text -> ModifyOptionGroup
newModifyOptionGroup Text
pOptionGroupName_ =
ModifyOptionGroup'
{ $sel:applyImmediately:ModifyOptionGroup' :: Maybe Bool
applyImmediately =
forall a. Maybe a
Prelude.Nothing,
$sel:optionsToInclude:ModifyOptionGroup' :: Maybe [OptionConfiguration]
optionsToInclude = forall a. Maybe a
Prelude.Nothing,
$sel:optionsToRemove:ModifyOptionGroup' :: Maybe [Text]
optionsToRemove = forall a. Maybe a
Prelude.Nothing,
$sel:optionGroupName:ModifyOptionGroup' :: Text
optionGroupName = Text
pOptionGroupName_
}
modifyOptionGroup_applyImmediately :: Lens.Lens' ModifyOptionGroup (Prelude.Maybe Prelude.Bool)
modifyOptionGroup_applyImmediately :: Lens' ModifyOptionGroup (Maybe Bool)
modifyOptionGroup_applyImmediately = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyOptionGroup' {Maybe Bool
applyImmediately :: Maybe Bool
$sel:applyImmediately:ModifyOptionGroup' :: ModifyOptionGroup -> Maybe Bool
applyImmediately} -> Maybe Bool
applyImmediately) (\s :: ModifyOptionGroup
s@ModifyOptionGroup' {} Maybe Bool
a -> ModifyOptionGroup
s {$sel:applyImmediately:ModifyOptionGroup' :: Maybe Bool
applyImmediately = Maybe Bool
a} :: ModifyOptionGroup)
modifyOptionGroup_optionsToInclude :: Lens.Lens' ModifyOptionGroup (Prelude.Maybe [OptionConfiguration])
modifyOptionGroup_optionsToInclude :: Lens' ModifyOptionGroup (Maybe [OptionConfiguration])
modifyOptionGroup_optionsToInclude = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyOptionGroup' {Maybe [OptionConfiguration]
optionsToInclude :: Maybe [OptionConfiguration]
$sel:optionsToInclude:ModifyOptionGroup' :: ModifyOptionGroup -> Maybe [OptionConfiguration]
optionsToInclude} -> Maybe [OptionConfiguration]
optionsToInclude) (\s :: ModifyOptionGroup
s@ModifyOptionGroup' {} Maybe [OptionConfiguration]
a -> ModifyOptionGroup
s {$sel:optionsToInclude:ModifyOptionGroup' :: Maybe [OptionConfiguration]
optionsToInclude = Maybe [OptionConfiguration]
a} :: ModifyOptionGroup) 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
modifyOptionGroup_optionsToRemove :: Lens.Lens' ModifyOptionGroup (Prelude.Maybe [Prelude.Text])
modifyOptionGroup_optionsToRemove :: Lens' ModifyOptionGroup (Maybe [Text])
modifyOptionGroup_optionsToRemove = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyOptionGroup' {Maybe [Text]
optionsToRemove :: Maybe [Text]
$sel:optionsToRemove:ModifyOptionGroup' :: ModifyOptionGroup -> Maybe [Text]
optionsToRemove} -> Maybe [Text]
optionsToRemove) (\s :: ModifyOptionGroup
s@ModifyOptionGroup' {} Maybe [Text]
a -> ModifyOptionGroup
s {$sel:optionsToRemove:ModifyOptionGroup' :: Maybe [Text]
optionsToRemove = Maybe [Text]
a} :: ModifyOptionGroup) 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
modifyOptionGroup_optionGroupName :: Lens.Lens' ModifyOptionGroup Prelude.Text
modifyOptionGroup_optionGroupName :: Lens' ModifyOptionGroup Text
modifyOptionGroup_optionGroupName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyOptionGroup' {Text
optionGroupName :: Text
$sel:optionGroupName:ModifyOptionGroup' :: ModifyOptionGroup -> Text
optionGroupName} -> Text
optionGroupName) (\s :: ModifyOptionGroup
s@ModifyOptionGroup' {} Text
a -> ModifyOptionGroup
s {$sel:optionGroupName:ModifyOptionGroup' :: Text
optionGroupName = Text
a} :: ModifyOptionGroup)
instance Core.AWSRequest ModifyOptionGroup where
type
AWSResponse ModifyOptionGroup =
ModifyOptionGroupResponse
request :: (Service -> Service)
-> ModifyOptionGroup -> Request ModifyOptionGroup
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy ModifyOptionGroup
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse ModifyOptionGroup)))
response =
forall (m :: * -> *) a.
MonadResource m =>
Text
-> (Int
-> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXMLWrapper
Text
"ModifyOptionGroupResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe OptionGroup -> Int -> ModifyOptionGroupResponse
ModifyOptionGroupResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"OptionGroup")
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 ModifyOptionGroup where
hashWithSalt :: Int -> ModifyOptionGroup -> Int
hashWithSalt Int
_salt ModifyOptionGroup' {Maybe Bool
Maybe [Text]
Maybe [OptionConfiguration]
Text
optionGroupName :: Text
optionsToRemove :: Maybe [Text]
optionsToInclude :: Maybe [OptionConfiguration]
applyImmediately :: Maybe Bool
$sel:optionGroupName:ModifyOptionGroup' :: ModifyOptionGroup -> Text
$sel:optionsToRemove:ModifyOptionGroup' :: ModifyOptionGroup -> Maybe [Text]
$sel:optionsToInclude:ModifyOptionGroup' :: ModifyOptionGroup -> Maybe [OptionConfiguration]
$sel:applyImmediately:ModifyOptionGroup' :: ModifyOptionGroup -> Maybe Bool
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
applyImmediately
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [OptionConfiguration]
optionsToInclude
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
optionsToRemove
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
optionGroupName
instance Prelude.NFData ModifyOptionGroup where
rnf :: ModifyOptionGroup -> ()
rnf ModifyOptionGroup' {Maybe Bool
Maybe [Text]
Maybe [OptionConfiguration]
Text
optionGroupName :: Text
optionsToRemove :: Maybe [Text]
optionsToInclude :: Maybe [OptionConfiguration]
applyImmediately :: Maybe Bool
$sel:optionGroupName:ModifyOptionGroup' :: ModifyOptionGroup -> Text
$sel:optionsToRemove:ModifyOptionGroup' :: ModifyOptionGroup -> Maybe [Text]
$sel:optionsToInclude:ModifyOptionGroup' :: ModifyOptionGroup -> Maybe [OptionConfiguration]
$sel:applyImmediately:ModifyOptionGroup' :: ModifyOptionGroup -> Maybe Bool
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
applyImmediately
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [OptionConfiguration]
optionsToInclude
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
optionsToRemove
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
optionGroupName
instance Data.ToHeaders ModifyOptionGroup where
toHeaders :: ModifyOptionGroup -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath ModifyOptionGroup where
toPath :: ModifyOptionGroup -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery ModifyOptionGroup where
toQuery :: ModifyOptionGroup -> QueryString
toQuery ModifyOptionGroup' {Maybe Bool
Maybe [Text]
Maybe [OptionConfiguration]
Text
optionGroupName :: Text
optionsToRemove :: Maybe [Text]
optionsToInclude :: Maybe [OptionConfiguration]
applyImmediately :: Maybe Bool
$sel:optionGroupName:ModifyOptionGroup' :: ModifyOptionGroup -> Text
$sel:optionsToRemove:ModifyOptionGroup' :: ModifyOptionGroup -> Maybe [Text]
$sel:optionsToInclude:ModifyOptionGroup' :: ModifyOptionGroup -> Maybe [OptionConfiguration]
$sel:applyImmediately:ModifyOptionGroup' :: ModifyOptionGroup -> Maybe Bool
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"ModifyOptionGroup" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2014-10-31" :: Prelude.ByteString),
ByteString
"ApplyImmediately" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
applyImmediately,
ByteString
"OptionsToInclude"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: forall a. ToQuery a => a -> QueryString
Data.toQuery
( forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"OptionConfiguration"
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [OptionConfiguration]
optionsToInclude
),
ByteString
"OptionsToRemove"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: forall a. ToQuery a => a -> QueryString
Data.toQuery
( forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"member"
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
optionsToRemove
),
ByteString
"OptionGroupName" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
optionGroupName
]
data ModifyOptionGroupResponse = ModifyOptionGroupResponse'
{ ModifyOptionGroupResponse -> Maybe OptionGroup
optionGroup :: Prelude.Maybe OptionGroup,
ModifyOptionGroupResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ModifyOptionGroupResponse -> ModifyOptionGroupResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyOptionGroupResponse -> ModifyOptionGroupResponse -> Bool
$c/= :: ModifyOptionGroupResponse -> ModifyOptionGroupResponse -> Bool
== :: ModifyOptionGroupResponse -> ModifyOptionGroupResponse -> Bool
$c== :: ModifyOptionGroupResponse -> ModifyOptionGroupResponse -> Bool
Prelude.Eq, ReadPrec [ModifyOptionGroupResponse]
ReadPrec ModifyOptionGroupResponse
Int -> ReadS ModifyOptionGroupResponse
ReadS [ModifyOptionGroupResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifyOptionGroupResponse]
$creadListPrec :: ReadPrec [ModifyOptionGroupResponse]
readPrec :: ReadPrec ModifyOptionGroupResponse
$creadPrec :: ReadPrec ModifyOptionGroupResponse
readList :: ReadS [ModifyOptionGroupResponse]
$creadList :: ReadS [ModifyOptionGroupResponse]
readsPrec :: Int -> ReadS ModifyOptionGroupResponse
$creadsPrec :: Int -> ReadS ModifyOptionGroupResponse
Prelude.Read, Int -> ModifyOptionGroupResponse -> ShowS
[ModifyOptionGroupResponse] -> ShowS
ModifyOptionGroupResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyOptionGroupResponse] -> ShowS
$cshowList :: [ModifyOptionGroupResponse] -> ShowS
show :: ModifyOptionGroupResponse -> String
$cshow :: ModifyOptionGroupResponse -> String
showsPrec :: Int -> ModifyOptionGroupResponse -> ShowS
$cshowsPrec :: Int -> ModifyOptionGroupResponse -> ShowS
Prelude.Show, forall x.
Rep ModifyOptionGroupResponse x -> ModifyOptionGroupResponse
forall x.
ModifyOptionGroupResponse -> Rep ModifyOptionGroupResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ModifyOptionGroupResponse x -> ModifyOptionGroupResponse
$cfrom :: forall x.
ModifyOptionGroupResponse -> Rep ModifyOptionGroupResponse x
Prelude.Generic)
newModifyOptionGroupResponse ::
Prelude.Int ->
ModifyOptionGroupResponse
newModifyOptionGroupResponse :: Int -> ModifyOptionGroupResponse
newModifyOptionGroupResponse Int
pHttpStatus_ =
ModifyOptionGroupResponse'
{ $sel:optionGroup:ModifyOptionGroupResponse' :: Maybe OptionGroup
optionGroup =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:ModifyOptionGroupResponse' :: Int
httpStatus = Int
pHttpStatus_
}
modifyOptionGroupResponse_optionGroup :: Lens.Lens' ModifyOptionGroupResponse (Prelude.Maybe OptionGroup)
modifyOptionGroupResponse_optionGroup :: Lens' ModifyOptionGroupResponse (Maybe OptionGroup)
modifyOptionGroupResponse_optionGroup = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyOptionGroupResponse' {Maybe OptionGroup
optionGroup :: Maybe OptionGroup
$sel:optionGroup:ModifyOptionGroupResponse' :: ModifyOptionGroupResponse -> Maybe OptionGroup
optionGroup} -> Maybe OptionGroup
optionGroup) (\s :: ModifyOptionGroupResponse
s@ModifyOptionGroupResponse' {} Maybe OptionGroup
a -> ModifyOptionGroupResponse
s {$sel:optionGroup:ModifyOptionGroupResponse' :: Maybe OptionGroup
optionGroup = Maybe OptionGroup
a} :: ModifyOptionGroupResponse)
modifyOptionGroupResponse_httpStatus :: Lens.Lens' ModifyOptionGroupResponse Prelude.Int
modifyOptionGroupResponse_httpStatus :: Lens' ModifyOptionGroupResponse Int
modifyOptionGroupResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyOptionGroupResponse' {Int
httpStatus :: Int
$sel:httpStatus:ModifyOptionGroupResponse' :: ModifyOptionGroupResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ModifyOptionGroupResponse
s@ModifyOptionGroupResponse' {} Int
a -> ModifyOptionGroupResponse
s {$sel:httpStatus:ModifyOptionGroupResponse' :: Int
httpStatus = Int
a} :: ModifyOptionGroupResponse)
instance Prelude.NFData ModifyOptionGroupResponse where
rnf :: ModifyOptionGroupResponse -> ()
rnf ModifyOptionGroupResponse' {Int
Maybe OptionGroup
httpStatus :: Int
optionGroup :: Maybe OptionGroup
$sel:httpStatus:ModifyOptionGroupResponse' :: ModifyOptionGroupResponse -> Int
$sel:optionGroup:ModifyOptionGroupResponse' :: ModifyOptionGroupResponse -> Maybe OptionGroup
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe OptionGroup
optionGroup
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus