{-# 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.Route53Resolver.DisassociateResolverEndpointIpAddress
(
DisassociateResolverEndpointIpAddress (..),
newDisassociateResolverEndpointIpAddress,
disassociateResolverEndpointIpAddress_resolverEndpointId,
disassociateResolverEndpointIpAddress_ipAddress,
DisassociateResolverEndpointIpAddressResponse (..),
newDisassociateResolverEndpointIpAddressResponse,
disassociateResolverEndpointIpAddressResponse_resolverEndpoint,
disassociateResolverEndpointIpAddressResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.Route53Resolver.Types
data DisassociateResolverEndpointIpAddress = DisassociateResolverEndpointIpAddress'
{
DisassociateResolverEndpointIpAddress -> Text
resolverEndpointId :: Prelude.Text,
DisassociateResolverEndpointIpAddress -> IpAddressUpdate
ipAddress :: IpAddressUpdate
}
deriving (DisassociateResolverEndpointIpAddress
-> DisassociateResolverEndpointIpAddress -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisassociateResolverEndpointIpAddress
-> DisassociateResolverEndpointIpAddress -> Bool
$c/= :: DisassociateResolverEndpointIpAddress
-> DisassociateResolverEndpointIpAddress -> Bool
== :: DisassociateResolverEndpointIpAddress
-> DisassociateResolverEndpointIpAddress -> Bool
$c== :: DisassociateResolverEndpointIpAddress
-> DisassociateResolverEndpointIpAddress -> Bool
Prelude.Eq, ReadPrec [DisassociateResolverEndpointIpAddress]
ReadPrec DisassociateResolverEndpointIpAddress
Int -> ReadS DisassociateResolverEndpointIpAddress
ReadS [DisassociateResolverEndpointIpAddress]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisassociateResolverEndpointIpAddress]
$creadListPrec :: ReadPrec [DisassociateResolverEndpointIpAddress]
readPrec :: ReadPrec DisassociateResolverEndpointIpAddress
$creadPrec :: ReadPrec DisassociateResolverEndpointIpAddress
readList :: ReadS [DisassociateResolverEndpointIpAddress]
$creadList :: ReadS [DisassociateResolverEndpointIpAddress]
readsPrec :: Int -> ReadS DisassociateResolverEndpointIpAddress
$creadsPrec :: Int -> ReadS DisassociateResolverEndpointIpAddress
Prelude.Read, Int -> DisassociateResolverEndpointIpAddress -> ShowS
[DisassociateResolverEndpointIpAddress] -> ShowS
DisassociateResolverEndpointIpAddress -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisassociateResolverEndpointIpAddress] -> ShowS
$cshowList :: [DisassociateResolverEndpointIpAddress] -> ShowS
show :: DisassociateResolverEndpointIpAddress -> String
$cshow :: DisassociateResolverEndpointIpAddress -> String
showsPrec :: Int -> DisassociateResolverEndpointIpAddress -> ShowS
$cshowsPrec :: Int -> DisassociateResolverEndpointIpAddress -> ShowS
Prelude.Show, forall x.
Rep DisassociateResolverEndpointIpAddress x
-> DisassociateResolverEndpointIpAddress
forall x.
DisassociateResolverEndpointIpAddress
-> Rep DisassociateResolverEndpointIpAddress x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DisassociateResolverEndpointIpAddress x
-> DisassociateResolverEndpointIpAddress
$cfrom :: forall x.
DisassociateResolverEndpointIpAddress
-> Rep DisassociateResolverEndpointIpAddress x
Prelude.Generic)
newDisassociateResolverEndpointIpAddress ::
Prelude.Text ->
IpAddressUpdate ->
DisassociateResolverEndpointIpAddress
newDisassociateResolverEndpointIpAddress :: Text -> IpAddressUpdate -> DisassociateResolverEndpointIpAddress
newDisassociateResolverEndpointIpAddress
Text
pResolverEndpointId_
IpAddressUpdate
pIpAddress_ =
DisassociateResolverEndpointIpAddress'
{ $sel:resolverEndpointId:DisassociateResolverEndpointIpAddress' :: Text
resolverEndpointId =
Text
pResolverEndpointId_,
$sel:ipAddress:DisassociateResolverEndpointIpAddress' :: IpAddressUpdate
ipAddress = IpAddressUpdate
pIpAddress_
}
disassociateResolverEndpointIpAddress_resolverEndpointId :: Lens.Lens' DisassociateResolverEndpointIpAddress Prelude.Text
disassociateResolverEndpointIpAddress_resolverEndpointId :: Lens' DisassociateResolverEndpointIpAddress Text
disassociateResolverEndpointIpAddress_resolverEndpointId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateResolverEndpointIpAddress' {Text
resolverEndpointId :: Text
$sel:resolverEndpointId:DisassociateResolverEndpointIpAddress' :: DisassociateResolverEndpointIpAddress -> Text
resolverEndpointId} -> Text
resolverEndpointId) (\s :: DisassociateResolverEndpointIpAddress
s@DisassociateResolverEndpointIpAddress' {} Text
a -> DisassociateResolverEndpointIpAddress
s {$sel:resolverEndpointId:DisassociateResolverEndpointIpAddress' :: Text
resolverEndpointId = Text
a} :: DisassociateResolverEndpointIpAddress)
disassociateResolverEndpointIpAddress_ipAddress :: Lens.Lens' DisassociateResolverEndpointIpAddress IpAddressUpdate
disassociateResolverEndpointIpAddress_ipAddress :: Lens' DisassociateResolverEndpointIpAddress IpAddressUpdate
disassociateResolverEndpointIpAddress_ipAddress = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateResolverEndpointIpAddress' {IpAddressUpdate
ipAddress :: IpAddressUpdate
$sel:ipAddress:DisassociateResolverEndpointIpAddress' :: DisassociateResolverEndpointIpAddress -> IpAddressUpdate
ipAddress} -> IpAddressUpdate
ipAddress) (\s :: DisassociateResolverEndpointIpAddress
s@DisassociateResolverEndpointIpAddress' {} IpAddressUpdate
a -> DisassociateResolverEndpointIpAddress
s {$sel:ipAddress:DisassociateResolverEndpointIpAddress' :: IpAddressUpdate
ipAddress = IpAddressUpdate
a} :: DisassociateResolverEndpointIpAddress)
instance
Core.AWSRequest
DisassociateResolverEndpointIpAddress
where
type
AWSResponse
DisassociateResolverEndpointIpAddress =
DisassociateResolverEndpointIpAddressResponse
request :: (Service -> Service)
-> DisassociateResolverEndpointIpAddress
-> Request DisassociateResolverEndpointIpAddress
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DisassociateResolverEndpointIpAddress
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse
(AWSResponse DisassociateResolverEndpointIpAddress)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe ResolverEndpoint
-> Int -> DisassociateResolverEndpointIpAddressResponse
DisassociateResolverEndpointIpAddressResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"ResolverEndpoint")
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
DisassociateResolverEndpointIpAddress
where
hashWithSalt :: Int -> DisassociateResolverEndpointIpAddress -> Int
hashWithSalt
Int
_salt
DisassociateResolverEndpointIpAddress' {Text
IpAddressUpdate
ipAddress :: IpAddressUpdate
resolverEndpointId :: Text
$sel:ipAddress:DisassociateResolverEndpointIpAddress' :: DisassociateResolverEndpointIpAddress -> IpAddressUpdate
$sel:resolverEndpointId:DisassociateResolverEndpointIpAddress' :: DisassociateResolverEndpointIpAddress -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resolverEndpointId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` IpAddressUpdate
ipAddress
instance
Prelude.NFData
DisassociateResolverEndpointIpAddress
where
rnf :: DisassociateResolverEndpointIpAddress -> ()
rnf DisassociateResolverEndpointIpAddress' {Text
IpAddressUpdate
ipAddress :: IpAddressUpdate
resolverEndpointId :: Text
$sel:ipAddress:DisassociateResolverEndpointIpAddress' :: DisassociateResolverEndpointIpAddress -> IpAddressUpdate
$sel:resolverEndpointId:DisassociateResolverEndpointIpAddress' :: DisassociateResolverEndpointIpAddress -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
resolverEndpointId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf IpAddressUpdate
ipAddress
instance
Data.ToHeaders
DisassociateResolverEndpointIpAddress
where
toHeaders :: DisassociateResolverEndpointIpAddress -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"Route53Resolver.DisassociateResolverEndpointIpAddress" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance
Data.ToJSON
DisassociateResolverEndpointIpAddress
where
toJSON :: DisassociateResolverEndpointIpAddress -> Value
toJSON DisassociateResolverEndpointIpAddress' {Text
IpAddressUpdate
ipAddress :: IpAddressUpdate
resolverEndpointId :: Text
$sel:ipAddress:DisassociateResolverEndpointIpAddress' :: DisassociateResolverEndpointIpAddress -> IpAddressUpdate
$sel:resolverEndpointId:DisassociateResolverEndpointIpAddress' :: DisassociateResolverEndpointIpAddress -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"ResolverEndpointId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
resolverEndpointId),
forall a. a -> Maybe a
Prelude.Just (Key
"IpAddress" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= IpAddressUpdate
ipAddress)
]
)
instance
Data.ToPath
DisassociateResolverEndpointIpAddress
where
toPath :: DisassociateResolverEndpointIpAddress -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance
Data.ToQuery
DisassociateResolverEndpointIpAddress
where
toQuery :: DisassociateResolverEndpointIpAddress -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DisassociateResolverEndpointIpAddressResponse = DisassociateResolverEndpointIpAddressResponse'
{
DisassociateResolverEndpointIpAddressResponse
-> Maybe ResolverEndpoint
resolverEndpoint :: Prelude.Maybe ResolverEndpoint,
DisassociateResolverEndpointIpAddressResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DisassociateResolverEndpointIpAddressResponse
-> DisassociateResolverEndpointIpAddressResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisassociateResolverEndpointIpAddressResponse
-> DisassociateResolverEndpointIpAddressResponse -> Bool
$c/= :: DisassociateResolverEndpointIpAddressResponse
-> DisassociateResolverEndpointIpAddressResponse -> Bool
== :: DisassociateResolverEndpointIpAddressResponse
-> DisassociateResolverEndpointIpAddressResponse -> Bool
$c== :: DisassociateResolverEndpointIpAddressResponse
-> DisassociateResolverEndpointIpAddressResponse -> Bool
Prelude.Eq, ReadPrec [DisassociateResolverEndpointIpAddressResponse]
ReadPrec DisassociateResolverEndpointIpAddressResponse
Int -> ReadS DisassociateResolverEndpointIpAddressResponse
ReadS [DisassociateResolverEndpointIpAddressResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisassociateResolverEndpointIpAddressResponse]
$creadListPrec :: ReadPrec [DisassociateResolverEndpointIpAddressResponse]
readPrec :: ReadPrec DisassociateResolverEndpointIpAddressResponse
$creadPrec :: ReadPrec DisassociateResolverEndpointIpAddressResponse
readList :: ReadS [DisassociateResolverEndpointIpAddressResponse]
$creadList :: ReadS [DisassociateResolverEndpointIpAddressResponse]
readsPrec :: Int -> ReadS DisassociateResolverEndpointIpAddressResponse
$creadsPrec :: Int -> ReadS DisassociateResolverEndpointIpAddressResponse
Prelude.Read, Int -> DisassociateResolverEndpointIpAddressResponse -> ShowS
[DisassociateResolverEndpointIpAddressResponse] -> ShowS
DisassociateResolverEndpointIpAddressResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisassociateResolverEndpointIpAddressResponse] -> ShowS
$cshowList :: [DisassociateResolverEndpointIpAddressResponse] -> ShowS
show :: DisassociateResolverEndpointIpAddressResponse -> String
$cshow :: DisassociateResolverEndpointIpAddressResponse -> String
showsPrec :: Int -> DisassociateResolverEndpointIpAddressResponse -> ShowS
$cshowsPrec :: Int -> DisassociateResolverEndpointIpAddressResponse -> ShowS
Prelude.Show, forall x.
Rep DisassociateResolverEndpointIpAddressResponse x
-> DisassociateResolverEndpointIpAddressResponse
forall x.
DisassociateResolverEndpointIpAddressResponse
-> Rep DisassociateResolverEndpointIpAddressResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DisassociateResolverEndpointIpAddressResponse x
-> DisassociateResolverEndpointIpAddressResponse
$cfrom :: forall x.
DisassociateResolverEndpointIpAddressResponse
-> Rep DisassociateResolverEndpointIpAddressResponse x
Prelude.Generic)
newDisassociateResolverEndpointIpAddressResponse ::
Prelude.Int ->
DisassociateResolverEndpointIpAddressResponse
newDisassociateResolverEndpointIpAddressResponse :: Int -> DisassociateResolverEndpointIpAddressResponse
newDisassociateResolverEndpointIpAddressResponse
Int
pHttpStatus_ =
DisassociateResolverEndpointIpAddressResponse'
{ $sel:resolverEndpoint:DisassociateResolverEndpointIpAddressResponse' :: Maybe ResolverEndpoint
resolverEndpoint =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DisassociateResolverEndpointIpAddressResponse' :: Int
httpStatus = Int
pHttpStatus_
}
disassociateResolverEndpointIpAddressResponse_resolverEndpoint :: Lens.Lens' DisassociateResolverEndpointIpAddressResponse (Prelude.Maybe ResolverEndpoint)
disassociateResolverEndpointIpAddressResponse_resolverEndpoint :: Lens'
DisassociateResolverEndpointIpAddressResponse
(Maybe ResolverEndpoint)
disassociateResolverEndpointIpAddressResponse_resolverEndpoint = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateResolverEndpointIpAddressResponse' {Maybe ResolverEndpoint
resolverEndpoint :: Maybe ResolverEndpoint
$sel:resolverEndpoint:DisassociateResolverEndpointIpAddressResponse' :: DisassociateResolverEndpointIpAddressResponse
-> Maybe ResolverEndpoint
resolverEndpoint} -> Maybe ResolverEndpoint
resolverEndpoint) (\s :: DisassociateResolverEndpointIpAddressResponse
s@DisassociateResolverEndpointIpAddressResponse' {} Maybe ResolverEndpoint
a -> DisassociateResolverEndpointIpAddressResponse
s {$sel:resolverEndpoint:DisassociateResolverEndpointIpAddressResponse' :: Maybe ResolverEndpoint
resolverEndpoint = Maybe ResolverEndpoint
a} :: DisassociateResolverEndpointIpAddressResponse)
disassociateResolverEndpointIpAddressResponse_httpStatus :: Lens.Lens' DisassociateResolverEndpointIpAddressResponse Prelude.Int
disassociateResolverEndpointIpAddressResponse_httpStatus :: Lens' DisassociateResolverEndpointIpAddressResponse Int
disassociateResolverEndpointIpAddressResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateResolverEndpointIpAddressResponse' {Int
httpStatus :: Int
$sel:httpStatus:DisassociateResolverEndpointIpAddressResponse' :: DisassociateResolverEndpointIpAddressResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DisassociateResolverEndpointIpAddressResponse
s@DisassociateResolverEndpointIpAddressResponse' {} Int
a -> DisassociateResolverEndpointIpAddressResponse
s {$sel:httpStatus:DisassociateResolverEndpointIpAddressResponse' :: Int
httpStatus = Int
a} :: DisassociateResolverEndpointIpAddressResponse)
instance
Prelude.NFData
DisassociateResolverEndpointIpAddressResponse
where
rnf :: DisassociateResolverEndpointIpAddressResponse -> ()
rnf
DisassociateResolverEndpointIpAddressResponse' {Int
Maybe ResolverEndpoint
httpStatus :: Int
resolverEndpoint :: Maybe ResolverEndpoint
$sel:httpStatus:DisassociateResolverEndpointIpAddressResponse' :: DisassociateResolverEndpointIpAddressResponse -> Int
$sel:resolverEndpoint:DisassociateResolverEndpointIpAddressResponse' :: DisassociateResolverEndpointIpAddressResponse
-> Maybe ResolverEndpoint
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ResolverEndpoint
resolverEndpoint
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus