{-# 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.DisableAddressTransfer
(
DisableAddressTransfer (..),
newDisableAddressTransfer,
disableAddressTransfer_dryRun,
disableAddressTransfer_allocationId,
DisableAddressTransferResponse (..),
newDisableAddressTransferResponse,
disableAddressTransferResponse_addressTransfer,
disableAddressTransferResponse_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 DisableAddressTransfer = DisableAddressTransfer'
{
DisableAddressTransfer -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
DisableAddressTransfer -> Text
allocationId :: Prelude.Text
}
deriving (DisableAddressTransfer -> DisableAddressTransfer -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisableAddressTransfer -> DisableAddressTransfer -> Bool
$c/= :: DisableAddressTransfer -> DisableAddressTransfer -> Bool
== :: DisableAddressTransfer -> DisableAddressTransfer -> Bool
$c== :: DisableAddressTransfer -> DisableAddressTransfer -> Bool
Prelude.Eq, ReadPrec [DisableAddressTransfer]
ReadPrec DisableAddressTransfer
Int -> ReadS DisableAddressTransfer
ReadS [DisableAddressTransfer]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisableAddressTransfer]
$creadListPrec :: ReadPrec [DisableAddressTransfer]
readPrec :: ReadPrec DisableAddressTransfer
$creadPrec :: ReadPrec DisableAddressTransfer
readList :: ReadS [DisableAddressTransfer]
$creadList :: ReadS [DisableAddressTransfer]
readsPrec :: Int -> ReadS DisableAddressTransfer
$creadsPrec :: Int -> ReadS DisableAddressTransfer
Prelude.Read, Int -> DisableAddressTransfer -> ShowS
[DisableAddressTransfer] -> ShowS
DisableAddressTransfer -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisableAddressTransfer] -> ShowS
$cshowList :: [DisableAddressTransfer] -> ShowS
show :: DisableAddressTransfer -> String
$cshow :: DisableAddressTransfer -> String
showsPrec :: Int -> DisableAddressTransfer -> ShowS
$cshowsPrec :: Int -> DisableAddressTransfer -> ShowS
Prelude.Show, forall x. Rep DisableAddressTransfer x -> DisableAddressTransfer
forall x. DisableAddressTransfer -> Rep DisableAddressTransfer x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DisableAddressTransfer x -> DisableAddressTransfer
$cfrom :: forall x. DisableAddressTransfer -> Rep DisableAddressTransfer x
Prelude.Generic)
newDisableAddressTransfer ::
Prelude.Text ->
DisableAddressTransfer
newDisableAddressTransfer :: Text -> DisableAddressTransfer
newDisableAddressTransfer Text
pAllocationId_ =
DisableAddressTransfer'
{ $sel:dryRun:DisableAddressTransfer' :: Maybe Bool
dryRun = forall a. Maybe a
Prelude.Nothing,
$sel:allocationId:DisableAddressTransfer' :: Text
allocationId = Text
pAllocationId_
}
disableAddressTransfer_dryRun :: Lens.Lens' DisableAddressTransfer (Prelude.Maybe Prelude.Bool)
disableAddressTransfer_dryRun :: Lens' DisableAddressTransfer (Maybe Bool)
disableAddressTransfer_dryRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisableAddressTransfer' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:DisableAddressTransfer' :: DisableAddressTransfer -> Maybe Bool
dryRun} -> Maybe Bool
dryRun) (\s :: DisableAddressTransfer
s@DisableAddressTransfer' {} Maybe Bool
a -> DisableAddressTransfer
s {$sel:dryRun:DisableAddressTransfer' :: Maybe Bool
dryRun = Maybe Bool
a} :: DisableAddressTransfer)
disableAddressTransfer_allocationId :: Lens.Lens' DisableAddressTransfer Prelude.Text
disableAddressTransfer_allocationId :: Lens' DisableAddressTransfer Text
disableAddressTransfer_allocationId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisableAddressTransfer' {Text
allocationId :: Text
$sel:allocationId:DisableAddressTransfer' :: DisableAddressTransfer -> Text
allocationId} -> Text
allocationId) (\s :: DisableAddressTransfer
s@DisableAddressTransfer' {} Text
a -> DisableAddressTransfer
s {$sel:allocationId:DisableAddressTransfer' :: Text
allocationId = Text
a} :: DisableAddressTransfer)
instance Core.AWSRequest DisableAddressTransfer where
type
AWSResponse DisableAddressTransfer =
DisableAddressTransferResponse
request :: (Service -> Service)
-> DisableAddressTransfer -> Request DisableAddressTransfer
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 DisableAddressTransfer
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DisableAddressTransfer)))
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 AddressTransfer -> Int -> DisableAddressTransferResponse
DisableAddressTransferResponse'
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
"addressTransfer")
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 DisableAddressTransfer where
hashWithSalt :: Int -> DisableAddressTransfer -> Int
hashWithSalt Int
_salt DisableAddressTransfer' {Maybe Bool
Text
allocationId :: Text
dryRun :: Maybe Bool
$sel:allocationId:DisableAddressTransfer' :: DisableAddressTransfer -> Text
$sel:dryRun:DisableAddressTransfer' :: DisableAddressTransfer -> 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
allocationId
instance Prelude.NFData DisableAddressTransfer where
rnf :: DisableAddressTransfer -> ()
rnf DisableAddressTransfer' {Maybe Bool
Text
allocationId :: Text
dryRun :: Maybe Bool
$sel:allocationId:DisableAddressTransfer' :: DisableAddressTransfer -> Text
$sel:dryRun:DisableAddressTransfer' :: DisableAddressTransfer -> 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
allocationId
instance Data.ToHeaders DisableAddressTransfer where
toHeaders :: DisableAddressTransfer -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath DisableAddressTransfer where
toPath :: DisableAddressTransfer -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DisableAddressTransfer where
toQuery :: DisableAddressTransfer -> QueryString
toQuery DisableAddressTransfer' {Maybe Bool
Text
allocationId :: Text
dryRun :: Maybe Bool
$sel:allocationId:DisableAddressTransfer' :: DisableAddressTransfer -> Text
$sel:dryRun:DisableAddressTransfer' :: DisableAddressTransfer -> Maybe Bool
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"DisableAddressTransfer" :: 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
"AllocationId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
allocationId
]
data DisableAddressTransferResponse = DisableAddressTransferResponse'
{
DisableAddressTransferResponse -> Maybe AddressTransfer
addressTransfer :: Prelude.Maybe AddressTransfer,
DisableAddressTransferResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DisableAddressTransferResponse
-> DisableAddressTransferResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisableAddressTransferResponse
-> DisableAddressTransferResponse -> Bool
$c/= :: DisableAddressTransferResponse
-> DisableAddressTransferResponse -> Bool
== :: DisableAddressTransferResponse
-> DisableAddressTransferResponse -> Bool
$c== :: DisableAddressTransferResponse
-> DisableAddressTransferResponse -> Bool
Prelude.Eq, ReadPrec [DisableAddressTransferResponse]
ReadPrec DisableAddressTransferResponse
Int -> ReadS DisableAddressTransferResponse
ReadS [DisableAddressTransferResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisableAddressTransferResponse]
$creadListPrec :: ReadPrec [DisableAddressTransferResponse]
readPrec :: ReadPrec DisableAddressTransferResponse
$creadPrec :: ReadPrec DisableAddressTransferResponse
readList :: ReadS [DisableAddressTransferResponse]
$creadList :: ReadS [DisableAddressTransferResponse]
readsPrec :: Int -> ReadS DisableAddressTransferResponse
$creadsPrec :: Int -> ReadS DisableAddressTransferResponse
Prelude.Read, Int -> DisableAddressTransferResponse -> ShowS
[DisableAddressTransferResponse] -> ShowS
DisableAddressTransferResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisableAddressTransferResponse] -> ShowS
$cshowList :: [DisableAddressTransferResponse] -> ShowS
show :: DisableAddressTransferResponse -> String
$cshow :: DisableAddressTransferResponse -> String
showsPrec :: Int -> DisableAddressTransferResponse -> ShowS
$cshowsPrec :: Int -> DisableAddressTransferResponse -> ShowS
Prelude.Show, forall x.
Rep DisableAddressTransferResponse x
-> DisableAddressTransferResponse
forall x.
DisableAddressTransferResponse
-> Rep DisableAddressTransferResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DisableAddressTransferResponse x
-> DisableAddressTransferResponse
$cfrom :: forall x.
DisableAddressTransferResponse
-> Rep DisableAddressTransferResponse x
Prelude.Generic)
newDisableAddressTransferResponse ::
Prelude.Int ->
DisableAddressTransferResponse
newDisableAddressTransferResponse :: Int -> DisableAddressTransferResponse
newDisableAddressTransferResponse Int
pHttpStatus_ =
DisableAddressTransferResponse'
{ $sel:addressTransfer:DisableAddressTransferResponse' :: Maybe AddressTransfer
addressTransfer =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DisableAddressTransferResponse' :: Int
httpStatus = Int
pHttpStatus_
}
disableAddressTransferResponse_addressTransfer :: Lens.Lens' DisableAddressTransferResponse (Prelude.Maybe AddressTransfer)
disableAddressTransferResponse_addressTransfer :: Lens' DisableAddressTransferResponse (Maybe AddressTransfer)
disableAddressTransferResponse_addressTransfer = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisableAddressTransferResponse' {Maybe AddressTransfer
addressTransfer :: Maybe AddressTransfer
$sel:addressTransfer:DisableAddressTransferResponse' :: DisableAddressTransferResponse -> Maybe AddressTransfer
addressTransfer} -> Maybe AddressTransfer
addressTransfer) (\s :: DisableAddressTransferResponse
s@DisableAddressTransferResponse' {} Maybe AddressTransfer
a -> DisableAddressTransferResponse
s {$sel:addressTransfer:DisableAddressTransferResponse' :: Maybe AddressTransfer
addressTransfer = Maybe AddressTransfer
a} :: DisableAddressTransferResponse)
disableAddressTransferResponse_httpStatus :: Lens.Lens' DisableAddressTransferResponse Prelude.Int
disableAddressTransferResponse_httpStatus :: Lens' DisableAddressTransferResponse Int
disableAddressTransferResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisableAddressTransferResponse' {Int
httpStatus :: Int
$sel:httpStatus:DisableAddressTransferResponse' :: DisableAddressTransferResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DisableAddressTransferResponse
s@DisableAddressTransferResponse' {} Int
a -> DisableAddressTransferResponse
s {$sel:httpStatus:DisableAddressTransferResponse' :: Int
httpStatus = Int
a} :: DisableAddressTransferResponse)
instance
Prelude.NFData
DisableAddressTransferResponse
where
rnf :: DisableAddressTransferResponse -> ()
rnf DisableAddressTransferResponse' {Int
Maybe AddressTransfer
httpStatus :: Int
addressTransfer :: Maybe AddressTransfer
$sel:httpStatus:DisableAddressTransferResponse' :: DisableAddressTransferResponse -> Int
$sel:addressTransfer:DisableAddressTransferResponse' :: DisableAddressTransferResponse -> Maybe AddressTransfer
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe AddressTransfer
addressTransfer
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus