{-# 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.DeleteEgressOnlyInternetGateway
(
DeleteEgressOnlyInternetGateway (..),
newDeleteEgressOnlyInternetGateway,
deleteEgressOnlyInternetGateway_dryRun,
deleteEgressOnlyInternetGateway_egressOnlyInternetGatewayId,
DeleteEgressOnlyInternetGatewayResponse (..),
newDeleteEgressOnlyInternetGatewayResponse,
deleteEgressOnlyInternetGatewayResponse_returnCode,
deleteEgressOnlyInternetGatewayResponse_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 DeleteEgressOnlyInternetGateway = DeleteEgressOnlyInternetGateway'
{
DeleteEgressOnlyInternetGateway -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
DeleteEgressOnlyInternetGateway -> Text
egressOnlyInternetGatewayId :: Prelude.Text
}
deriving (DeleteEgressOnlyInternetGateway
-> DeleteEgressOnlyInternetGateway -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteEgressOnlyInternetGateway
-> DeleteEgressOnlyInternetGateway -> Bool
$c/= :: DeleteEgressOnlyInternetGateway
-> DeleteEgressOnlyInternetGateway -> Bool
== :: DeleteEgressOnlyInternetGateway
-> DeleteEgressOnlyInternetGateway -> Bool
$c== :: DeleteEgressOnlyInternetGateway
-> DeleteEgressOnlyInternetGateway -> Bool
Prelude.Eq, ReadPrec [DeleteEgressOnlyInternetGateway]
ReadPrec DeleteEgressOnlyInternetGateway
Int -> ReadS DeleteEgressOnlyInternetGateway
ReadS [DeleteEgressOnlyInternetGateway]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteEgressOnlyInternetGateway]
$creadListPrec :: ReadPrec [DeleteEgressOnlyInternetGateway]
readPrec :: ReadPrec DeleteEgressOnlyInternetGateway
$creadPrec :: ReadPrec DeleteEgressOnlyInternetGateway
readList :: ReadS [DeleteEgressOnlyInternetGateway]
$creadList :: ReadS [DeleteEgressOnlyInternetGateway]
readsPrec :: Int -> ReadS DeleteEgressOnlyInternetGateway
$creadsPrec :: Int -> ReadS DeleteEgressOnlyInternetGateway
Prelude.Read, Int -> DeleteEgressOnlyInternetGateway -> ShowS
[DeleteEgressOnlyInternetGateway] -> ShowS
DeleteEgressOnlyInternetGateway -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteEgressOnlyInternetGateway] -> ShowS
$cshowList :: [DeleteEgressOnlyInternetGateway] -> ShowS
show :: DeleteEgressOnlyInternetGateway -> String
$cshow :: DeleteEgressOnlyInternetGateway -> String
showsPrec :: Int -> DeleteEgressOnlyInternetGateway -> ShowS
$cshowsPrec :: Int -> DeleteEgressOnlyInternetGateway -> ShowS
Prelude.Show, forall x.
Rep DeleteEgressOnlyInternetGateway x
-> DeleteEgressOnlyInternetGateway
forall x.
DeleteEgressOnlyInternetGateway
-> Rep DeleteEgressOnlyInternetGateway x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteEgressOnlyInternetGateway x
-> DeleteEgressOnlyInternetGateway
$cfrom :: forall x.
DeleteEgressOnlyInternetGateway
-> Rep DeleteEgressOnlyInternetGateway x
Prelude.Generic)
newDeleteEgressOnlyInternetGateway ::
Prelude.Text ->
DeleteEgressOnlyInternetGateway
newDeleteEgressOnlyInternetGateway :: Text -> DeleteEgressOnlyInternetGateway
newDeleteEgressOnlyInternetGateway
Text
pEgressOnlyInternetGatewayId_ =
DeleteEgressOnlyInternetGateway'
{ $sel:dryRun:DeleteEgressOnlyInternetGateway' :: Maybe Bool
dryRun =
forall a. Maybe a
Prelude.Nothing,
$sel:egressOnlyInternetGatewayId:DeleteEgressOnlyInternetGateway' :: Text
egressOnlyInternetGatewayId =
Text
pEgressOnlyInternetGatewayId_
}
deleteEgressOnlyInternetGateway_dryRun :: Lens.Lens' DeleteEgressOnlyInternetGateway (Prelude.Maybe Prelude.Bool)
deleteEgressOnlyInternetGateway_dryRun :: Lens' DeleteEgressOnlyInternetGateway (Maybe Bool)
deleteEgressOnlyInternetGateway_dryRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteEgressOnlyInternetGateway' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:DeleteEgressOnlyInternetGateway' :: DeleteEgressOnlyInternetGateway -> Maybe Bool
dryRun} -> Maybe Bool
dryRun) (\s :: DeleteEgressOnlyInternetGateway
s@DeleteEgressOnlyInternetGateway' {} Maybe Bool
a -> DeleteEgressOnlyInternetGateway
s {$sel:dryRun:DeleteEgressOnlyInternetGateway' :: Maybe Bool
dryRun = Maybe Bool
a} :: DeleteEgressOnlyInternetGateway)
deleteEgressOnlyInternetGateway_egressOnlyInternetGatewayId :: Lens.Lens' DeleteEgressOnlyInternetGateway Prelude.Text
deleteEgressOnlyInternetGateway_egressOnlyInternetGatewayId :: Lens' DeleteEgressOnlyInternetGateway Text
deleteEgressOnlyInternetGateway_egressOnlyInternetGatewayId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteEgressOnlyInternetGateway' {Text
egressOnlyInternetGatewayId :: Text
$sel:egressOnlyInternetGatewayId:DeleteEgressOnlyInternetGateway' :: DeleteEgressOnlyInternetGateway -> Text
egressOnlyInternetGatewayId} -> Text
egressOnlyInternetGatewayId) (\s :: DeleteEgressOnlyInternetGateway
s@DeleteEgressOnlyInternetGateway' {} Text
a -> DeleteEgressOnlyInternetGateway
s {$sel:egressOnlyInternetGatewayId:DeleteEgressOnlyInternetGateway' :: Text
egressOnlyInternetGatewayId = Text
a} :: DeleteEgressOnlyInternetGateway)
instance
Core.AWSRequest
DeleteEgressOnlyInternetGateway
where
type
AWSResponse DeleteEgressOnlyInternetGateway =
DeleteEgressOnlyInternetGatewayResponse
request :: (Service -> Service)
-> DeleteEgressOnlyInternetGateway
-> Request DeleteEgressOnlyInternetGateway
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 DeleteEgressOnlyInternetGateway
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse DeleteEgressOnlyInternetGateway)))
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 -> DeleteEgressOnlyInternetGatewayResponse
DeleteEgressOnlyInternetGatewayResponse'
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
"returnCode")
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
DeleteEgressOnlyInternetGateway
where
hashWithSalt :: Int -> DeleteEgressOnlyInternetGateway -> Int
hashWithSalt
Int
_salt
DeleteEgressOnlyInternetGateway' {Maybe Bool
Text
egressOnlyInternetGatewayId :: Text
dryRun :: Maybe Bool
$sel:egressOnlyInternetGatewayId:DeleteEgressOnlyInternetGateway' :: DeleteEgressOnlyInternetGateway -> Text
$sel:dryRun:DeleteEgressOnlyInternetGateway' :: DeleteEgressOnlyInternetGateway -> 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
egressOnlyInternetGatewayId
instance
Prelude.NFData
DeleteEgressOnlyInternetGateway
where
rnf :: DeleteEgressOnlyInternetGateway -> ()
rnf DeleteEgressOnlyInternetGateway' {Maybe Bool
Text
egressOnlyInternetGatewayId :: Text
dryRun :: Maybe Bool
$sel:egressOnlyInternetGatewayId:DeleteEgressOnlyInternetGateway' :: DeleteEgressOnlyInternetGateway -> Text
$sel:dryRun:DeleteEgressOnlyInternetGateway' :: DeleteEgressOnlyInternetGateway -> 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
egressOnlyInternetGatewayId
instance
Data.ToHeaders
DeleteEgressOnlyInternetGateway
where
toHeaders :: DeleteEgressOnlyInternetGateway -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath DeleteEgressOnlyInternetGateway where
toPath :: DeleteEgressOnlyInternetGateway -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DeleteEgressOnlyInternetGateway where
toQuery :: DeleteEgressOnlyInternetGateway -> QueryString
toQuery DeleteEgressOnlyInternetGateway' {Maybe Bool
Text
egressOnlyInternetGatewayId :: Text
dryRun :: Maybe Bool
$sel:egressOnlyInternetGatewayId:DeleteEgressOnlyInternetGateway' :: DeleteEgressOnlyInternetGateway -> Text
$sel:dryRun:DeleteEgressOnlyInternetGateway' :: DeleteEgressOnlyInternetGateway -> Maybe Bool
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ( ByteString
"DeleteEgressOnlyInternetGateway" ::
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
"EgressOnlyInternetGatewayId"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
egressOnlyInternetGatewayId
]
data DeleteEgressOnlyInternetGatewayResponse = DeleteEgressOnlyInternetGatewayResponse'
{
DeleteEgressOnlyInternetGatewayResponse -> Maybe Bool
returnCode :: Prelude.Maybe Prelude.Bool,
DeleteEgressOnlyInternetGatewayResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeleteEgressOnlyInternetGatewayResponse
-> DeleteEgressOnlyInternetGatewayResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteEgressOnlyInternetGatewayResponse
-> DeleteEgressOnlyInternetGatewayResponse -> Bool
$c/= :: DeleteEgressOnlyInternetGatewayResponse
-> DeleteEgressOnlyInternetGatewayResponse -> Bool
== :: DeleteEgressOnlyInternetGatewayResponse
-> DeleteEgressOnlyInternetGatewayResponse -> Bool
$c== :: DeleteEgressOnlyInternetGatewayResponse
-> DeleteEgressOnlyInternetGatewayResponse -> Bool
Prelude.Eq, ReadPrec [DeleteEgressOnlyInternetGatewayResponse]
ReadPrec DeleteEgressOnlyInternetGatewayResponse
Int -> ReadS DeleteEgressOnlyInternetGatewayResponse
ReadS [DeleteEgressOnlyInternetGatewayResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteEgressOnlyInternetGatewayResponse]
$creadListPrec :: ReadPrec [DeleteEgressOnlyInternetGatewayResponse]
readPrec :: ReadPrec DeleteEgressOnlyInternetGatewayResponse
$creadPrec :: ReadPrec DeleteEgressOnlyInternetGatewayResponse
readList :: ReadS [DeleteEgressOnlyInternetGatewayResponse]
$creadList :: ReadS [DeleteEgressOnlyInternetGatewayResponse]
readsPrec :: Int -> ReadS DeleteEgressOnlyInternetGatewayResponse
$creadsPrec :: Int -> ReadS DeleteEgressOnlyInternetGatewayResponse
Prelude.Read, Int -> DeleteEgressOnlyInternetGatewayResponse -> ShowS
[DeleteEgressOnlyInternetGatewayResponse] -> ShowS
DeleteEgressOnlyInternetGatewayResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteEgressOnlyInternetGatewayResponse] -> ShowS
$cshowList :: [DeleteEgressOnlyInternetGatewayResponse] -> ShowS
show :: DeleteEgressOnlyInternetGatewayResponse -> String
$cshow :: DeleteEgressOnlyInternetGatewayResponse -> String
showsPrec :: Int -> DeleteEgressOnlyInternetGatewayResponse -> ShowS
$cshowsPrec :: Int -> DeleteEgressOnlyInternetGatewayResponse -> ShowS
Prelude.Show, forall x.
Rep DeleteEgressOnlyInternetGatewayResponse x
-> DeleteEgressOnlyInternetGatewayResponse
forall x.
DeleteEgressOnlyInternetGatewayResponse
-> Rep DeleteEgressOnlyInternetGatewayResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteEgressOnlyInternetGatewayResponse x
-> DeleteEgressOnlyInternetGatewayResponse
$cfrom :: forall x.
DeleteEgressOnlyInternetGatewayResponse
-> Rep DeleteEgressOnlyInternetGatewayResponse x
Prelude.Generic)
newDeleteEgressOnlyInternetGatewayResponse ::
Prelude.Int ->
DeleteEgressOnlyInternetGatewayResponse
newDeleteEgressOnlyInternetGatewayResponse :: Int -> DeleteEgressOnlyInternetGatewayResponse
newDeleteEgressOnlyInternetGatewayResponse
Int
pHttpStatus_ =
DeleteEgressOnlyInternetGatewayResponse'
{ $sel:returnCode:DeleteEgressOnlyInternetGatewayResponse' :: Maybe Bool
returnCode =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DeleteEgressOnlyInternetGatewayResponse' :: Int
httpStatus = Int
pHttpStatus_
}
deleteEgressOnlyInternetGatewayResponse_returnCode :: Lens.Lens' DeleteEgressOnlyInternetGatewayResponse (Prelude.Maybe Prelude.Bool)
deleteEgressOnlyInternetGatewayResponse_returnCode :: Lens' DeleteEgressOnlyInternetGatewayResponse (Maybe Bool)
deleteEgressOnlyInternetGatewayResponse_returnCode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteEgressOnlyInternetGatewayResponse' {Maybe Bool
returnCode :: Maybe Bool
$sel:returnCode:DeleteEgressOnlyInternetGatewayResponse' :: DeleteEgressOnlyInternetGatewayResponse -> Maybe Bool
returnCode} -> Maybe Bool
returnCode) (\s :: DeleteEgressOnlyInternetGatewayResponse
s@DeleteEgressOnlyInternetGatewayResponse' {} Maybe Bool
a -> DeleteEgressOnlyInternetGatewayResponse
s {$sel:returnCode:DeleteEgressOnlyInternetGatewayResponse' :: Maybe Bool
returnCode = Maybe Bool
a} :: DeleteEgressOnlyInternetGatewayResponse)
deleteEgressOnlyInternetGatewayResponse_httpStatus :: Lens.Lens' DeleteEgressOnlyInternetGatewayResponse Prelude.Int
deleteEgressOnlyInternetGatewayResponse_httpStatus :: Lens' DeleteEgressOnlyInternetGatewayResponse Int
deleteEgressOnlyInternetGatewayResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteEgressOnlyInternetGatewayResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteEgressOnlyInternetGatewayResponse' :: DeleteEgressOnlyInternetGatewayResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteEgressOnlyInternetGatewayResponse
s@DeleteEgressOnlyInternetGatewayResponse' {} Int
a -> DeleteEgressOnlyInternetGatewayResponse
s {$sel:httpStatus:DeleteEgressOnlyInternetGatewayResponse' :: Int
httpStatus = Int
a} :: DeleteEgressOnlyInternetGatewayResponse)
instance
Prelude.NFData
DeleteEgressOnlyInternetGatewayResponse
where
rnf :: DeleteEgressOnlyInternetGatewayResponse -> ()
rnf DeleteEgressOnlyInternetGatewayResponse' {Int
Maybe Bool
httpStatus :: Int
returnCode :: Maybe Bool
$sel:httpStatus:DeleteEgressOnlyInternetGatewayResponse' :: DeleteEgressOnlyInternetGatewayResponse -> Int
$sel:returnCode:DeleteEgressOnlyInternetGatewayResponse' :: DeleteEgressOnlyInternetGatewayResponse -> Maybe Bool
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
returnCode
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus