{-# 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.NetworkManager.DeleteLink
(
DeleteLink (..),
newDeleteLink,
deleteLink_globalNetworkId,
deleteLink_linkId,
DeleteLinkResponse (..),
newDeleteLinkResponse,
deleteLinkResponse_link,
deleteLinkResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.NetworkManager.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DeleteLink = DeleteLink'
{
DeleteLink -> Text
globalNetworkId :: Prelude.Text,
DeleteLink -> Text
linkId :: Prelude.Text
}
deriving (DeleteLink -> DeleteLink -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteLink -> DeleteLink -> Bool
$c/= :: DeleteLink -> DeleteLink -> Bool
== :: DeleteLink -> DeleteLink -> Bool
$c== :: DeleteLink -> DeleteLink -> Bool
Prelude.Eq, ReadPrec [DeleteLink]
ReadPrec DeleteLink
Int -> ReadS DeleteLink
ReadS [DeleteLink]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteLink]
$creadListPrec :: ReadPrec [DeleteLink]
readPrec :: ReadPrec DeleteLink
$creadPrec :: ReadPrec DeleteLink
readList :: ReadS [DeleteLink]
$creadList :: ReadS [DeleteLink]
readsPrec :: Int -> ReadS DeleteLink
$creadsPrec :: Int -> ReadS DeleteLink
Prelude.Read, Int -> DeleteLink -> ShowS
[DeleteLink] -> ShowS
DeleteLink -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteLink] -> ShowS
$cshowList :: [DeleteLink] -> ShowS
show :: DeleteLink -> String
$cshow :: DeleteLink -> String
showsPrec :: Int -> DeleteLink -> ShowS
$cshowsPrec :: Int -> DeleteLink -> ShowS
Prelude.Show, forall x. Rep DeleteLink x -> DeleteLink
forall x. DeleteLink -> Rep DeleteLink x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteLink x -> DeleteLink
$cfrom :: forall x. DeleteLink -> Rep DeleteLink x
Prelude.Generic)
newDeleteLink ::
Prelude.Text ->
Prelude.Text ->
DeleteLink
newDeleteLink :: Text -> Text -> DeleteLink
newDeleteLink Text
pGlobalNetworkId_ Text
pLinkId_ =
DeleteLink'
{ $sel:globalNetworkId:DeleteLink' :: Text
globalNetworkId = Text
pGlobalNetworkId_,
$sel:linkId:DeleteLink' :: Text
linkId = Text
pLinkId_
}
deleteLink_globalNetworkId :: Lens.Lens' DeleteLink Prelude.Text
deleteLink_globalNetworkId :: Lens' DeleteLink Text
deleteLink_globalNetworkId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteLink' {Text
globalNetworkId :: Text
$sel:globalNetworkId:DeleteLink' :: DeleteLink -> Text
globalNetworkId} -> Text
globalNetworkId) (\s :: DeleteLink
s@DeleteLink' {} Text
a -> DeleteLink
s {$sel:globalNetworkId:DeleteLink' :: Text
globalNetworkId = Text
a} :: DeleteLink)
deleteLink_linkId :: Lens.Lens' DeleteLink Prelude.Text
deleteLink_linkId :: Lens' DeleteLink Text
deleteLink_linkId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteLink' {Text
linkId :: Text
$sel:linkId:DeleteLink' :: DeleteLink -> Text
linkId} -> Text
linkId) (\s :: DeleteLink
s@DeleteLink' {} Text
a -> DeleteLink
s {$sel:linkId:DeleteLink' :: Text
linkId = Text
a} :: DeleteLink)
instance Core.AWSRequest DeleteLink where
type AWSResponse DeleteLink = DeleteLinkResponse
request :: (Service -> Service) -> DeleteLink -> Request DeleteLink
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.delete (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DeleteLink
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DeleteLink)))
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 Link -> Int -> DeleteLinkResponse
DeleteLinkResponse'
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
"Link")
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 DeleteLink where
hashWithSalt :: Int -> DeleteLink -> Int
hashWithSalt Int
_salt DeleteLink' {Text
linkId :: Text
globalNetworkId :: Text
$sel:linkId:DeleteLink' :: DeleteLink -> Text
$sel:globalNetworkId:DeleteLink' :: DeleteLink -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
globalNetworkId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
linkId
instance Prelude.NFData DeleteLink where
rnf :: DeleteLink -> ()
rnf DeleteLink' {Text
linkId :: Text
globalNetworkId :: Text
$sel:linkId:DeleteLink' :: DeleteLink -> Text
$sel:globalNetworkId:DeleteLink' :: DeleteLink -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
globalNetworkId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
linkId
instance Data.ToHeaders DeleteLink where
toHeaders :: DeleteLink -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToPath DeleteLink where
toPath :: DeleteLink -> ByteString
toPath DeleteLink' {Text
linkId :: Text
globalNetworkId :: Text
$sel:linkId:DeleteLink' :: DeleteLink -> Text
$sel:globalNetworkId:DeleteLink' :: DeleteLink -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/global-networks/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
globalNetworkId,
ByteString
"/links/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
linkId
]
instance Data.ToQuery DeleteLink where
toQuery :: DeleteLink -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteLinkResponse = DeleteLinkResponse'
{
DeleteLinkResponse -> Maybe Link
link :: Prelude.Maybe Link,
DeleteLinkResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeleteLinkResponse -> DeleteLinkResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteLinkResponse -> DeleteLinkResponse -> Bool
$c/= :: DeleteLinkResponse -> DeleteLinkResponse -> Bool
== :: DeleteLinkResponse -> DeleteLinkResponse -> Bool
$c== :: DeleteLinkResponse -> DeleteLinkResponse -> Bool
Prelude.Eq, ReadPrec [DeleteLinkResponse]
ReadPrec DeleteLinkResponse
Int -> ReadS DeleteLinkResponse
ReadS [DeleteLinkResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteLinkResponse]
$creadListPrec :: ReadPrec [DeleteLinkResponse]
readPrec :: ReadPrec DeleteLinkResponse
$creadPrec :: ReadPrec DeleteLinkResponse
readList :: ReadS [DeleteLinkResponse]
$creadList :: ReadS [DeleteLinkResponse]
readsPrec :: Int -> ReadS DeleteLinkResponse
$creadsPrec :: Int -> ReadS DeleteLinkResponse
Prelude.Read, Int -> DeleteLinkResponse -> ShowS
[DeleteLinkResponse] -> ShowS
DeleteLinkResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteLinkResponse] -> ShowS
$cshowList :: [DeleteLinkResponse] -> ShowS
show :: DeleteLinkResponse -> String
$cshow :: DeleteLinkResponse -> String
showsPrec :: Int -> DeleteLinkResponse -> ShowS
$cshowsPrec :: Int -> DeleteLinkResponse -> ShowS
Prelude.Show, forall x. Rep DeleteLinkResponse x -> DeleteLinkResponse
forall x. DeleteLinkResponse -> Rep DeleteLinkResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteLinkResponse x -> DeleteLinkResponse
$cfrom :: forall x. DeleteLinkResponse -> Rep DeleteLinkResponse x
Prelude.Generic)
newDeleteLinkResponse ::
Prelude.Int ->
DeleteLinkResponse
newDeleteLinkResponse :: Int -> DeleteLinkResponse
newDeleteLinkResponse Int
pHttpStatus_ =
DeleteLinkResponse'
{ $sel:link:DeleteLinkResponse' :: Maybe Link
link = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DeleteLinkResponse' :: Int
httpStatus = Int
pHttpStatus_
}
deleteLinkResponse_link :: Lens.Lens' DeleteLinkResponse (Prelude.Maybe Link)
deleteLinkResponse_link :: Lens' DeleteLinkResponse (Maybe Link)
deleteLinkResponse_link = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteLinkResponse' {Maybe Link
link :: Maybe Link
$sel:link:DeleteLinkResponse' :: DeleteLinkResponse -> Maybe Link
link} -> Maybe Link
link) (\s :: DeleteLinkResponse
s@DeleteLinkResponse' {} Maybe Link
a -> DeleteLinkResponse
s {$sel:link:DeleteLinkResponse' :: Maybe Link
link = Maybe Link
a} :: DeleteLinkResponse)
deleteLinkResponse_httpStatus :: Lens.Lens' DeleteLinkResponse Prelude.Int
deleteLinkResponse_httpStatus :: Lens' DeleteLinkResponse Int
deleteLinkResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteLinkResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteLinkResponse' :: DeleteLinkResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteLinkResponse
s@DeleteLinkResponse' {} Int
a -> DeleteLinkResponse
s {$sel:httpStatus:DeleteLinkResponse' :: Int
httpStatus = Int
a} :: DeleteLinkResponse)
instance Prelude.NFData DeleteLinkResponse where
rnf :: DeleteLinkResponse -> ()
rnf DeleteLinkResponse' {Int
Maybe Link
httpStatus :: Int
link :: Maybe Link
$sel:httpStatus:DeleteLinkResponse' :: DeleteLinkResponse -> Int
$sel:link:DeleteLinkResponse' :: DeleteLinkResponse -> Maybe Link
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Link
link
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus