{-# 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.ModifyIpam
(
ModifyIpam (..),
newModifyIpam,
modifyIpam_addOperatingRegions,
modifyIpam_description,
modifyIpam_dryRun,
modifyIpam_removeOperatingRegions,
modifyIpam_ipamId,
ModifyIpamResponse (..),
newModifyIpamResponse,
modifyIpamResponse_ipam,
modifyIpamResponse_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 ModifyIpam = ModifyIpam'
{
ModifyIpam -> Maybe [AddIpamOperatingRegion]
addOperatingRegions :: Prelude.Maybe [AddIpamOperatingRegion],
ModifyIpam -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
ModifyIpam -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
ModifyIpam -> Maybe [RemoveIpamOperatingRegion]
removeOperatingRegions :: Prelude.Maybe [RemoveIpamOperatingRegion],
ModifyIpam -> Text
ipamId :: Prelude.Text
}
deriving (ModifyIpam -> ModifyIpam -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyIpam -> ModifyIpam -> Bool
$c/= :: ModifyIpam -> ModifyIpam -> Bool
== :: ModifyIpam -> ModifyIpam -> Bool
$c== :: ModifyIpam -> ModifyIpam -> Bool
Prelude.Eq, ReadPrec [ModifyIpam]
ReadPrec ModifyIpam
Int -> ReadS ModifyIpam
ReadS [ModifyIpam]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifyIpam]
$creadListPrec :: ReadPrec [ModifyIpam]
readPrec :: ReadPrec ModifyIpam
$creadPrec :: ReadPrec ModifyIpam
readList :: ReadS [ModifyIpam]
$creadList :: ReadS [ModifyIpam]
readsPrec :: Int -> ReadS ModifyIpam
$creadsPrec :: Int -> ReadS ModifyIpam
Prelude.Read, Int -> ModifyIpam -> ShowS
[ModifyIpam] -> ShowS
ModifyIpam -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyIpam] -> ShowS
$cshowList :: [ModifyIpam] -> ShowS
show :: ModifyIpam -> String
$cshow :: ModifyIpam -> String
showsPrec :: Int -> ModifyIpam -> ShowS
$cshowsPrec :: Int -> ModifyIpam -> ShowS
Prelude.Show, forall x. Rep ModifyIpam x -> ModifyIpam
forall x. ModifyIpam -> Rep ModifyIpam x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ModifyIpam x -> ModifyIpam
$cfrom :: forall x. ModifyIpam -> Rep ModifyIpam x
Prelude.Generic)
newModifyIpam ::
Prelude.Text ->
ModifyIpam
newModifyIpam :: Text -> ModifyIpam
newModifyIpam Text
pIpamId_ =
ModifyIpam'
{ $sel:addOperatingRegions:ModifyIpam' :: Maybe [AddIpamOperatingRegion]
addOperatingRegions = forall a. Maybe a
Prelude.Nothing,
$sel:description:ModifyIpam' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:dryRun:ModifyIpam' :: Maybe Bool
dryRun = forall a. Maybe a
Prelude.Nothing,
$sel:removeOperatingRegions:ModifyIpam' :: Maybe [RemoveIpamOperatingRegion]
removeOperatingRegions = forall a. Maybe a
Prelude.Nothing,
$sel:ipamId:ModifyIpam' :: Text
ipamId = Text
pIpamId_
}
modifyIpam_addOperatingRegions :: Lens.Lens' ModifyIpam (Prelude.Maybe [AddIpamOperatingRegion])
modifyIpam_addOperatingRegions :: Lens' ModifyIpam (Maybe [AddIpamOperatingRegion])
modifyIpam_addOperatingRegions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyIpam' {Maybe [AddIpamOperatingRegion]
addOperatingRegions :: Maybe [AddIpamOperatingRegion]
$sel:addOperatingRegions:ModifyIpam' :: ModifyIpam -> Maybe [AddIpamOperatingRegion]
addOperatingRegions} -> Maybe [AddIpamOperatingRegion]
addOperatingRegions) (\s :: ModifyIpam
s@ModifyIpam' {} Maybe [AddIpamOperatingRegion]
a -> ModifyIpam
s {$sel:addOperatingRegions:ModifyIpam' :: Maybe [AddIpamOperatingRegion]
addOperatingRegions = Maybe [AddIpamOperatingRegion]
a} :: ModifyIpam) 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
modifyIpam_description :: Lens.Lens' ModifyIpam (Prelude.Maybe Prelude.Text)
modifyIpam_description :: Lens' ModifyIpam (Maybe Text)
modifyIpam_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyIpam' {Maybe Text
description :: Maybe Text
$sel:description:ModifyIpam' :: ModifyIpam -> Maybe Text
description} -> Maybe Text
description) (\s :: ModifyIpam
s@ModifyIpam' {} Maybe Text
a -> ModifyIpam
s {$sel:description:ModifyIpam' :: Maybe Text
description = Maybe Text
a} :: ModifyIpam)
modifyIpam_dryRun :: Lens.Lens' ModifyIpam (Prelude.Maybe Prelude.Bool)
modifyIpam_dryRun :: Lens' ModifyIpam (Maybe Bool)
modifyIpam_dryRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyIpam' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:ModifyIpam' :: ModifyIpam -> Maybe Bool
dryRun} -> Maybe Bool
dryRun) (\s :: ModifyIpam
s@ModifyIpam' {} Maybe Bool
a -> ModifyIpam
s {$sel:dryRun:ModifyIpam' :: Maybe Bool
dryRun = Maybe Bool
a} :: ModifyIpam)
modifyIpam_removeOperatingRegions :: Lens.Lens' ModifyIpam (Prelude.Maybe [RemoveIpamOperatingRegion])
modifyIpam_removeOperatingRegions :: Lens' ModifyIpam (Maybe [RemoveIpamOperatingRegion])
modifyIpam_removeOperatingRegions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyIpam' {Maybe [RemoveIpamOperatingRegion]
removeOperatingRegions :: Maybe [RemoveIpamOperatingRegion]
$sel:removeOperatingRegions:ModifyIpam' :: ModifyIpam -> Maybe [RemoveIpamOperatingRegion]
removeOperatingRegions} -> Maybe [RemoveIpamOperatingRegion]
removeOperatingRegions) (\s :: ModifyIpam
s@ModifyIpam' {} Maybe [RemoveIpamOperatingRegion]
a -> ModifyIpam
s {$sel:removeOperatingRegions:ModifyIpam' :: Maybe [RemoveIpamOperatingRegion]
removeOperatingRegions = Maybe [RemoveIpamOperatingRegion]
a} :: ModifyIpam) 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
modifyIpam_ipamId :: Lens.Lens' ModifyIpam Prelude.Text
modifyIpam_ipamId :: Lens' ModifyIpam Text
modifyIpam_ipamId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyIpam' {Text
ipamId :: Text
$sel:ipamId:ModifyIpam' :: ModifyIpam -> Text
ipamId} -> Text
ipamId) (\s :: ModifyIpam
s@ModifyIpam' {} Text
a -> ModifyIpam
s {$sel:ipamId:ModifyIpam' :: Text
ipamId = Text
a} :: ModifyIpam)
instance Core.AWSRequest ModifyIpam where
type AWSResponse ModifyIpam = ModifyIpamResponse
request :: (Service -> Service) -> ModifyIpam -> Request ModifyIpam
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 ModifyIpam
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse ModifyIpam)))
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 Ipam -> Int -> ModifyIpamResponse
ModifyIpamResponse'
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
"ipam")
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 ModifyIpam where
hashWithSalt :: Int -> ModifyIpam -> Int
hashWithSalt Int
_salt ModifyIpam' {Maybe Bool
Maybe [AddIpamOperatingRegion]
Maybe [RemoveIpamOperatingRegion]
Maybe Text
Text
ipamId :: Text
removeOperatingRegions :: Maybe [RemoveIpamOperatingRegion]
dryRun :: Maybe Bool
description :: Maybe Text
addOperatingRegions :: Maybe [AddIpamOperatingRegion]
$sel:ipamId:ModifyIpam' :: ModifyIpam -> Text
$sel:removeOperatingRegions:ModifyIpam' :: ModifyIpam -> Maybe [RemoveIpamOperatingRegion]
$sel:dryRun:ModifyIpam' :: ModifyIpam -> Maybe Bool
$sel:description:ModifyIpam' :: ModifyIpam -> Maybe Text
$sel:addOperatingRegions:ModifyIpam' :: ModifyIpam -> Maybe [AddIpamOperatingRegion]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [AddIpamOperatingRegion]
addOperatingRegions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
dryRun
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [RemoveIpamOperatingRegion]
removeOperatingRegions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
ipamId
instance Prelude.NFData ModifyIpam where
rnf :: ModifyIpam -> ()
rnf ModifyIpam' {Maybe Bool
Maybe [AddIpamOperatingRegion]
Maybe [RemoveIpamOperatingRegion]
Maybe Text
Text
ipamId :: Text
removeOperatingRegions :: Maybe [RemoveIpamOperatingRegion]
dryRun :: Maybe Bool
description :: Maybe Text
addOperatingRegions :: Maybe [AddIpamOperatingRegion]
$sel:ipamId:ModifyIpam' :: ModifyIpam -> Text
$sel:removeOperatingRegions:ModifyIpam' :: ModifyIpam -> Maybe [RemoveIpamOperatingRegion]
$sel:dryRun:ModifyIpam' :: ModifyIpam -> Maybe Bool
$sel:description:ModifyIpam' :: ModifyIpam -> Maybe Text
$sel:addOperatingRegions:ModifyIpam' :: ModifyIpam -> Maybe [AddIpamOperatingRegion]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [AddIpamOperatingRegion]
addOperatingRegions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
seq :: forall a b. a -> b -> b
`Prelude.seq` 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 Maybe [RemoveIpamOperatingRegion]
removeOperatingRegions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
ipamId
instance Data.ToHeaders ModifyIpam where
toHeaders :: ModifyIpam -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath ModifyIpam where
toPath :: ModifyIpam -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery ModifyIpam where
toQuery :: ModifyIpam -> QueryString
toQuery ModifyIpam' {Maybe Bool
Maybe [AddIpamOperatingRegion]
Maybe [RemoveIpamOperatingRegion]
Maybe Text
Text
ipamId :: Text
removeOperatingRegions :: Maybe [RemoveIpamOperatingRegion]
dryRun :: Maybe Bool
description :: Maybe Text
addOperatingRegions :: Maybe [AddIpamOperatingRegion]
$sel:ipamId:ModifyIpam' :: ModifyIpam -> Text
$sel:removeOperatingRegions:ModifyIpam' :: ModifyIpam -> Maybe [RemoveIpamOperatingRegion]
$sel:dryRun:ModifyIpam' :: ModifyIpam -> Maybe Bool
$sel:description:ModifyIpam' :: ModifyIpam -> Maybe Text
$sel:addOperatingRegions:ModifyIpam' :: ModifyIpam -> Maybe [AddIpamOperatingRegion]
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"ModifyIpam" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2016-11-15" :: Prelude.ByteString),
forall a. ToQuery a => a -> QueryString
Data.toQuery
( forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"AddOperatingRegion"
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [AddIpamOperatingRegion]
addOperatingRegions
),
ByteString
"Description" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
description,
ByteString
"DryRun" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
dryRun,
forall a. ToQuery a => a -> QueryString
Data.toQuery
( forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"RemoveOperatingRegion"
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [RemoveIpamOperatingRegion]
removeOperatingRegions
),
ByteString
"IpamId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
ipamId
]
data ModifyIpamResponse = ModifyIpamResponse'
{
ModifyIpamResponse -> Maybe Ipam
ipam :: Prelude.Maybe Ipam,
ModifyIpamResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ModifyIpamResponse -> ModifyIpamResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyIpamResponse -> ModifyIpamResponse -> Bool
$c/= :: ModifyIpamResponse -> ModifyIpamResponse -> Bool
== :: ModifyIpamResponse -> ModifyIpamResponse -> Bool
$c== :: ModifyIpamResponse -> ModifyIpamResponse -> Bool
Prelude.Eq, ReadPrec [ModifyIpamResponse]
ReadPrec ModifyIpamResponse
Int -> ReadS ModifyIpamResponse
ReadS [ModifyIpamResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifyIpamResponse]
$creadListPrec :: ReadPrec [ModifyIpamResponse]
readPrec :: ReadPrec ModifyIpamResponse
$creadPrec :: ReadPrec ModifyIpamResponse
readList :: ReadS [ModifyIpamResponse]
$creadList :: ReadS [ModifyIpamResponse]
readsPrec :: Int -> ReadS ModifyIpamResponse
$creadsPrec :: Int -> ReadS ModifyIpamResponse
Prelude.Read, Int -> ModifyIpamResponse -> ShowS
[ModifyIpamResponse] -> ShowS
ModifyIpamResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyIpamResponse] -> ShowS
$cshowList :: [ModifyIpamResponse] -> ShowS
show :: ModifyIpamResponse -> String
$cshow :: ModifyIpamResponse -> String
showsPrec :: Int -> ModifyIpamResponse -> ShowS
$cshowsPrec :: Int -> ModifyIpamResponse -> ShowS
Prelude.Show, forall x. Rep ModifyIpamResponse x -> ModifyIpamResponse
forall x. ModifyIpamResponse -> Rep ModifyIpamResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ModifyIpamResponse x -> ModifyIpamResponse
$cfrom :: forall x. ModifyIpamResponse -> Rep ModifyIpamResponse x
Prelude.Generic)
newModifyIpamResponse ::
Prelude.Int ->
ModifyIpamResponse
newModifyIpamResponse :: Int -> ModifyIpamResponse
newModifyIpamResponse Int
pHttpStatus_ =
ModifyIpamResponse'
{ $sel:ipam:ModifyIpamResponse' :: Maybe Ipam
ipam = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:ModifyIpamResponse' :: Int
httpStatus = Int
pHttpStatus_
}
modifyIpamResponse_ipam :: Lens.Lens' ModifyIpamResponse (Prelude.Maybe Ipam)
modifyIpamResponse_ipam :: Lens' ModifyIpamResponse (Maybe Ipam)
modifyIpamResponse_ipam = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyIpamResponse' {Maybe Ipam
ipam :: Maybe Ipam
$sel:ipam:ModifyIpamResponse' :: ModifyIpamResponse -> Maybe Ipam
ipam} -> Maybe Ipam
ipam) (\s :: ModifyIpamResponse
s@ModifyIpamResponse' {} Maybe Ipam
a -> ModifyIpamResponse
s {$sel:ipam:ModifyIpamResponse' :: Maybe Ipam
ipam = Maybe Ipam
a} :: ModifyIpamResponse)
modifyIpamResponse_httpStatus :: Lens.Lens' ModifyIpamResponse Prelude.Int
modifyIpamResponse_httpStatus :: Lens' ModifyIpamResponse Int
modifyIpamResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyIpamResponse' {Int
httpStatus :: Int
$sel:httpStatus:ModifyIpamResponse' :: ModifyIpamResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ModifyIpamResponse
s@ModifyIpamResponse' {} Int
a -> ModifyIpamResponse
s {$sel:httpStatus:ModifyIpamResponse' :: Int
httpStatus = Int
a} :: ModifyIpamResponse)
instance Prelude.NFData ModifyIpamResponse where
rnf :: ModifyIpamResponse -> ()
rnf ModifyIpamResponse' {Int
Maybe Ipam
httpStatus :: Int
ipam :: Maybe Ipam
$sel:httpStatus:ModifyIpamResponse' :: ModifyIpamResponse -> Int
$sel:ipam:ModifyIpamResponse' :: ModifyIpamResponse -> Maybe Ipam
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Ipam
ipam
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus