{-# 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.IotTwinMaker.DeleteEntity
(
DeleteEntity (..),
newDeleteEntity,
deleteEntity_isRecursive,
deleteEntity_workspaceId,
deleteEntity_entityId,
DeleteEntityResponse (..),
newDeleteEntityResponse,
deleteEntityResponse_httpStatus,
deleteEntityResponse_state,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IotTwinMaker.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DeleteEntity = DeleteEntity'
{
DeleteEntity -> Maybe Bool
isRecursive :: Prelude.Maybe Prelude.Bool,
DeleteEntity -> Text
workspaceId :: Prelude.Text,
DeleteEntity -> Text
entityId :: Prelude.Text
}
deriving (DeleteEntity -> DeleteEntity -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteEntity -> DeleteEntity -> Bool
$c/= :: DeleteEntity -> DeleteEntity -> Bool
== :: DeleteEntity -> DeleteEntity -> Bool
$c== :: DeleteEntity -> DeleteEntity -> Bool
Prelude.Eq, ReadPrec [DeleteEntity]
ReadPrec DeleteEntity
Int -> ReadS DeleteEntity
ReadS [DeleteEntity]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteEntity]
$creadListPrec :: ReadPrec [DeleteEntity]
readPrec :: ReadPrec DeleteEntity
$creadPrec :: ReadPrec DeleteEntity
readList :: ReadS [DeleteEntity]
$creadList :: ReadS [DeleteEntity]
readsPrec :: Int -> ReadS DeleteEntity
$creadsPrec :: Int -> ReadS DeleteEntity
Prelude.Read, Int -> DeleteEntity -> ShowS
[DeleteEntity] -> ShowS
DeleteEntity -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteEntity] -> ShowS
$cshowList :: [DeleteEntity] -> ShowS
show :: DeleteEntity -> String
$cshow :: DeleteEntity -> String
showsPrec :: Int -> DeleteEntity -> ShowS
$cshowsPrec :: Int -> DeleteEntity -> ShowS
Prelude.Show, forall x. Rep DeleteEntity x -> DeleteEntity
forall x. DeleteEntity -> Rep DeleteEntity x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteEntity x -> DeleteEntity
$cfrom :: forall x. DeleteEntity -> Rep DeleteEntity x
Prelude.Generic)
newDeleteEntity ::
Prelude.Text ->
Prelude.Text ->
DeleteEntity
newDeleteEntity :: Text -> Text -> DeleteEntity
newDeleteEntity Text
pWorkspaceId_ Text
pEntityId_ =
DeleteEntity'
{ $sel:isRecursive:DeleteEntity' :: Maybe Bool
isRecursive = forall a. Maybe a
Prelude.Nothing,
$sel:workspaceId:DeleteEntity' :: Text
workspaceId = Text
pWorkspaceId_,
$sel:entityId:DeleteEntity' :: Text
entityId = Text
pEntityId_
}
deleteEntity_isRecursive :: Lens.Lens' DeleteEntity (Prelude.Maybe Prelude.Bool)
deleteEntity_isRecursive :: Lens' DeleteEntity (Maybe Bool)
deleteEntity_isRecursive = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteEntity' {Maybe Bool
isRecursive :: Maybe Bool
$sel:isRecursive:DeleteEntity' :: DeleteEntity -> Maybe Bool
isRecursive} -> Maybe Bool
isRecursive) (\s :: DeleteEntity
s@DeleteEntity' {} Maybe Bool
a -> DeleteEntity
s {$sel:isRecursive:DeleteEntity' :: Maybe Bool
isRecursive = Maybe Bool
a} :: DeleteEntity)
deleteEntity_workspaceId :: Lens.Lens' DeleteEntity Prelude.Text
deleteEntity_workspaceId :: Lens' DeleteEntity Text
deleteEntity_workspaceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteEntity' {Text
workspaceId :: Text
$sel:workspaceId:DeleteEntity' :: DeleteEntity -> Text
workspaceId} -> Text
workspaceId) (\s :: DeleteEntity
s@DeleteEntity' {} Text
a -> DeleteEntity
s {$sel:workspaceId:DeleteEntity' :: Text
workspaceId = Text
a} :: DeleteEntity)
deleteEntity_entityId :: Lens.Lens' DeleteEntity Prelude.Text
deleteEntity_entityId :: Lens' DeleteEntity Text
deleteEntity_entityId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteEntity' {Text
entityId :: Text
$sel:entityId:DeleteEntity' :: DeleteEntity -> Text
entityId} -> Text
entityId) (\s :: DeleteEntity
s@DeleteEntity' {} Text
a -> DeleteEntity
s {$sel:entityId:DeleteEntity' :: Text
entityId = Text
a} :: DeleteEntity)
instance Core.AWSRequest DeleteEntity where
type AWSResponse DeleteEntity = DeleteEntityResponse
request :: (Service -> Service) -> DeleteEntity -> Request DeleteEntity
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 DeleteEntity
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DeleteEntity)))
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 ->
Int -> State -> DeleteEntityResponse
DeleteEntityResponse'
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))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"state")
)
instance Prelude.Hashable DeleteEntity where
hashWithSalt :: Int -> DeleteEntity -> Int
hashWithSalt Int
_salt DeleteEntity' {Maybe Bool
Text
entityId :: Text
workspaceId :: Text
isRecursive :: Maybe Bool
$sel:entityId:DeleteEntity' :: DeleteEntity -> Text
$sel:workspaceId:DeleteEntity' :: DeleteEntity -> Text
$sel:isRecursive:DeleteEntity' :: DeleteEntity -> Maybe Bool
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
isRecursive
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
workspaceId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
entityId
instance Prelude.NFData DeleteEntity where
rnf :: DeleteEntity -> ()
rnf DeleteEntity' {Maybe Bool
Text
entityId :: Text
workspaceId :: Text
isRecursive :: Maybe Bool
$sel:entityId:DeleteEntity' :: DeleteEntity -> Text
$sel:workspaceId:DeleteEntity' :: DeleteEntity -> Text
$sel:isRecursive:DeleteEntity' :: DeleteEntity -> Maybe Bool
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
isRecursive
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
workspaceId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
entityId
instance Data.ToHeaders DeleteEntity where
toHeaders :: DeleteEntity -> 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 DeleteEntity where
toPath :: DeleteEntity -> ByteString
toPath DeleteEntity' {Maybe Bool
Text
entityId :: Text
workspaceId :: Text
isRecursive :: Maybe Bool
$sel:entityId:DeleteEntity' :: DeleteEntity -> Text
$sel:workspaceId:DeleteEntity' :: DeleteEntity -> Text
$sel:isRecursive:DeleteEntity' :: DeleteEntity -> Maybe Bool
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/workspaces/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
workspaceId,
ByteString
"/entities/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
entityId
]
instance Data.ToQuery DeleteEntity where
toQuery :: DeleteEntity -> QueryString
toQuery DeleteEntity' {Maybe Bool
Text
entityId :: Text
workspaceId :: Text
isRecursive :: Maybe Bool
$sel:entityId:DeleteEntity' :: DeleteEntity -> Text
$sel:workspaceId:DeleteEntity' :: DeleteEntity -> Text
$sel:isRecursive:DeleteEntity' :: DeleteEntity -> Maybe Bool
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"isRecursive" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
isRecursive]
data DeleteEntityResponse = DeleteEntityResponse'
{
DeleteEntityResponse -> Int
httpStatus :: Prelude.Int,
DeleteEntityResponse -> State
state :: State
}
deriving (DeleteEntityResponse -> DeleteEntityResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteEntityResponse -> DeleteEntityResponse -> Bool
$c/= :: DeleteEntityResponse -> DeleteEntityResponse -> Bool
== :: DeleteEntityResponse -> DeleteEntityResponse -> Bool
$c== :: DeleteEntityResponse -> DeleteEntityResponse -> Bool
Prelude.Eq, ReadPrec [DeleteEntityResponse]
ReadPrec DeleteEntityResponse
Int -> ReadS DeleteEntityResponse
ReadS [DeleteEntityResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteEntityResponse]
$creadListPrec :: ReadPrec [DeleteEntityResponse]
readPrec :: ReadPrec DeleteEntityResponse
$creadPrec :: ReadPrec DeleteEntityResponse
readList :: ReadS [DeleteEntityResponse]
$creadList :: ReadS [DeleteEntityResponse]
readsPrec :: Int -> ReadS DeleteEntityResponse
$creadsPrec :: Int -> ReadS DeleteEntityResponse
Prelude.Read, Int -> DeleteEntityResponse -> ShowS
[DeleteEntityResponse] -> ShowS
DeleteEntityResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteEntityResponse] -> ShowS
$cshowList :: [DeleteEntityResponse] -> ShowS
show :: DeleteEntityResponse -> String
$cshow :: DeleteEntityResponse -> String
showsPrec :: Int -> DeleteEntityResponse -> ShowS
$cshowsPrec :: Int -> DeleteEntityResponse -> ShowS
Prelude.Show, forall x. Rep DeleteEntityResponse x -> DeleteEntityResponse
forall x. DeleteEntityResponse -> Rep DeleteEntityResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteEntityResponse x -> DeleteEntityResponse
$cfrom :: forall x. DeleteEntityResponse -> Rep DeleteEntityResponse x
Prelude.Generic)
newDeleteEntityResponse ::
Prelude.Int ->
State ->
DeleteEntityResponse
newDeleteEntityResponse :: Int -> State -> DeleteEntityResponse
newDeleteEntityResponse Int
pHttpStatus_ State
pState_ =
DeleteEntityResponse'
{ $sel:httpStatus:DeleteEntityResponse' :: Int
httpStatus = Int
pHttpStatus_,
$sel:state:DeleteEntityResponse' :: State
state = State
pState_
}
deleteEntityResponse_httpStatus :: Lens.Lens' DeleteEntityResponse Prelude.Int
deleteEntityResponse_httpStatus :: Lens' DeleteEntityResponse Int
deleteEntityResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteEntityResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteEntityResponse' :: DeleteEntityResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteEntityResponse
s@DeleteEntityResponse' {} Int
a -> DeleteEntityResponse
s {$sel:httpStatus:DeleteEntityResponse' :: Int
httpStatus = Int
a} :: DeleteEntityResponse)
deleteEntityResponse_state :: Lens.Lens' DeleteEntityResponse State
deleteEntityResponse_state :: Lens' DeleteEntityResponse State
deleteEntityResponse_state = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteEntityResponse' {State
state :: State
$sel:state:DeleteEntityResponse' :: DeleteEntityResponse -> State
state} -> State
state) (\s :: DeleteEntityResponse
s@DeleteEntityResponse' {} State
a -> DeleteEntityResponse
s {$sel:state:DeleteEntityResponse' :: State
state = State
a} :: DeleteEntityResponse)
instance Prelude.NFData DeleteEntityResponse where
rnf :: DeleteEntityResponse -> ()
rnf DeleteEntityResponse' {Int
State
state :: State
httpStatus :: Int
$sel:state:DeleteEntityResponse' :: DeleteEntityResponse -> State
$sel:httpStatus:DeleteEntityResponse' :: DeleteEntityResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf State
state