{-# 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.IoT1ClickProjects.DeletePlacement
(
DeletePlacement (..),
newDeletePlacement,
deletePlacement_placementName,
deletePlacement_projectName,
DeletePlacementResponse (..),
newDeletePlacementResponse,
deletePlacementResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IoT1ClickProjects.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DeletePlacement = DeletePlacement'
{
DeletePlacement -> Text
placementName :: Prelude.Text,
DeletePlacement -> Text
projectName :: Prelude.Text
}
deriving (DeletePlacement -> DeletePlacement -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeletePlacement -> DeletePlacement -> Bool
$c/= :: DeletePlacement -> DeletePlacement -> Bool
== :: DeletePlacement -> DeletePlacement -> Bool
$c== :: DeletePlacement -> DeletePlacement -> Bool
Prelude.Eq, ReadPrec [DeletePlacement]
ReadPrec DeletePlacement
Int -> ReadS DeletePlacement
ReadS [DeletePlacement]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeletePlacement]
$creadListPrec :: ReadPrec [DeletePlacement]
readPrec :: ReadPrec DeletePlacement
$creadPrec :: ReadPrec DeletePlacement
readList :: ReadS [DeletePlacement]
$creadList :: ReadS [DeletePlacement]
readsPrec :: Int -> ReadS DeletePlacement
$creadsPrec :: Int -> ReadS DeletePlacement
Prelude.Read, Int -> DeletePlacement -> ShowS
[DeletePlacement] -> ShowS
DeletePlacement -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeletePlacement] -> ShowS
$cshowList :: [DeletePlacement] -> ShowS
show :: DeletePlacement -> String
$cshow :: DeletePlacement -> String
showsPrec :: Int -> DeletePlacement -> ShowS
$cshowsPrec :: Int -> DeletePlacement -> ShowS
Prelude.Show, forall x. Rep DeletePlacement x -> DeletePlacement
forall x. DeletePlacement -> Rep DeletePlacement x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeletePlacement x -> DeletePlacement
$cfrom :: forall x. DeletePlacement -> Rep DeletePlacement x
Prelude.Generic)
newDeletePlacement ::
Prelude.Text ->
Prelude.Text ->
DeletePlacement
newDeletePlacement :: Text -> Text -> DeletePlacement
newDeletePlacement Text
pPlacementName_ Text
pProjectName_ =
DeletePlacement'
{ $sel:placementName:DeletePlacement' :: Text
placementName = Text
pPlacementName_,
$sel:projectName:DeletePlacement' :: Text
projectName = Text
pProjectName_
}
deletePlacement_placementName :: Lens.Lens' DeletePlacement Prelude.Text
deletePlacement_placementName :: Lens' DeletePlacement Text
deletePlacement_placementName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeletePlacement' {Text
placementName :: Text
$sel:placementName:DeletePlacement' :: DeletePlacement -> Text
placementName} -> Text
placementName) (\s :: DeletePlacement
s@DeletePlacement' {} Text
a -> DeletePlacement
s {$sel:placementName:DeletePlacement' :: Text
placementName = Text
a} :: DeletePlacement)
deletePlacement_projectName :: Lens.Lens' DeletePlacement Prelude.Text
deletePlacement_projectName :: Lens' DeletePlacement Text
deletePlacement_projectName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeletePlacement' {Text
projectName :: Text
$sel:projectName:DeletePlacement' :: DeletePlacement -> Text
projectName} -> Text
projectName) (\s :: DeletePlacement
s@DeletePlacement' {} Text
a -> DeletePlacement
s {$sel:projectName:DeletePlacement' :: Text
projectName = Text
a} :: DeletePlacement)
instance Core.AWSRequest DeletePlacement where
type
AWSResponse DeletePlacement =
DeletePlacementResponse
request :: (Service -> Service) -> DeletePlacement -> Request DeletePlacement
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 DeletePlacement
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DeletePlacement)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Int -> DeletePlacementResponse
DeletePlacementResponse'
forall (f :: * -> *) a b. Functor 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 DeletePlacement where
hashWithSalt :: Int -> DeletePlacement -> Int
hashWithSalt Int
_salt DeletePlacement' {Text
projectName :: Text
placementName :: Text
$sel:projectName:DeletePlacement' :: DeletePlacement -> Text
$sel:placementName:DeletePlacement' :: DeletePlacement -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
placementName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
projectName
instance Prelude.NFData DeletePlacement where
rnf :: DeletePlacement -> ()
rnf DeletePlacement' {Text
projectName :: Text
placementName :: Text
$sel:projectName:DeletePlacement' :: DeletePlacement -> Text
$sel:placementName:DeletePlacement' :: DeletePlacement -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
placementName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
projectName
instance Data.ToHeaders DeletePlacement where
toHeaders :: DeletePlacement -> 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 DeletePlacement where
toPath :: DeletePlacement -> ByteString
toPath DeletePlacement' {Text
projectName :: Text
placementName :: Text
$sel:projectName:DeletePlacement' :: DeletePlacement -> Text
$sel:placementName:DeletePlacement' :: DeletePlacement -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/projects/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
projectName,
ByteString
"/placements/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
placementName
]
instance Data.ToQuery DeletePlacement where
toQuery :: DeletePlacement -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeletePlacementResponse = DeletePlacementResponse'
{
DeletePlacementResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeletePlacementResponse -> DeletePlacementResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeletePlacementResponse -> DeletePlacementResponse -> Bool
$c/= :: DeletePlacementResponse -> DeletePlacementResponse -> Bool
== :: DeletePlacementResponse -> DeletePlacementResponse -> Bool
$c== :: DeletePlacementResponse -> DeletePlacementResponse -> Bool
Prelude.Eq, ReadPrec [DeletePlacementResponse]
ReadPrec DeletePlacementResponse
Int -> ReadS DeletePlacementResponse
ReadS [DeletePlacementResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeletePlacementResponse]
$creadListPrec :: ReadPrec [DeletePlacementResponse]
readPrec :: ReadPrec DeletePlacementResponse
$creadPrec :: ReadPrec DeletePlacementResponse
readList :: ReadS [DeletePlacementResponse]
$creadList :: ReadS [DeletePlacementResponse]
readsPrec :: Int -> ReadS DeletePlacementResponse
$creadsPrec :: Int -> ReadS DeletePlacementResponse
Prelude.Read, Int -> DeletePlacementResponse -> ShowS
[DeletePlacementResponse] -> ShowS
DeletePlacementResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeletePlacementResponse] -> ShowS
$cshowList :: [DeletePlacementResponse] -> ShowS
show :: DeletePlacementResponse -> String
$cshow :: DeletePlacementResponse -> String
showsPrec :: Int -> DeletePlacementResponse -> ShowS
$cshowsPrec :: Int -> DeletePlacementResponse -> ShowS
Prelude.Show, forall x. Rep DeletePlacementResponse x -> DeletePlacementResponse
forall x. DeletePlacementResponse -> Rep DeletePlacementResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeletePlacementResponse x -> DeletePlacementResponse
$cfrom :: forall x. DeletePlacementResponse -> Rep DeletePlacementResponse x
Prelude.Generic)
newDeletePlacementResponse ::
Prelude.Int ->
DeletePlacementResponse
newDeletePlacementResponse :: Int -> DeletePlacementResponse
newDeletePlacementResponse Int
pHttpStatus_ =
DeletePlacementResponse' {$sel:httpStatus:DeletePlacementResponse' :: Int
httpStatus = Int
pHttpStatus_}
deletePlacementResponse_httpStatus :: Lens.Lens' DeletePlacementResponse Prelude.Int
deletePlacementResponse_httpStatus :: Lens' DeletePlacementResponse Int
deletePlacementResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeletePlacementResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeletePlacementResponse' :: DeletePlacementResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeletePlacementResponse
s@DeletePlacementResponse' {} Int
a -> DeletePlacementResponse
s {$sel:httpStatus:DeletePlacementResponse' :: Int
httpStatus = Int
a} :: DeletePlacementResponse)
instance Prelude.NFData DeletePlacementResponse where
rnf :: DeletePlacementResponse -> ()
rnf DeletePlacementResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeletePlacementResponse' :: DeletePlacementResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus