{-# 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.Greengrass.DeleteDeviceDefinition
(
DeleteDeviceDefinition (..),
newDeleteDeviceDefinition,
deleteDeviceDefinition_deviceDefinitionId,
DeleteDeviceDefinitionResponse (..),
newDeleteDeviceDefinitionResponse,
deleteDeviceDefinitionResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Greengrass.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DeleteDeviceDefinition = DeleteDeviceDefinition'
{
DeleteDeviceDefinition -> Text
deviceDefinitionId :: Prelude.Text
}
deriving (DeleteDeviceDefinition -> DeleteDeviceDefinition -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteDeviceDefinition -> DeleteDeviceDefinition -> Bool
$c/= :: DeleteDeviceDefinition -> DeleteDeviceDefinition -> Bool
== :: DeleteDeviceDefinition -> DeleteDeviceDefinition -> Bool
$c== :: DeleteDeviceDefinition -> DeleteDeviceDefinition -> Bool
Prelude.Eq, ReadPrec [DeleteDeviceDefinition]
ReadPrec DeleteDeviceDefinition
Int -> ReadS DeleteDeviceDefinition
ReadS [DeleteDeviceDefinition]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteDeviceDefinition]
$creadListPrec :: ReadPrec [DeleteDeviceDefinition]
readPrec :: ReadPrec DeleteDeviceDefinition
$creadPrec :: ReadPrec DeleteDeviceDefinition
readList :: ReadS [DeleteDeviceDefinition]
$creadList :: ReadS [DeleteDeviceDefinition]
readsPrec :: Int -> ReadS DeleteDeviceDefinition
$creadsPrec :: Int -> ReadS DeleteDeviceDefinition
Prelude.Read, Int -> DeleteDeviceDefinition -> ShowS
[DeleteDeviceDefinition] -> ShowS
DeleteDeviceDefinition -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteDeviceDefinition] -> ShowS
$cshowList :: [DeleteDeviceDefinition] -> ShowS
show :: DeleteDeviceDefinition -> String
$cshow :: DeleteDeviceDefinition -> String
showsPrec :: Int -> DeleteDeviceDefinition -> ShowS
$cshowsPrec :: Int -> DeleteDeviceDefinition -> ShowS
Prelude.Show, forall x. Rep DeleteDeviceDefinition x -> DeleteDeviceDefinition
forall x. DeleteDeviceDefinition -> Rep DeleteDeviceDefinition x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteDeviceDefinition x -> DeleteDeviceDefinition
$cfrom :: forall x. DeleteDeviceDefinition -> Rep DeleteDeviceDefinition x
Prelude.Generic)
newDeleteDeviceDefinition ::
Prelude.Text ->
DeleteDeviceDefinition
newDeleteDeviceDefinition :: Text -> DeleteDeviceDefinition
newDeleteDeviceDefinition Text
pDeviceDefinitionId_ =
DeleteDeviceDefinition'
{ $sel:deviceDefinitionId:DeleteDeviceDefinition' :: Text
deviceDefinitionId =
Text
pDeviceDefinitionId_
}
deleteDeviceDefinition_deviceDefinitionId :: Lens.Lens' DeleteDeviceDefinition Prelude.Text
deleteDeviceDefinition_deviceDefinitionId :: Lens' DeleteDeviceDefinition Text
deleteDeviceDefinition_deviceDefinitionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteDeviceDefinition' {Text
deviceDefinitionId :: Text
$sel:deviceDefinitionId:DeleteDeviceDefinition' :: DeleteDeviceDefinition -> Text
deviceDefinitionId} -> Text
deviceDefinitionId) (\s :: DeleteDeviceDefinition
s@DeleteDeviceDefinition' {} Text
a -> DeleteDeviceDefinition
s {$sel:deviceDefinitionId:DeleteDeviceDefinition' :: Text
deviceDefinitionId = Text
a} :: DeleteDeviceDefinition)
instance Core.AWSRequest DeleteDeviceDefinition where
type
AWSResponse DeleteDeviceDefinition =
DeleteDeviceDefinitionResponse
request :: (Service -> Service)
-> DeleteDeviceDefinition -> Request DeleteDeviceDefinition
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 DeleteDeviceDefinition
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DeleteDeviceDefinition)))
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 -> DeleteDeviceDefinitionResponse
DeleteDeviceDefinitionResponse'
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 DeleteDeviceDefinition where
hashWithSalt :: Int -> DeleteDeviceDefinition -> Int
hashWithSalt Int
_salt DeleteDeviceDefinition' {Text
deviceDefinitionId :: Text
$sel:deviceDefinitionId:DeleteDeviceDefinition' :: DeleteDeviceDefinition -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
deviceDefinitionId
instance Prelude.NFData DeleteDeviceDefinition where
rnf :: DeleteDeviceDefinition -> ()
rnf DeleteDeviceDefinition' {Text
deviceDefinitionId :: Text
$sel:deviceDefinitionId:DeleteDeviceDefinition' :: DeleteDeviceDefinition -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
deviceDefinitionId
instance Data.ToHeaders DeleteDeviceDefinition where
toHeaders :: DeleteDeviceDefinition -> 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 DeleteDeviceDefinition where
toPath :: DeleteDeviceDefinition -> ByteString
toPath DeleteDeviceDefinition' {Text
deviceDefinitionId :: Text
$sel:deviceDefinitionId:DeleteDeviceDefinition' :: DeleteDeviceDefinition -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/greengrass/definition/devices/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
deviceDefinitionId
]
instance Data.ToQuery DeleteDeviceDefinition where
toQuery :: DeleteDeviceDefinition -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteDeviceDefinitionResponse = DeleteDeviceDefinitionResponse'
{
DeleteDeviceDefinitionResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeleteDeviceDefinitionResponse
-> DeleteDeviceDefinitionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteDeviceDefinitionResponse
-> DeleteDeviceDefinitionResponse -> Bool
$c/= :: DeleteDeviceDefinitionResponse
-> DeleteDeviceDefinitionResponse -> Bool
== :: DeleteDeviceDefinitionResponse
-> DeleteDeviceDefinitionResponse -> Bool
$c== :: DeleteDeviceDefinitionResponse
-> DeleteDeviceDefinitionResponse -> Bool
Prelude.Eq, ReadPrec [DeleteDeviceDefinitionResponse]
ReadPrec DeleteDeviceDefinitionResponse
Int -> ReadS DeleteDeviceDefinitionResponse
ReadS [DeleteDeviceDefinitionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteDeviceDefinitionResponse]
$creadListPrec :: ReadPrec [DeleteDeviceDefinitionResponse]
readPrec :: ReadPrec DeleteDeviceDefinitionResponse
$creadPrec :: ReadPrec DeleteDeviceDefinitionResponse
readList :: ReadS [DeleteDeviceDefinitionResponse]
$creadList :: ReadS [DeleteDeviceDefinitionResponse]
readsPrec :: Int -> ReadS DeleteDeviceDefinitionResponse
$creadsPrec :: Int -> ReadS DeleteDeviceDefinitionResponse
Prelude.Read, Int -> DeleteDeviceDefinitionResponse -> ShowS
[DeleteDeviceDefinitionResponse] -> ShowS
DeleteDeviceDefinitionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteDeviceDefinitionResponse] -> ShowS
$cshowList :: [DeleteDeviceDefinitionResponse] -> ShowS
show :: DeleteDeviceDefinitionResponse -> String
$cshow :: DeleteDeviceDefinitionResponse -> String
showsPrec :: Int -> DeleteDeviceDefinitionResponse -> ShowS
$cshowsPrec :: Int -> DeleteDeviceDefinitionResponse -> ShowS
Prelude.Show, forall x.
Rep DeleteDeviceDefinitionResponse x
-> DeleteDeviceDefinitionResponse
forall x.
DeleteDeviceDefinitionResponse
-> Rep DeleteDeviceDefinitionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteDeviceDefinitionResponse x
-> DeleteDeviceDefinitionResponse
$cfrom :: forall x.
DeleteDeviceDefinitionResponse
-> Rep DeleteDeviceDefinitionResponse x
Prelude.Generic)
newDeleteDeviceDefinitionResponse ::
Prelude.Int ->
DeleteDeviceDefinitionResponse
newDeleteDeviceDefinitionResponse :: Int -> DeleteDeviceDefinitionResponse
newDeleteDeviceDefinitionResponse Int
pHttpStatus_ =
DeleteDeviceDefinitionResponse'
{ $sel:httpStatus:DeleteDeviceDefinitionResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
deleteDeviceDefinitionResponse_httpStatus :: Lens.Lens' DeleteDeviceDefinitionResponse Prelude.Int
deleteDeviceDefinitionResponse_httpStatus :: Lens' DeleteDeviceDefinitionResponse Int
deleteDeviceDefinitionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteDeviceDefinitionResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteDeviceDefinitionResponse' :: DeleteDeviceDefinitionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteDeviceDefinitionResponse
s@DeleteDeviceDefinitionResponse' {} Int
a -> DeleteDeviceDefinitionResponse
s {$sel:httpStatus:DeleteDeviceDefinitionResponse' :: Int
httpStatus = Int
a} :: DeleteDeviceDefinitionResponse)
instance
Prelude.NFData
DeleteDeviceDefinitionResponse
where
rnf :: DeleteDeviceDefinitionResponse -> ()
rnf DeleteDeviceDefinitionResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteDeviceDefinitionResponse' :: DeleteDeviceDefinitionResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus