{-# 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.DeleteSite
(
DeleteSite (..),
newDeleteSite,
deleteSite_globalNetworkId,
deleteSite_siteId,
DeleteSiteResponse (..),
newDeleteSiteResponse,
deleteSiteResponse_site,
deleteSiteResponse_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 DeleteSite = DeleteSite'
{
DeleteSite -> Text
globalNetworkId :: Prelude.Text,
DeleteSite -> Text
siteId :: Prelude.Text
}
deriving (DeleteSite -> DeleteSite -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteSite -> DeleteSite -> Bool
$c/= :: DeleteSite -> DeleteSite -> Bool
== :: DeleteSite -> DeleteSite -> Bool
$c== :: DeleteSite -> DeleteSite -> Bool
Prelude.Eq, ReadPrec [DeleteSite]
ReadPrec DeleteSite
Int -> ReadS DeleteSite
ReadS [DeleteSite]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteSite]
$creadListPrec :: ReadPrec [DeleteSite]
readPrec :: ReadPrec DeleteSite
$creadPrec :: ReadPrec DeleteSite
readList :: ReadS [DeleteSite]
$creadList :: ReadS [DeleteSite]
readsPrec :: Int -> ReadS DeleteSite
$creadsPrec :: Int -> ReadS DeleteSite
Prelude.Read, Int -> DeleteSite -> ShowS
[DeleteSite] -> ShowS
DeleteSite -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteSite] -> ShowS
$cshowList :: [DeleteSite] -> ShowS
show :: DeleteSite -> String
$cshow :: DeleteSite -> String
showsPrec :: Int -> DeleteSite -> ShowS
$cshowsPrec :: Int -> DeleteSite -> ShowS
Prelude.Show, forall x. Rep DeleteSite x -> DeleteSite
forall x. DeleteSite -> Rep DeleteSite x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteSite x -> DeleteSite
$cfrom :: forall x. DeleteSite -> Rep DeleteSite x
Prelude.Generic)
newDeleteSite ::
Prelude.Text ->
Prelude.Text ->
DeleteSite
newDeleteSite :: Text -> Text -> DeleteSite
newDeleteSite Text
pGlobalNetworkId_ Text
pSiteId_ =
DeleteSite'
{ $sel:globalNetworkId:DeleteSite' :: Text
globalNetworkId = Text
pGlobalNetworkId_,
$sel:siteId:DeleteSite' :: Text
siteId = Text
pSiteId_
}
deleteSite_globalNetworkId :: Lens.Lens' DeleteSite Prelude.Text
deleteSite_globalNetworkId :: Lens' DeleteSite Text
deleteSite_globalNetworkId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteSite' {Text
globalNetworkId :: Text
$sel:globalNetworkId:DeleteSite' :: DeleteSite -> Text
globalNetworkId} -> Text
globalNetworkId) (\s :: DeleteSite
s@DeleteSite' {} Text
a -> DeleteSite
s {$sel:globalNetworkId:DeleteSite' :: Text
globalNetworkId = Text
a} :: DeleteSite)
deleteSite_siteId :: Lens.Lens' DeleteSite Prelude.Text
deleteSite_siteId :: Lens' DeleteSite Text
deleteSite_siteId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteSite' {Text
siteId :: Text
$sel:siteId:DeleteSite' :: DeleteSite -> Text
siteId} -> Text
siteId) (\s :: DeleteSite
s@DeleteSite' {} Text
a -> DeleteSite
s {$sel:siteId:DeleteSite' :: Text
siteId = Text
a} :: DeleteSite)
instance Core.AWSRequest DeleteSite where
type AWSResponse DeleteSite = DeleteSiteResponse
request :: (Service -> Service) -> DeleteSite -> Request DeleteSite
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 DeleteSite
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DeleteSite)))
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 Site -> Int -> DeleteSiteResponse
DeleteSiteResponse'
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
"Site")
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 DeleteSite where
hashWithSalt :: Int -> DeleteSite -> Int
hashWithSalt Int
_salt DeleteSite' {Text
siteId :: Text
globalNetworkId :: Text
$sel:siteId:DeleteSite' :: DeleteSite -> Text
$sel:globalNetworkId:DeleteSite' :: DeleteSite -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
globalNetworkId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
siteId
instance Prelude.NFData DeleteSite where
rnf :: DeleteSite -> ()
rnf DeleteSite' {Text
siteId :: Text
globalNetworkId :: Text
$sel:siteId:DeleteSite' :: DeleteSite -> Text
$sel:globalNetworkId:DeleteSite' :: DeleteSite -> 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
siteId
instance Data.ToHeaders DeleteSite where
toHeaders :: DeleteSite -> 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 DeleteSite where
toPath :: DeleteSite -> ByteString
toPath DeleteSite' {Text
siteId :: Text
globalNetworkId :: Text
$sel:siteId:DeleteSite' :: DeleteSite -> Text
$sel:globalNetworkId:DeleteSite' :: DeleteSite -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/global-networks/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
globalNetworkId,
ByteString
"/sites/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
siteId
]
instance Data.ToQuery DeleteSite where
toQuery :: DeleteSite -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteSiteResponse = DeleteSiteResponse'
{
DeleteSiteResponse -> Maybe Site
site :: Prelude.Maybe Site,
DeleteSiteResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeleteSiteResponse -> DeleteSiteResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteSiteResponse -> DeleteSiteResponse -> Bool
$c/= :: DeleteSiteResponse -> DeleteSiteResponse -> Bool
== :: DeleteSiteResponse -> DeleteSiteResponse -> Bool
$c== :: DeleteSiteResponse -> DeleteSiteResponse -> Bool
Prelude.Eq, Int -> DeleteSiteResponse -> ShowS
[DeleteSiteResponse] -> ShowS
DeleteSiteResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteSiteResponse] -> ShowS
$cshowList :: [DeleteSiteResponse] -> ShowS
show :: DeleteSiteResponse -> String
$cshow :: DeleteSiteResponse -> String
showsPrec :: Int -> DeleteSiteResponse -> ShowS
$cshowsPrec :: Int -> DeleteSiteResponse -> ShowS
Prelude.Show, forall x. Rep DeleteSiteResponse x -> DeleteSiteResponse
forall x. DeleteSiteResponse -> Rep DeleteSiteResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteSiteResponse x -> DeleteSiteResponse
$cfrom :: forall x. DeleteSiteResponse -> Rep DeleteSiteResponse x
Prelude.Generic)
newDeleteSiteResponse ::
Prelude.Int ->
DeleteSiteResponse
newDeleteSiteResponse :: Int -> DeleteSiteResponse
newDeleteSiteResponse Int
pHttpStatus_ =
DeleteSiteResponse'
{ $sel:site:DeleteSiteResponse' :: Maybe Site
site = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DeleteSiteResponse' :: Int
httpStatus = Int
pHttpStatus_
}
deleteSiteResponse_site :: Lens.Lens' DeleteSiteResponse (Prelude.Maybe Site)
deleteSiteResponse_site :: Lens' DeleteSiteResponse (Maybe Site)
deleteSiteResponse_site = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteSiteResponse' {Maybe Site
site :: Maybe Site
$sel:site:DeleteSiteResponse' :: DeleteSiteResponse -> Maybe Site
site} -> Maybe Site
site) (\s :: DeleteSiteResponse
s@DeleteSiteResponse' {} Maybe Site
a -> DeleteSiteResponse
s {$sel:site:DeleteSiteResponse' :: Maybe Site
site = Maybe Site
a} :: DeleteSiteResponse)
deleteSiteResponse_httpStatus :: Lens.Lens' DeleteSiteResponse Prelude.Int
deleteSiteResponse_httpStatus :: Lens' DeleteSiteResponse Int
deleteSiteResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteSiteResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteSiteResponse' :: DeleteSiteResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteSiteResponse
s@DeleteSiteResponse' {} Int
a -> DeleteSiteResponse
s {$sel:httpStatus:DeleteSiteResponse' :: Int
httpStatus = Int
a} :: DeleteSiteResponse)
instance Prelude.NFData DeleteSiteResponse where
rnf :: DeleteSiteResponse -> ()
rnf DeleteSiteResponse' {Int
Maybe Site
httpStatus :: Int
site :: Maybe Site
$sel:httpStatus:DeleteSiteResponse' :: DeleteSiteResponse -> Int
$sel:site:DeleteSiteResponse' :: DeleteSiteResponse -> Maybe Site
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Site
site
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus