{-# 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.IoTSiteWise.DeleteAsset
(
DeleteAsset (..),
newDeleteAsset,
deleteAsset_clientToken,
deleteAsset_assetId,
DeleteAssetResponse (..),
newDeleteAssetResponse,
deleteAssetResponse_httpStatus,
deleteAssetResponse_assetStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IoTSiteWise.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DeleteAsset = DeleteAsset'
{
DeleteAsset -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
DeleteAsset -> Text
assetId :: Prelude.Text
}
deriving (DeleteAsset -> DeleteAsset -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteAsset -> DeleteAsset -> Bool
$c/= :: DeleteAsset -> DeleteAsset -> Bool
== :: DeleteAsset -> DeleteAsset -> Bool
$c== :: DeleteAsset -> DeleteAsset -> Bool
Prelude.Eq, ReadPrec [DeleteAsset]
ReadPrec DeleteAsset
Int -> ReadS DeleteAsset
ReadS [DeleteAsset]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteAsset]
$creadListPrec :: ReadPrec [DeleteAsset]
readPrec :: ReadPrec DeleteAsset
$creadPrec :: ReadPrec DeleteAsset
readList :: ReadS [DeleteAsset]
$creadList :: ReadS [DeleteAsset]
readsPrec :: Int -> ReadS DeleteAsset
$creadsPrec :: Int -> ReadS DeleteAsset
Prelude.Read, Int -> DeleteAsset -> ShowS
[DeleteAsset] -> ShowS
DeleteAsset -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteAsset] -> ShowS
$cshowList :: [DeleteAsset] -> ShowS
show :: DeleteAsset -> String
$cshow :: DeleteAsset -> String
showsPrec :: Int -> DeleteAsset -> ShowS
$cshowsPrec :: Int -> DeleteAsset -> ShowS
Prelude.Show, forall x. Rep DeleteAsset x -> DeleteAsset
forall x. DeleteAsset -> Rep DeleteAsset x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteAsset x -> DeleteAsset
$cfrom :: forall x. DeleteAsset -> Rep DeleteAsset x
Prelude.Generic)
newDeleteAsset ::
Prelude.Text ->
DeleteAsset
newDeleteAsset :: Text -> DeleteAsset
newDeleteAsset Text
pAssetId_ =
DeleteAsset'
{ $sel:clientToken:DeleteAsset' :: Maybe Text
clientToken = forall a. Maybe a
Prelude.Nothing,
$sel:assetId:DeleteAsset' :: Text
assetId = Text
pAssetId_
}
deleteAsset_clientToken :: Lens.Lens' DeleteAsset (Prelude.Maybe Prelude.Text)
deleteAsset_clientToken :: Lens' DeleteAsset (Maybe Text)
deleteAsset_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteAsset' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:DeleteAsset' :: DeleteAsset -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: DeleteAsset
s@DeleteAsset' {} Maybe Text
a -> DeleteAsset
s {$sel:clientToken:DeleteAsset' :: Maybe Text
clientToken = Maybe Text
a} :: DeleteAsset)
deleteAsset_assetId :: Lens.Lens' DeleteAsset Prelude.Text
deleteAsset_assetId :: Lens' DeleteAsset Text
deleteAsset_assetId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteAsset' {Text
assetId :: Text
$sel:assetId:DeleteAsset' :: DeleteAsset -> Text
assetId} -> Text
assetId) (\s :: DeleteAsset
s@DeleteAsset' {} Text
a -> DeleteAsset
s {$sel:assetId:DeleteAsset' :: Text
assetId = Text
a} :: DeleteAsset)
instance Core.AWSRequest DeleteAsset where
type AWSResponse DeleteAsset = DeleteAssetResponse
request :: (Service -> Service) -> DeleteAsset -> Request DeleteAsset
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 DeleteAsset
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DeleteAsset)))
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 -> AssetStatus -> DeleteAssetResponse
DeleteAssetResponse'
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
"assetStatus")
)
instance Prelude.Hashable DeleteAsset where
hashWithSalt :: Int -> DeleteAsset -> Int
hashWithSalt Int
_salt DeleteAsset' {Maybe Text
Text
assetId :: Text
clientToken :: Maybe Text
$sel:assetId:DeleteAsset' :: DeleteAsset -> Text
$sel:clientToken:DeleteAsset' :: DeleteAsset -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
assetId
instance Prelude.NFData DeleteAsset where
rnf :: DeleteAsset -> ()
rnf DeleteAsset' {Maybe Text
Text
assetId :: Text
clientToken :: Maybe Text
$sel:assetId:DeleteAsset' :: DeleteAsset -> Text
$sel:clientToken:DeleteAsset' :: DeleteAsset -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
assetId
instance Data.ToHeaders DeleteAsset where
toHeaders :: DeleteAsset -> 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 DeleteAsset where
toPath :: DeleteAsset -> ByteString
toPath DeleteAsset' {Maybe Text
Text
assetId :: Text
clientToken :: Maybe Text
$sel:assetId:DeleteAsset' :: DeleteAsset -> Text
$sel:clientToken:DeleteAsset' :: DeleteAsset -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"/assets/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
assetId]
instance Data.ToQuery DeleteAsset where
toQuery :: DeleteAsset -> QueryString
toQuery DeleteAsset' {Maybe Text
Text
assetId :: Text
clientToken :: Maybe Text
$sel:assetId:DeleteAsset' :: DeleteAsset -> Text
$sel:clientToken:DeleteAsset' :: DeleteAsset -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"clientToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
clientToken]
data DeleteAssetResponse = DeleteAssetResponse'
{
DeleteAssetResponse -> Int
httpStatus :: Prelude.Int,
DeleteAssetResponse -> AssetStatus
assetStatus :: AssetStatus
}
deriving (DeleteAssetResponse -> DeleteAssetResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteAssetResponse -> DeleteAssetResponse -> Bool
$c/= :: DeleteAssetResponse -> DeleteAssetResponse -> Bool
== :: DeleteAssetResponse -> DeleteAssetResponse -> Bool
$c== :: DeleteAssetResponse -> DeleteAssetResponse -> Bool
Prelude.Eq, ReadPrec [DeleteAssetResponse]
ReadPrec DeleteAssetResponse
Int -> ReadS DeleteAssetResponse
ReadS [DeleteAssetResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteAssetResponse]
$creadListPrec :: ReadPrec [DeleteAssetResponse]
readPrec :: ReadPrec DeleteAssetResponse
$creadPrec :: ReadPrec DeleteAssetResponse
readList :: ReadS [DeleteAssetResponse]
$creadList :: ReadS [DeleteAssetResponse]
readsPrec :: Int -> ReadS DeleteAssetResponse
$creadsPrec :: Int -> ReadS DeleteAssetResponse
Prelude.Read, Int -> DeleteAssetResponse -> ShowS
[DeleteAssetResponse] -> ShowS
DeleteAssetResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteAssetResponse] -> ShowS
$cshowList :: [DeleteAssetResponse] -> ShowS
show :: DeleteAssetResponse -> String
$cshow :: DeleteAssetResponse -> String
showsPrec :: Int -> DeleteAssetResponse -> ShowS
$cshowsPrec :: Int -> DeleteAssetResponse -> ShowS
Prelude.Show, forall x. Rep DeleteAssetResponse x -> DeleteAssetResponse
forall x. DeleteAssetResponse -> Rep DeleteAssetResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteAssetResponse x -> DeleteAssetResponse
$cfrom :: forall x. DeleteAssetResponse -> Rep DeleteAssetResponse x
Prelude.Generic)
newDeleteAssetResponse ::
Prelude.Int ->
AssetStatus ->
DeleteAssetResponse
newDeleteAssetResponse :: Int -> AssetStatus -> DeleteAssetResponse
newDeleteAssetResponse Int
pHttpStatus_ AssetStatus
pAssetStatus_ =
DeleteAssetResponse'
{ $sel:httpStatus:DeleteAssetResponse' :: Int
httpStatus = Int
pHttpStatus_,
$sel:assetStatus:DeleteAssetResponse' :: AssetStatus
assetStatus = AssetStatus
pAssetStatus_
}
deleteAssetResponse_httpStatus :: Lens.Lens' DeleteAssetResponse Prelude.Int
deleteAssetResponse_httpStatus :: Lens' DeleteAssetResponse Int
deleteAssetResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteAssetResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteAssetResponse' :: DeleteAssetResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteAssetResponse
s@DeleteAssetResponse' {} Int
a -> DeleteAssetResponse
s {$sel:httpStatus:DeleteAssetResponse' :: Int
httpStatus = Int
a} :: DeleteAssetResponse)
deleteAssetResponse_assetStatus :: Lens.Lens' DeleteAssetResponse AssetStatus
deleteAssetResponse_assetStatus :: Lens' DeleteAssetResponse AssetStatus
deleteAssetResponse_assetStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteAssetResponse' {AssetStatus
assetStatus :: AssetStatus
$sel:assetStatus:DeleteAssetResponse' :: DeleteAssetResponse -> AssetStatus
assetStatus} -> AssetStatus
assetStatus) (\s :: DeleteAssetResponse
s@DeleteAssetResponse' {} AssetStatus
a -> DeleteAssetResponse
s {$sel:assetStatus:DeleteAssetResponse' :: AssetStatus
assetStatus = AssetStatus
a} :: DeleteAssetResponse)
instance Prelude.NFData DeleteAssetResponse where
rnf :: DeleteAssetResponse -> ()
rnf DeleteAssetResponse' {Int
AssetStatus
assetStatus :: AssetStatus
httpStatus :: Int
$sel:assetStatus:DeleteAssetResponse' :: DeleteAssetResponse -> AssetStatus
$sel:httpStatus:DeleteAssetResponse' :: DeleteAssetResponse -> 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 AssetStatus
assetStatus