{-# 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.EC2.ModifyAvailabilityZoneGroup
(
ModifyAvailabilityZoneGroup (..),
newModifyAvailabilityZoneGroup,
modifyAvailabilityZoneGroup_dryRun,
modifyAvailabilityZoneGroup_groupName,
modifyAvailabilityZoneGroup_optInStatus,
ModifyAvailabilityZoneGroupResponse (..),
newModifyAvailabilityZoneGroupResponse,
modifyAvailabilityZoneGroupResponse_return,
modifyAvailabilityZoneGroupResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EC2.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data ModifyAvailabilityZoneGroup = ModifyAvailabilityZoneGroup'
{
ModifyAvailabilityZoneGroup -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
ModifyAvailabilityZoneGroup -> Text
groupName :: Prelude.Text,
ModifyAvailabilityZoneGroup -> ModifyAvailabilityZoneOptInStatus
optInStatus :: ModifyAvailabilityZoneOptInStatus
}
deriving (ModifyAvailabilityZoneGroup -> ModifyAvailabilityZoneGroup -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyAvailabilityZoneGroup -> ModifyAvailabilityZoneGroup -> Bool
$c/= :: ModifyAvailabilityZoneGroup -> ModifyAvailabilityZoneGroup -> Bool
== :: ModifyAvailabilityZoneGroup -> ModifyAvailabilityZoneGroup -> Bool
$c== :: ModifyAvailabilityZoneGroup -> ModifyAvailabilityZoneGroup -> Bool
Prelude.Eq, ReadPrec [ModifyAvailabilityZoneGroup]
ReadPrec ModifyAvailabilityZoneGroup
Int -> ReadS ModifyAvailabilityZoneGroup
ReadS [ModifyAvailabilityZoneGroup]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifyAvailabilityZoneGroup]
$creadListPrec :: ReadPrec [ModifyAvailabilityZoneGroup]
readPrec :: ReadPrec ModifyAvailabilityZoneGroup
$creadPrec :: ReadPrec ModifyAvailabilityZoneGroup
readList :: ReadS [ModifyAvailabilityZoneGroup]
$creadList :: ReadS [ModifyAvailabilityZoneGroup]
readsPrec :: Int -> ReadS ModifyAvailabilityZoneGroup
$creadsPrec :: Int -> ReadS ModifyAvailabilityZoneGroup
Prelude.Read, Int -> ModifyAvailabilityZoneGroup -> ShowS
[ModifyAvailabilityZoneGroup] -> ShowS
ModifyAvailabilityZoneGroup -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyAvailabilityZoneGroup] -> ShowS
$cshowList :: [ModifyAvailabilityZoneGroup] -> ShowS
show :: ModifyAvailabilityZoneGroup -> String
$cshow :: ModifyAvailabilityZoneGroup -> String
showsPrec :: Int -> ModifyAvailabilityZoneGroup -> ShowS
$cshowsPrec :: Int -> ModifyAvailabilityZoneGroup -> ShowS
Prelude.Show, forall x.
Rep ModifyAvailabilityZoneGroup x -> ModifyAvailabilityZoneGroup
forall x.
ModifyAvailabilityZoneGroup -> Rep ModifyAvailabilityZoneGroup x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ModifyAvailabilityZoneGroup x -> ModifyAvailabilityZoneGroup
$cfrom :: forall x.
ModifyAvailabilityZoneGroup -> Rep ModifyAvailabilityZoneGroup x
Prelude.Generic)
newModifyAvailabilityZoneGroup ::
Prelude.Text ->
ModifyAvailabilityZoneOptInStatus ->
ModifyAvailabilityZoneGroup
newModifyAvailabilityZoneGroup :: Text
-> ModifyAvailabilityZoneOptInStatus -> ModifyAvailabilityZoneGroup
newModifyAvailabilityZoneGroup
Text
pGroupName_
ModifyAvailabilityZoneOptInStatus
pOptInStatus_ =
ModifyAvailabilityZoneGroup'
{ $sel:dryRun:ModifyAvailabilityZoneGroup' :: Maybe Bool
dryRun =
forall a. Maybe a
Prelude.Nothing,
$sel:groupName:ModifyAvailabilityZoneGroup' :: Text
groupName = Text
pGroupName_,
$sel:optInStatus:ModifyAvailabilityZoneGroup' :: ModifyAvailabilityZoneOptInStatus
optInStatus = ModifyAvailabilityZoneOptInStatus
pOptInStatus_
}
modifyAvailabilityZoneGroup_dryRun :: Lens.Lens' ModifyAvailabilityZoneGroup (Prelude.Maybe Prelude.Bool)
modifyAvailabilityZoneGroup_dryRun :: Lens' ModifyAvailabilityZoneGroup (Maybe Bool)
modifyAvailabilityZoneGroup_dryRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyAvailabilityZoneGroup' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:ModifyAvailabilityZoneGroup' :: ModifyAvailabilityZoneGroup -> Maybe Bool
dryRun} -> Maybe Bool
dryRun) (\s :: ModifyAvailabilityZoneGroup
s@ModifyAvailabilityZoneGroup' {} Maybe Bool
a -> ModifyAvailabilityZoneGroup
s {$sel:dryRun:ModifyAvailabilityZoneGroup' :: Maybe Bool
dryRun = Maybe Bool
a} :: ModifyAvailabilityZoneGroup)
modifyAvailabilityZoneGroup_groupName :: Lens.Lens' ModifyAvailabilityZoneGroup Prelude.Text
modifyAvailabilityZoneGroup_groupName :: Lens' ModifyAvailabilityZoneGroup Text
modifyAvailabilityZoneGroup_groupName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyAvailabilityZoneGroup' {Text
groupName :: Text
$sel:groupName:ModifyAvailabilityZoneGroup' :: ModifyAvailabilityZoneGroup -> Text
groupName} -> Text
groupName) (\s :: ModifyAvailabilityZoneGroup
s@ModifyAvailabilityZoneGroup' {} Text
a -> ModifyAvailabilityZoneGroup
s {$sel:groupName:ModifyAvailabilityZoneGroup' :: Text
groupName = Text
a} :: ModifyAvailabilityZoneGroup)
modifyAvailabilityZoneGroup_optInStatus :: Lens.Lens' ModifyAvailabilityZoneGroup ModifyAvailabilityZoneOptInStatus
modifyAvailabilityZoneGroup_optInStatus :: Lens' ModifyAvailabilityZoneGroup ModifyAvailabilityZoneOptInStatus
modifyAvailabilityZoneGroup_optInStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyAvailabilityZoneGroup' {ModifyAvailabilityZoneOptInStatus
optInStatus :: ModifyAvailabilityZoneOptInStatus
$sel:optInStatus:ModifyAvailabilityZoneGroup' :: ModifyAvailabilityZoneGroup -> ModifyAvailabilityZoneOptInStatus
optInStatus} -> ModifyAvailabilityZoneOptInStatus
optInStatus) (\s :: ModifyAvailabilityZoneGroup
s@ModifyAvailabilityZoneGroup' {} ModifyAvailabilityZoneOptInStatus
a -> ModifyAvailabilityZoneGroup
s {$sel:optInStatus:ModifyAvailabilityZoneGroup' :: ModifyAvailabilityZoneOptInStatus
optInStatus = ModifyAvailabilityZoneOptInStatus
a} :: ModifyAvailabilityZoneGroup)
instance Core.AWSRequest ModifyAvailabilityZoneGroup where
type
AWSResponse ModifyAvailabilityZoneGroup =
ModifyAvailabilityZoneGroupResponse
request :: (Service -> Service)
-> ModifyAvailabilityZoneGroup
-> Request ModifyAvailabilityZoneGroup
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 ModifyAvailabilityZoneGroup
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse ModifyAvailabilityZoneGroup)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXML
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe Bool -> Int -> ModifyAvailabilityZoneGroupResponse
ModifyAvailabilityZoneGroupResponse'
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
"return")
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 ModifyAvailabilityZoneGroup where
hashWithSalt :: Int -> ModifyAvailabilityZoneGroup -> Int
hashWithSalt Int
_salt ModifyAvailabilityZoneGroup' {Maybe Bool
Text
ModifyAvailabilityZoneOptInStatus
optInStatus :: ModifyAvailabilityZoneOptInStatus
groupName :: Text
dryRun :: Maybe Bool
$sel:optInStatus:ModifyAvailabilityZoneGroup' :: ModifyAvailabilityZoneGroup -> ModifyAvailabilityZoneOptInStatus
$sel:groupName:ModifyAvailabilityZoneGroup' :: ModifyAvailabilityZoneGroup -> Text
$sel:dryRun:ModifyAvailabilityZoneGroup' :: ModifyAvailabilityZoneGroup -> Maybe Bool
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
dryRun
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
groupName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ModifyAvailabilityZoneOptInStatus
optInStatus
instance Prelude.NFData ModifyAvailabilityZoneGroup where
rnf :: ModifyAvailabilityZoneGroup -> ()
rnf ModifyAvailabilityZoneGroup' {Maybe Bool
Text
ModifyAvailabilityZoneOptInStatus
optInStatus :: ModifyAvailabilityZoneOptInStatus
groupName :: Text
dryRun :: Maybe Bool
$sel:optInStatus:ModifyAvailabilityZoneGroup' :: ModifyAvailabilityZoneGroup -> ModifyAvailabilityZoneOptInStatus
$sel:groupName:ModifyAvailabilityZoneGroup' :: ModifyAvailabilityZoneGroup -> Text
$sel:dryRun:ModifyAvailabilityZoneGroup' :: ModifyAvailabilityZoneGroup -> Maybe Bool
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
dryRun
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
groupName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ModifyAvailabilityZoneOptInStatus
optInStatus
instance Data.ToHeaders ModifyAvailabilityZoneGroup where
toHeaders :: ModifyAvailabilityZoneGroup -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath ModifyAvailabilityZoneGroup where
toPath :: ModifyAvailabilityZoneGroup -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery ModifyAvailabilityZoneGroup where
toQuery :: ModifyAvailabilityZoneGroup -> QueryString
toQuery ModifyAvailabilityZoneGroup' {Maybe Bool
Text
ModifyAvailabilityZoneOptInStatus
optInStatus :: ModifyAvailabilityZoneOptInStatus
groupName :: Text
dryRun :: Maybe Bool
$sel:optInStatus:ModifyAvailabilityZoneGroup' :: ModifyAvailabilityZoneGroup -> ModifyAvailabilityZoneOptInStatus
$sel:groupName:ModifyAvailabilityZoneGroup' :: ModifyAvailabilityZoneGroup -> Text
$sel:dryRun:ModifyAvailabilityZoneGroup' :: ModifyAvailabilityZoneGroup -> Maybe Bool
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ( ByteString
"ModifyAvailabilityZoneGroup" ::
Prelude.ByteString
),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2016-11-15" :: Prelude.ByteString),
ByteString
"DryRun" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
dryRun,
ByteString
"GroupName" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
groupName,
ByteString
"OptInStatus" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ModifyAvailabilityZoneOptInStatus
optInStatus
]
data ModifyAvailabilityZoneGroupResponse = ModifyAvailabilityZoneGroupResponse'
{
ModifyAvailabilityZoneGroupResponse -> Maybe Bool
return' :: Prelude.Maybe Prelude.Bool,
ModifyAvailabilityZoneGroupResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ModifyAvailabilityZoneGroupResponse
-> ModifyAvailabilityZoneGroupResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyAvailabilityZoneGroupResponse
-> ModifyAvailabilityZoneGroupResponse -> Bool
$c/= :: ModifyAvailabilityZoneGroupResponse
-> ModifyAvailabilityZoneGroupResponse -> Bool
== :: ModifyAvailabilityZoneGroupResponse
-> ModifyAvailabilityZoneGroupResponse -> Bool
$c== :: ModifyAvailabilityZoneGroupResponse
-> ModifyAvailabilityZoneGroupResponse -> Bool
Prelude.Eq, ReadPrec [ModifyAvailabilityZoneGroupResponse]
ReadPrec ModifyAvailabilityZoneGroupResponse
Int -> ReadS ModifyAvailabilityZoneGroupResponse
ReadS [ModifyAvailabilityZoneGroupResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifyAvailabilityZoneGroupResponse]
$creadListPrec :: ReadPrec [ModifyAvailabilityZoneGroupResponse]
readPrec :: ReadPrec ModifyAvailabilityZoneGroupResponse
$creadPrec :: ReadPrec ModifyAvailabilityZoneGroupResponse
readList :: ReadS [ModifyAvailabilityZoneGroupResponse]
$creadList :: ReadS [ModifyAvailabilityZoneGroupResponse]
readsPrec :: Int -> ReadS ModifyAvailabilityZoneGroupResponse
$creadsPrec :: Int -> ReadS ModifyAvailabilityZoneGroupResponse
Prelude.Read, Int -> ModifyAvailabilityZoneGroupResponse -> ShowS
[ModifyAvailabilityZoneGroupResponse] -> ShowS
ModifyAvailabilityZoneGroupResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyAvailabilityZoneGroupResponse] -> ShowS
$cshowList :: [ModifyAvailabilityZoneGroupResponse] -> ShowS
show :: ModifyAvailabilityZoneGroupResponse -> String
$cshow :: ModifyAvailabilityZoneGroupResponse -> String
showsPrec :: Int -> ModifyAvailabilityZoneGroupResponse -> ShowS
$cshowsPrec :: Int -> ModifyAvailabilityZoneGroupResponse -> ShowS
Prelude.Show, forall x.
Rep ModifyAvailabilityZoneGroupResponse x
-> ModifyAvailabilityZoneGroupResponse
forall x.
ModifyAvailabilityZoneGroupResponse
-> Rep ModifyAvailabilityZoneGroupResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ModifyAvailabilityZoneGroupResponse x
-> ModifyAvailabilityZoneGroupResponse
$cfrom :: forall x.
ModifyAvailabilityZoneGroupResponse
-> Rep ModifyAvailabilityZoneGroupResponse x
Prelude.Generic)
newModifyAvailabilityZoneGroupResponse ::
Prelude.Int ->
ModifyAvailabilityZoneGroupResponse
newModifyAvailabilityZoneGroupResponse :: Int -> ModifyAvailabilityZoneGroupResponse
newModifyAvailabilityZoneGroupResponse Int
pHttpStatus_ =
ModifyAvailabilityZoneGroupResponse'
{ $sel:return':ModifyAvailabilityZoneGroupResponse' :: Maybe Bool
return' =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:ModifyAvailabilityZoneGroupResponse' :: Int
httpStatus = Int
pHttpStatus_
}
modifyAvailabilityZoneGroupResponse_return :: Lens.Lens' ModifyAvailabilityZoneGroupResponse (Prelude.Maybe Prelude.Bool)
modifyAvailabilityZoneGroupResponse_return :: Lens' ModifyAvailabilityZoneGroupResponse (Maybe Bool)
modifyAvailabilityZoneGroupResponse_return = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyAvailabilityZoneGroupResponse' {Maybe Bool
return' :: Maybe Bool
$sel:return':ModifyAvailabilityZoneGroupResponse' :: ModifyAvailabilityZoneGroupResponse -> Maybe Bool
return'} -> Maybe Bool
return') (\s :: ModifyAvailabilityZoneGroupResponse
s@ModifyAvailabilityZoneGroupResponse' {} Maybe Bool
a -> ModifyAvailabilityZoneGroupResponse
s {$sel:return':ModifyAvailabilityZoneGroupResponse' :: Maybe Bool
return' = Maybe Bool
a} :: ModifyAvailabilityZoneGroupResponse)
modifyAvailabilityZoneGroupResponse_httpStatus :: Lens.Lens' ModifyAvailabilityZoneGroupResponse Prelude.Int
modifyAvailabilityZoneGroupResponse_httpStatus :: Lens' ModifyAvailabilityZoneGroupResponse Int
modifyAvailabilityZoneGroupResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyAvailabilityZoneGroupResponse' {Int
httpStatus :: Int
$sel:httpStatus:ModifyAvailabilityZoneGroupResponse' :: ModifyAvailabilityZoneGroupResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ModifyAvailabilityZoneGroupResponse
s@ModifyAvailabilityZoneGroupResponse' {} Int
a -> ModifyAvailabilityZoneGroupResponse
s {$sel:httpStatus:ModifyAvailabilityZoneGroupResponse' :: Int
httpStatus = Int
a} :: ModifyAvailabilityZoneGroupResponse)
instance
Prelude.NFData
ModifyAvailabilityZoneGroupResponse
where
rnf :: ModifyAvailabilityZoneGroupResponse -> ()
rnf ModifyAvailabilityZoneGroupResponse' {Int
Maybe Bool
httpStatus :: Int
return' :: Maybe Bool
$sel:httpStatus:ModifyAvailabilityZoneGroupResponse' :: ModifyAvailabilityZoneGroupResponse -> Int
$sel:return':ModifyAvailabilityZoneGroupResponse' :: ModifyAvailabilityZoneGroupResponse -> Maybe Bool
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
return'
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus