{-# 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.DeleteIpam
(
DeleteIpam (..),
newDeleteIpam,
deleteIpam_cascade,
deleteIpam_dryRun,
deleteIpam_ipamId,
DeleteIpamResponse (..),
newDeleteIpamResponse,
deleteIpamResponse_ipam,
deleteIpamResponse_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 DeleteIpam = DeleteIpam'
{
DeleteIpam -> Maybe Bool
cascade :: Prelude.Maybe Prelude.Bool,
DeleteIpam -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
DeleteIpam -> Text
ipamId :: Prelude.Text
}
deriving (DeleteIpam -> DeleteIpam -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteIpam -> DeleteIpam -> Bool
$c/= :: DeleteIpam -> DeleteIpam -> Bool
== :: DeleteIpam -> DeleteIpam -> Bool
$c== :: DeleteIpam -> DeleteIpam -> Bool
Prelude.Eq, ReadPrec [DeleteIpam]
ReadPrec DeleteIpam
Int -> ReadS DeleteIpam
ReadS [DeleteIpam]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteIpam]
$creadListPrec :: ReadPrec [DeleteIpam]
readPrec :: ReadPrec DeleteIpam
$creadPrec :: ReadPrec DeleteIpam
readList :: ReadS [DeleteIpam]
$creadList :: ReadS [DeleteIpam]
readsPrec :: Int -> ReadS DeleteIpam
$creadsPrec :: Int -> ReadS DeleteIpam
Prelude.Read, Int -> DeleteIpam -> ShowS
[DeleteIpam] -> ShowS
DeleteIpam -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteIpam] -> ShowS
$cshowList :: [DeleteIpam] -> ShowS
show :: DeleteIpam -> String
$cshow :: DeleteIpam -> String
showsPrec :: Int -> DeleteIpam -> ShowS
$cshowsPrec :: Int -> DeleteIpam -> ShowS
Prelude.Show, forall x. Rep DeleteIpam x -> DeleteIpam
forall x. DeleteIpam -> Rep DeleteIpam x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteIpam x -> DeleteIpam
$cfrom :: forall x. DeleteIpam -> Rep DeleteIpam x
Prelude.Generic)
newDeleteIpam ::
Prelude.Text ->
DeleteIpam
newDeleteIpam :: Text -> DeleteIpam
newDeleteIpam Text
pIpamId_ =
DeleteIpam'
{ $sel:cascade:DeleteIpam' :: Maybe Bool
cascade = forall a. Maybe a
Prelude.Nothing,
$sel:dryRun:DeleteIpam' :: Maybe Bool
dryRun = forall a. Maybe a
Prelude.Nothing,
$sel:ipamId:DeleteIpam' :: Text
ipamId = Text
pIpamId_
}
deleteIpam_cascade :: Lens.Lens' DeleteIpam (Prelude.Maybe Prelude.Bool)
deleteIpam_cascade :: Lens' DeleteIpam (Maybe Bool)
deleteIpam_cascade = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteIpam' {Maybe Bool
cascade :: Maybe Bool
$sel:cascade:DeleteIpam' :: DeleteIpam -> Maybe Bool
cascade} -> Maybe Bool
cascade) (\s :: DeleteIpam
s@DeleteIpam' {} Maybe Bool
a -> DeleteIpam
s {$sel:cascade:DeleteIpam' :: Maybe Bool
cascade = Maybe Bool
a} :: DeleteIpam)
deleteIpam_dryRun :: Lens.Lens' DeleteIpam (Prelude.Maybe Prelude.Bool)
deleteIpam_dryRun :: Lens' DeleteIpam (Maybe Bool)
deleteIpam_dryRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteIpam' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:DeleteIpam' :: DeleteIpam -> Maybe Bool
dryRun} -> Maybe Bool
dryRun) (\s :: DeleteIpam
s@DeleteIpam' {} Maybe Bool
a -> DeleteIpam
s {$sel:dryRun:DeleteIpam' :: Maybe Bool
dryRun = Maybe Bool
a} :: DeleteIpam)
deleteIpam_ipamId :: Lens.Lens' DeleteIpam Prelude.Text
deleteIpam_ipamId :: Lens' DeleteIpam Text
deleteIpam_ipamId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteIpam' {Text
ipamId :: Text
$sel:ipamId:DeleteIpam' :: DeleteIpam -> Text
ipamId} -> Text
ipamId) (\s :: DeleteIpam
s@DeleteIpam' {} Text
a -> DeleteIpam
s {$sel:ipamId:DeleteIpam' :: Text
ipamId = Text
a} :: DeleteIpam)
instance Core.AWSRequest DeleteIpam where
type AWSResponse DeleteIpam = DeleteIpamResponse
request :: (Service -> Service) -> DeleteIpam -> Request DeleteIpam
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 DeleteIpam
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DeleteIpam)))
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 -> DeleteIpamResponse
DeleteIpamResponse'
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 DeleteIpam where
hashWithSalt :: Int -> DeleteIpam -> Int
hashWithSalt Int
_salt DeleteIpam' {Maybe Bool
Text
ipamId :: Text
dryRun :: Maybe Bool
cascade :: Maybe Bool
$sel:ipamId:DeleteIpam' :: DeleteIpam -> Text
$sel:dryRun:DeleteIpam' :: DeleteIpam -> Maybe Bool
$sel:cascade:DeleteIpam' :: DeleteIpam -> Maybe Bool
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
cascade
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
dryRun
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
ipamId
instance Prelude.NFData DeleteIpam where
rnf :: DeleteIpam -> ()
rnf DeleteIpam' {Maybe Bool
Text
ipamId :: Text
dryRun :: Maybe Bool
cascade :: Maybe Bool
$sel:ipamId:DeleteIpam' :: DeleteIpam -> Text
$sel:dryRun:DeleteIpam' :: DeleteIpam -> Maybe Bool
$sel:cascade:DeleteIpam' :: DeleteIpam -> Maybe Bool
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
cascade
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 Text
ipamId
instance Data.ToHeaders DeleteIpam where
toHeaders :: DeleteIpam -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath DeleteIpam where
toPath :: DeleteIpam -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DeleteIpam where
toQuery :: DeleteIpam -> QueryString
toQuery DeleteIpam' {Maybe Bool
Text
ipamId :: Text
dryRun :: Maybe Bool
cascade :: Maybe Bool
$sel:ipamId:DeleteIpam' :: DeleteIpam -> Text
$sel:dryRun:DeleteIpam' :: DeleteIpam -> Maybe Bool
$sel:cascade:DeleteIpam' :: DeleteIpam -> Maybe Bool
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"DeleteIpam" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2016-11-15" :: Prelude.ByteString),
ByteString
"Cascade" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
cascade,
ByteString
"DryRun" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
dryRun,
ByteString
"IpamId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
ipamId
]
data DeleteIpamResponse = DeleteIpamResponse'
{
DeleteIpamResponse -> Maybe Ipam
ipam :: Prelude.Maybe Ipam,
DeleteIpamResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeleteIpamResponse -> DeleteIpamResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteIpamResponse -> DeleteIpamResponse -> Bool
$c/= :: DeleteIpamResponse -> DeleteIpamResponse -> Bool
== :: DeleteIpamResponse -> DeleteIpamResponse -> Bool
$c== :: DeleteIpamResponse -> DeleteIpamResponse -> Bool
Prelude.Eq, ReadPrec [DeleteIpamResponse]
ReadPrec DeleteIpamResponse
Int -> ReadS DeleteIpamResponse
ReadS [DeleteIpamResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteIpamResponse]
$creadListPrec :: ReadPrec [DeleteIpamResponse]
readPrec :: ReadPrec DeleteIpamResponse
$creadPrec :: ReadPrec DeleteIpamResponse
readList :: ReadS [DeleteIpamResponse]
$creadList :: ReadS [DeleteIpamResponse]
readsPrec :: Int -> ReadS DeleteIpamResponse
$creadsPrec :: Int -> ReadS DeleteIpamResponse
Prelude.Read, Int -> DeleteIpamResponse -> ShowS
[DeleteIpamResponse] -> ShowS
DeleteIpamResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteIpamResponse] -> ShowS
$cshowList :: [DeleteIpamResponse] -> ShowS
show :: DeleteIpamResponse -> String
$cshow :: DeleteIpamResponse -> String
showsPrec :: Int -> DeleteIpamResponse -> ShowS
$cshowsPrec :: Int -> DeleteIpamResponse -> ShowS
Prelude.Show, forall x. Rep DeleteIpamResponse x -> DeleteIpamResponse
forall x. DeleteIpamResponse -> Rep DeleteIpamResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteIpamResponse x -> DeleteIpamResponse
$cfrom :: forall x. DeleteIpamResponse -> Rep DeleteIpamResponse x
Prelude.Generic)
newDeleteIpamResponse ::
Prelude.Int ->
DeleteIpamResponse
newDeleteIpamResponse :: Int -> DeleteIpamResponse
newDeleteIpamResponse Int
pHttpStatus_ =
DeleteIpamResponse'
{ $sel:ipam:DeleteIpamResponse' :: Maybe Ipam
ipam = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DeleteIpamResponse' :: Int
httpStatus = Int
pHttpStatus_
}
deleteIpamResponse_ipam :: Lens.Lens' DeleteIpamResponse (Prelude.Maybe Ipam)
deleteIpamResponse_ipam :: Lens' DeleteIpamResponse (Maybe Ipam)
deleteIpamResponse_ipam = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteIpamResponse' {Maybe Ipam
ipam :: Maybe Ipam
$sel:ipam:DeleteIpamResponse' :: DeleteIpamResponse -> Maybe Ipam
ipam} -> Maybe Ipam
ipam) (\s :: DeleteIpamResponse
s@DeleteIpamResponse' {} Maybe Ipam
a -> DeleteIpamResponse
s {$sel:ipam:DeleteIpamResponse' :: Maybe Ipam
ipam = Maybe Ipam
a} :: DeleteIpamResponse)
deleteIpamResponse_httpStatus :: Lens.Lens' DeleteIpamResponse Prelude.Int
deleteIpamResponse_httpStatus :: Lens' DeleteIpamResponse Int
deleteIpamResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteIpamResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteIpamResponse' :: DeleteIpamResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteIpamResponse
s@DeleteIpamResponse' {} Int
a -> DeleteIpamResponse
s {$sel:httpStatus:DeleteIpamResponse' :: Int
httpStatus = Int
a} :: DeleteIpamResponse)
instance Prelude.NFData DeleteIpamResponse where
rnf :: DeleteIpamResponse -> ()
rnf DeleteIpamResponse' {Int
Maybe Ipam
httpStatus :: Int
ipam :: Maybe Ipam
$sel:httpStatus:DeleteIpamResponse' :: DeleteIpamResponse -> Int
$sel:ipam:DeleteIpamResponse' :: DeleteIpamResponse -> 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