{-# 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.AcceptAddressTransfer
(
AcceptAddressTransfer (..),
newAcceptAddressTransfer,
acceptAddressTransfer_dryRun,
acceptAddressTransfer_tagSpecifications,
acceptAddressTransfer_address,
AcceptAddressTransferResponse (..),
newAcceptAddressTransferResponse,
acceptAddressTransferResponse_addressTransfer,
acceptAddressTransferResponse_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 AcceptAddressTransfer = AcceptAddressTransfer'
{
AcceptAddressTransfer -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
AcceptAddressTransfer -> Maybe [TagSpecification]
tagSpecifications :: Prelude.Maybe [TagSpecification],
AcceptAddressTransfer -> Text
address :: Prelude.Text
}
deriving (AcceptAddressTransfer -> AcceptAddressTransfer -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AcceptAddressTransfer -> AcceptAddressTransfer -> Bool
$c/= :: AcceptAddressTransfer -> AcceptAddressTransfer -> Bool
== :: AcceptAddressTransfer -> AcceptAddressTransfer -> Bool
$c== :: AcceptAddressTransfer -> AcceptAddressTransfer -> Bool
Prelude.Eq, ReadPrec [AcceptAddressTransfer]
ReadPrec AcceptAddressTransfer
Int -> ReadS AcceptAddressTransfer
ReadS [AcceptAddressTransfer]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AcceptAddressTransfer]
$creadListPrec :: ReadPrec [AcceptAddressTransfer]
readPrec :: ReadPrec AcceptAddressTransfer
$creadPrec :: ReadPrec AcceptAddressTransfer
readList :: ReadS [AcceptAddressTransfer]
$creadList :: ReadS [AcceptAddressTransfer]
readsPrec :: Int -> ReadS AcceptAddressTransfer
$creadsPrec :: Int -> ReadS AcceptAddressTransfer
Prelude.Read, Int -> AcceptAddressTransfer -> ShowS
[AcceptAddressTransfer] -> ShowS
AcceptAddressTransfer -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AcceptAddressTransfer] -> ShowS
$cshowList :: [AcceptAddressTransfer] -> ShowS
show :: AcceptAddressTransfer -> String
$cshow :: AcceptAddressTransfer -> String
showsPrec :: Int -> AcceptAddressTransfer -> ShowS
$cshowsPrec :: Int -> AcceptAddressTransfer -> ShowS
Prelude.Show, forall x. Rep AcceptAddressTransfer x -> AcceptAddressTransfer
forall x. AcceptAddressTransfer -> Rep AcceptAddressTransfer x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AcceptAddressTransfer x -> AcceptAddressTransfer
$cfrom :: forall x. AcceptAddressTransfer -> Rep AcceptAddressTransfer x
Prelude.Generic)
newAcceptAddressTransfer ::
Prelude.Text ->
AcceptAddressTransfer
newAcceptAddressTransfer :: Text -> AcceptAddressTransfer
newAcceptAddressTransfer Text
pAddress_ =
AcceptAddressTransfer'
{ $sel:dryRun:AcceptAddressTransfer' :: Maybe Bool
dryRun = forall a. Maybe a
Prelude.Nothing,
$sel:tagSpecifications:AcceptAddressTransfer' :: Maybe [TagSpecification]
tagSpecifications = forall a. Maybe a
Prelude.Nothing,
$sel:address:AcceptAddressTransfer' :: Text
address = Text
pAddress_
}
acceptAddressTransfer_dryRun :: Lens.Lens' AcceptAddressTransfer (Prelude.Maybe Prelude.Bool)
acceptAddressTransfer_dryRun :: Lens' AcceptAddressTransfer (Maybe Bool)
acceptAddressTransfer_dryRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AcceptAddressTransfer' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:AcceptAddressTransfer' :: AcceptAddressTransfer -> Maybe Bool
dryRun} -> Maybe Bool
dryRun) (\s :: AcceptAddressTransfer
s@AcceptAddressTransfer' {} Maybe Bool
a -> AcceptAddressTransfer
s {$sel:dryRun:AcceptAddressTransfer' :: Maybe Bool
dryRun = Maybe Bool
a} :: AcceptAddressTransfer)
acceptAddressTransfer_tagSpecifications :: Lens.Lens' AcceptAddressTransfer (Prelude.Maybe [TagSpecification])
acceptAddressTransfer_tagSpecifications :: Lens' AcceptAddressTransfer (Maybe [TagSpecification])
acceptAddressTransfer_tagSpecifications = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AcceptAddressTransfer' {Maybe [TagSpecification]
tagSpecifications :: Maybe [TagSpecification]
$sel:tagSpecifications:AcceptAddressTransfer' :: AcceptAddressTransfer -> Maybe [TagSpecification]
tagSpecifications} -> Maybe [TagSpecification]
tagSpecifications) (\s :: AcceptAddressTransfer
s@AcceptAddressTransfer' {} Maybe [TagSpecification]
a -> AcceptAddressTransfer
s {$sel:tagSpecifications:AcceptAddressTransfer' :: Maybe [TagSpecification]
tagSpecifications = Maybe [TagSpecification]
a} :: AcceptAddressTransfer) 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
acceptAddressTransfer_address :: Lens.Lens' AcceptAddressTransfer Prelude.Text
acceptAddressTransfer_address :: Lens' AcceptAddressTransfer Text
acceptAddressTransfer_address = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AcceptAddressTransfer' {Text
address :: Text
$sel:address:AcceptAddressTransfer' :: AcceptAddressTransfer -> Text
address} -> Text
address) (\s :: AcceptAddressTransfer
s@AcceptAddressTransfer' {} Text
a -> AcceptAddressTransfer
s {$sel:address:AcceptAddressTransfer' :: Text
address = Text
a} :: AcceptAddressTransfer)
instance Core.AWSRequest AcceptAddressTransfer where
type
AWSResponse AcceptAddressTransfer =
AcceptAddressTransferResponse
request :: (Service -> Service)
-> AcceptAddressTransfer -> Request AcceptAddressTransfer
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 AcceptAddressTransfer
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse AcceptAddressTransfer)))
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 -> AcceptAddressTransferResponse
AcceptAddressTransferResponse'
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 AcceptAddressTransfer where
hashWithSalt :: Int -> AcceptAddressTransfer -> Int
hashWithSalt Int
_salt AcceptAddressTransfer' {Maybe Bool
Maybe [TagSpecification]
Text
address :: Text
tagSpecifications :: Maybe [TagSpecification]
dryRun :: Maybe Bool
$sel:address:AcceptAddressTransfer' :: AcceptAddressTransfer -> Text
$sel:tagSpecifications:AcceptAddressTransfer' :: AcceptAddressTransfer -> Maybe [TagSpecification]
$sel:dryRun:AcceptAddressTransfer' :: AcceptAddressTransfer -> 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` Maybe [TagSpecification]
tagSpecifications
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
address
instance Prelude.NFData AcceptAddressTransfer where
rnf :: AcceptAddressTransfer -> ()
rnf AcceptAddressTransfer' {Maybe Bool
Maybe [TagSpecification]
Text
address :: Text
tagSpecifications :: Maybe [TagSpecification]
dryRun :: Maybe Bool
$sel:address:AcceptAddressTransfer' :: AcceptAddressTransfer -> Text
$sel:tagSpecifications:AcceptAddressTransfer' :: AcceptAddressTransfer -> Maybe [TagSpecification]
$sel:dryRun:AcceptAddressTransfer' :: AcceptAddressTransfer -> 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 Maybe [TagSpecification]
tagSpecifications
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
address
instance Data.ToHeaders AcceptAddressTransfer where
toHeaders :: AcceptAddressTransfer -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath AcceptAddressTransfer where
toPath :: AcceptAddressTransfer -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery AcceptAddressTransfer where
toQuery :: AcceptAddressTransfer -> QueryString
toQuery AcceptAddressTransfer' {Maybe Bool
Maybe [TagSpecification]
Text
address :: Text
tagSpecifications :: Maybe [TagSpecification]
dryRun :: Maybe Bool
$sel:address:AcceptAddressTransfer' :: AcceptAddressTransfer -> Text
$sel:tagSpecifications:AcceptAddressTransfer' :: AcceptAddressTransfer -> Maybe [TagSpecification]
$sel:dryRun:AcceptAddressTransfer' :: AcceptAddressTransfer -> Maybe Bool
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"AcceptAddressTransfer" :: 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,
forall a. ToQuery a => a -> QueryString
Data.toQuery
( forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"TagSpecification"
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [TagSpecification]
tagSpecifications
),
ByteString
"Address" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
address
]
data AcceptAddressTransferResponse = AcceptAddressTransferResponse'
{
AcceptAddressTransferResponse -> Maybe AddressTransfer
addressTransfer :: Prelude.Maybe AddressTransfer,
AcceptAddressTransferResponse -> Int
httpStatus :: Prelude.Int
}
deriving (AcceptAddressTransferResponse
-> AcceptAddressTransferResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AcceptAddressTransferResponse
-> AcceptAddressTransferResponse -> Bool
$c/= :: AcceptAddressTransferResponse
-> AcceptAddressTransferResponse -> Bool
== :: AcceptAddressTransferResponse
-> AcceptAddressTransferResponse -> Bool
$c== :: AcceptAddressTransferResponse
-> AcceptAddressTransferResponse -> Bool
Prelude.Eq, ReadPrec [AcceptAddressTransferResponse]
ReadPrec AcceptAddressTransferResponse
Int -> ReadS AcceptAddressTransferResponse
ReadS [AcceptAddressTransferResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AcceptAddressTransferResponse]
$creadListPrec :: ReadPrec [AcceptAddressTransferResponse]
readPrec :: ReadPrec AcceptAddressTransferResponse
$creadPrec :: ReadPrec AcceptAddressTransferResponse
readList :: ReadS [AcceptAddressTransferResponse]
$creadList :: ReadS [AcceptAddressTransferResponse]
readsPrec :: Int -> ReadS AcceptAddressTransferResponse
$creadsPrec :: Int -> ReadS AcceptAddressTransferResponse
Prelude.Read, Int -> AcceptAddressTransferResponse -> ShowS
[AcceptAddressTransferResponse] -> ShowS
AcceptAddressTransferResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AcceptAddressTransferResponse] -> ShowS
$cshowList :: [AcceptAddressTransferResponse] -> ShowS
show :: AcceptAddressTransferResponse -> String
$cshow :: AcceptAddressTransferResponse -> String
showsPrec :: Int -> AcceptAddressTransferResponse -> ShowS
$cshowsPrec :: Int -> AcceptAddressTransferResponse -> ShowS
Prelude.Show, forall x.
Rep AcceptAddressTransferResponse x
-> AcceptAddressTransferResponse
forall x.
AcceptAddressTransferResponse
-> Rep AcceptAddressTransferResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep AcceptAddressTransferResponse x
-> AcceptAddressTransferResponse
$cfrom :: forall x.
AcceptAddressTransferResponse
-> Rep AcceptAddressTransferResponse x
Prelude.Generic)
newAcceptAddressTransferResponse ::
Prelude.Int ->
AcceptAddressTransferResponse
newAcceptAddressTransferResponse :: Int -> AcceptAddressTransferResponse
newAcceptAddressTransferResponse Int
pHttpStatus_ =
AcceptAddressTransferResponse'
{ $sel:addressTransfer:AcceptAddressTransferResponse' :: Maybe AddressTransfer
addressTransfer =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:AcceptAddressTransferResponse' :: Int
httpStatus = Int
pHttpStatus_
}
acceptAddressTransferResponse_addressTransfer :: Lens.Lens' AcceptAddressTransferResponse (Prelude.Maybe AddressTransfer)
acceptAddressTransferResponse_addressTransfer :: Lens' AcceptAddressTransferResponse (Maybe AddressTransfer)
acceptAddressTransferResponse_addressTransfer = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AcceptAddressTransferResponse' {Maybe AddressTransfer
addressTransfer :: Maybe AddressTransfer
$sel:addressTransfer:AcceptAddressTransferResponse' :: AcceptAddressTransferResponse -> Maybe AddressTransfer
addressTransfer} -> Maybe AddressTransfer
addressTransfer) (\s :: AcceptAddressTransferResponse
s@AcceptAddressTransferResponse' {} Maybe AddressTransfer
a -> AcceptAddressTransferResponse
s {$sel:addressTransfer:AcceptAddressTransferResponse' :: Maybe AddressTransfer
addressTransfer = Maybe AddressTransfer
a} :: AcceptAddressTransferResponse)
acceptAddressTransferResponse_httpStatus :: Lens.Lens' AcceptAddressTransferResponse Prelude.Int
acceptAddressTransferResponse_httpStatus :: Lens' AcceptAddressTransferResponse Int
acceptAddressTransferResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AcceptAddressTransferResponse' {Int
httpStatus :: Int
$sel:httpStatus:AcceptAddressTransferResponse' :: AcceptAddressTransferResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: AcceptAddressTransferResponse
s@AcceptAddressTransferResponse' {} Int
a -> AcceptAddressTransferResponse
s {$sel:httpStatus:AcceptAddressTransferResponse' :: Int
httpStatus = Int
a} :: AcceptAddressTransferResponse)
instance Prelude.NFData AcceptAddressTransferResponse where
rnf :: AcceptAddressTransferResponse -> ()
rnf AcceptAddressTransferResponse' {Int
Maybe AddressTransfer
httpStatus :: Int
addressTransfer :: Maybe AddressTransfer
$sel:httpStatus:AcceptAddressTransferResponse' :: AcceptAddressTransferResponse -> Int
$sel:addressTransfer:AcceptAddressTransferResponse' :: AcceptAddressTransferResponse -> 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