{-# 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.UpdateAssetProperty
(
UpdateAssetProperty (..),
newUpdateAssetProperty,
updateAssetProperty_clientToken,
updateAssetProperty_propertyAlias,
updateAssetProperty_propertyNotificationState,
updateAssetProperty_propertyUnit,
updateAssetProperty_assetId,
updateAssetProperty_propertyId,
UpdateAssetPropertyResponse (..),
newUpdateAssetPropertyResponse,
)
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 UpdateAssetProperty = UpdateAssetProperty'
{
UpdateAssetProperty -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
UpdateAssetProperty -> Maybe Text
propertyAlias :: Prelude.Maybe Prelude.Text,
UpdateAssetProperty -> Maybe PropertyNotificationState
propertyNotificationState :: Prelude.Maybe PropertyNotificationState,
UpdateAssetProperty -> Maybe Text
propertyUnit :: Prelude.Maybe Prelude.Text,
UpdateAssetProperty -> Text
assetId :: Prelude.Text,
UpdateAssetProperty -> Text
propertyId :: Prelude.Text
}
deriving (UpdateAssetProperty -> UpdateAssetProperty -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateAssetProperty -> UpdateAssetProperty -> Bool
$c/= :: UpdateAssetProperty -> UpdateAssetProperty -> Bool
== :: UpdateAssetProperty -> UpdateAssetProperty -> Bool
$c== :: UpdateAssetProperty -> UpdateAssetProperty -> Bool
Prelude.Eq, ReadPrec [UpdateAssetProperty]
ReadPrec UpdateAssetProperty
Int -> ReadS UpdateAssetProperty
ReadS [UpdateAssetProperty]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateAssetProperty]
$creadListPrec :: ReadPrec [UpdateAssetProperty]
readPrec :: ReadPrec UpdateAssetProperty
$creadPrec :: ReadPrec UpdateAssetProperty
readList :: ReadS [UpdateAssetProperty]
$creadList :: ReadS [UpdateAssetProperty]
readsPrec :: Int -> ReadS UpdateAssetProperty
$creadsPrec :: Int -> ReadS UpdateAssetProperty
Prelude.Read, Int -> UpdateAssetProperty -> ShowS
[UpdateAssetProperty] -> ShowS
UpdateAssetProperty -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateAssetProperty] -> ShowS
$cshowList :: [UpdateAssetProperty] -> ShowS
show :: UpdateAssetProperty -> String
$cshow :: UpdateAssetProperty -> String
showsPrec :: Int -> UpdateAssetProperty -> ShowS
$cshowsPrec :: Int -> UpdateAssetProperty -> ShowS
Prelude.Show, forall x. Rep UpdateAssetProperty x -> UpdateAssetProperty
forall x. UpdateAssetProperty -> Rep UpdateAssetProperty x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateAssetProperty x -> UpdateAssetProperty
$cfrom :: forall x. UpdateAssetProperty -> Rep UpdateAssetProperty x
Prelude.Generic)
newUpdateAssetProperty ::
Prelude.Text ->
Prelude.Text ->
UpdateAssetProperty
newUpdateAssetProperty :: Text -> Text -> UpdateAssetProperty
newUpdateAssetProperty Text
pAssetId_ Text
pPropertyId_ =
UpdateAssetProperty'
{ $sel:clientToken:UpdateAssetProperty' :: Maybe Text
clientToken = forall a. Maybe a
Prelude.Nothing,
$sel:propertyAlias:UpdateAssetProperty' :: Maybe Text
propertyAlias = forall a. Maybe a
Prelude.Nothing,
$sel:propertyNotificationState:UpdateAssetProperty' :: Maybe PropertyNotificationState
propertyNotificationState = forall a. Maybe a
Prelude.Nothing,
$sel:propertyUnit:UpdateAssetProperty' :: Maybe Text
propertyUnit = forall a. Maybe a
Prelude.Nothing,
$sel:assetId:UpdateAssetProperty' :: Text
assetId = Text
pAssetId_,
$sel:propertyId:UpdateAssetProperty' :: Text
propertyId = Text
pPropertyId_
}
updateAssetProperty_clientToken :: Lens.Lens' UpdateAssetProperty (Prelude.Maybe Prelude.Text)
updateAssetProperty_clientToken :: Lens' UpdateAssetProperty (Maybe Text)
updateAssetProperty_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAssetProperty' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:UpdateAssetProperty' :: UpdateAssetProperty -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: UpdateAssetProperty
s@UpdateAssetProperty' {} Maybe Text
a -> UpdateAssetProperty
s {$sel:clientToken:UpdateAssetProperty' :: Maybe Text
clientToken = Maybe Text
a} :: UpdateAssetProperty)
updateAssetProperty_propertyAlias :: Lens.Lens' UpdateAssetProperty (Prelude.Maybe Prelude.Text)
updateAssetProperty_propertyAlias :: Lens' UpdateAssetProperty (Maybe Text)
updateAssetProperty_propertyAlias = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAssetProperty' {Maybe Text
propertyAlias :: Maybe Text
$sel:propertyAlias:UpdateAssetProperty' :: UpdateAssetProperty -> Maybe Text
propertyAlias} -> Maybe Text
propertyAlias) (\s :: UpdateAssetProperty
s@UpdateAssetProperty' {} Maybe Text
a -> UpdateAssetProperty
s {$sel:propertyAlias:UpdateAssetProperty' :: Maybe Text
propertyAlias = Maybe Text
a} :: UpdateAssetProperty)
updateAssetProperty_propertyNotificationState :: Lens.Lens' UpdateAssetProperty (Prelude.Maybe PropertyNotificationState)
updateAssetProperty_propertyNotificationState :: Lens' UpdateAssetProperty (Maybe PropertyNotificationState)
updateAssetProperty_propertyNotificationState = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAssetProperty' {Maybe PropertyNotificationState
propertyNotificationState :: Maybe PropertyNotificationState
$sel:propertyNotificationState:UpdateAssetProperty' :: UpdateAssetProperty -> Maybe PropertyNotificationState
propertyNotificationState} -> Maybe PropertyNotificationState
propertyNotificationState) (\s :: UpdateAssetProperty
s@UpdateAssetProperty' {} Maybe PropertyNotificationState
a -> UpdateAssetProperty
s {$sel:propertyNotificationState:UpdateAssetProperty' :: Maybe PropertyNotificationState
propertyNotificationState = Maybe PropertyNotificationState
a} :: UpdateAssetProperty)
updateAssetProperty_propertyUnit :: Lens.Lens' UpdateAssetProperty (Prelude.Maybe Prelude.Text)
updateAssetProperty_propertyUnit :: Lens' UpdateAssetProperty (Maybe Text)
updateAssetProperty_propertyUnit = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAssetProperty' {Maybe Text
propertyUnit :: Maybe Text
$sel:propertyUnit:UpdateAssetProperty' :: UpdateAssetProperty -> Maybe Text
propertyUnit} -> Maybe Text
propertyUnit) (\s :: UpdateAssetProperty
s@UpdateAssetProperty' {} Maybe Text
a -> UpdateAssetProperty
s {$sel:propertyUnit:UpdateAssetProperty' :: Maybe Text
propertyUnit = Maybe Text
a} :: UpdateAssetProperty)
updateAssetProperty_assetId :: Lens.Lens' UpdateAssetProperty Prelude.Text
updateAssetProperty_assetId :: Lens' UpdateAssetProperty Text
updateAssetProperty_assetId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAssetProperty' {Text
assetId :: Text
$sel:assetId:UpdateAssetProperty' :: UpdateAssetProperty -> Text
assetId} -> Text
assetId) (\s :: UpdateAssetProperty
s@UpdateAssetProperty' {} Text
a -> UpdateAssetProperty
s {$sel:assetId:UpdateAssetProperty' :: Text
assetId = Text
a} :: UpdateAssetProperty)
updateAssetProperty_propertyId :: Lens.Lens' UpdateAssetProperty Prelude.Text
updateAssetProperty_propertyId :: Lens' UpdateAssetProperty Text
updateAssetProperty_propertyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAssetProperty' {Text
propertyId :: Text
$sel:propertyId:UpdateAssetProperty' :: UpdateAssetProperty -> Text
propertyId} -> Text
propertyId) (\s :: UpdateAssetProperty
s@UpdateAssetProperty' {} Text
a -> UpdateAssetProperty
s {$sel:propertyId:UpdateAssetProperty' :: Text
propertyId = Text
a} :: UpdateAssetProperty)
instance Core.AWSRequest UpdateAssetProperty where
type
AWSResponse UpdateAssetProperty =
UpdateAssetPropertyResponse
request :: (Service -> Service)
-> UpdateAssetProperty -> Request UpdateAssetProperty
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateAssetProperty
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateAssetProperty)))
response =
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull UpdateAssetPropertyResponse
UpdateAssetPropertyResponse'
instance Prelude.Hashable UpdateAssetProperty where
hashWithSalt :: Int -> UpdateAssetProperty -> Int
hashWithSalt Int
_salt UpdateAssetProperty' {Maybe Text
Maybe PropertyNotificationState
Text
propertyId :: Text
assetId :: Text
propertyUnit :: Maybe Text
propertyNotificationState :: Maybe PropertyNotificationState
propertyAlias :: Maybe Text
clientToken :: Maybe Text
$sel:propertyId:UpdateAssetProperty' :: UpdateAssetProperty -> Text
$sel:assetId:UpdateAssetProperty' :: UpdateAssetProperty -> Text
$sel:propertyUnit:UpdateAssetProperty' :: UpdateAssetProperty -> Maybe Text
$sel:propertyNotificationState:UpdateAssetProperty' :: UpdateAssetProperty -> Maybe PropertyNotificationState
$sel:propertyAlias:UpdateAssetProperty' :: UpdateAssetProperty -> Maybe Text
$sel:clientToken:UpdateAssetProperty' :: UpdateAssetProperty -> 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` Maybe Text
propertyAlias
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PropertyNotificationState
propertyNotificationState
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
propertyUnit
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
assetId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
propertyId
instance Prelude.NFData UpdateAssetProperty where
rnf :: UpdateAssetProperty -> ()
rnf UpdateAssetProperty' {Maybe Text
Maybe PropertyNotificationState
Text
propertyId :: Text
assetId :: Text
propertyUnit :: Maybe Text
propertyNotificationState :: Maybe PropertyNotificationState
propertyAlias :: Maybe Text
clientToken :: Maybe Text
$sel:propertyId:UpdateAssetProperty' :: UpdateAssetProperty -> Text
$sel:assetId:UpdateAssetProperty' :: UpdateAssetProperty -> Text
$sel:propertyUnit:UpdateAssetProperty' :: UpdateAssetProperty -> Maybe Text
$sel:propertyNotificationState:UpdateAssetProperty' :: UpdateAssetProperty -> Maybe PropertyNotificationState
$sel:propertyAlias:UpdateAssetProperty' :: UpdateAssetProperty -> Maybe Text
$sel:clientToken:UpdateAssetProperty' :: UpdateAssetProperty -> 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 Maybe Text
propertyAlias
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PropertyNotificationState
propertyNotificationState
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
propertyUnit
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
assetId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
propertyId
instance Data.ToHeaders UpdateAssetProperty where
toHeaders :: UpdateAssetProperty -> [Header]
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 -> [Header]
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON UpdateAssetProperty where
toJSON :: UpdateAssetProperty -> Value
toJSON UpdateAssetProperty' {Maybe Text
Maybe PropertyNotificationState
Text
propertyId :: Text
assetId :: Text
propertyUnit :: Maybe Text
propertyNotificationState :: Maybe PropertyNotificationState
propertyAlias :: Maybe Text
clientToken :: Maybe Text
$sel:propertyId:UpdateAssetProperty' :: UpdateAssetProperty -> Text
$sel:assetId:UpdateAssetProperty' :: UpdateAssetProperty -> Text
$sel:propertyUnit:UpdateAssetProperty' :: UpdateAssetProperty -> Maybe Text
$sel:propertyNotificationState:UpdateAssetProperty' :: UpdateAssetProperty -> Maybe PropertyNotificationState
$sel:propertyAlias:UpdateAssetProperty' :: UpdateAssetProperty -> Maybe Text
$sel:clientToken:UpdateAssetProperty' :: UpdateAssetProperty -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"clientToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
clientToken,
(Key
"propertyAlias" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
propertyAlias,
(Key
"propertyNotificationState" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PropertyNotificationState
propertyNotificationState,
(Key
"propertyUnit" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
propertyUnit
]
)
instance Data.ToPath UpdateAssetProperty where
toPath :: UpdateAssetProperty -> ByteString
toPath UpdateAssetProperty' {Maybe Text
Maybe PropertyNotificationState
Text
propertyId :: Text
assetId :: Text
propertyUnit :: Maybe Text
propertyNotificationState :: Maybe PropertyNotificationState
propertyAlias :: Maybe Text
clientToken :: Maybe Text
$sel:propertyId:UpdateAssetProperty' :: UpdateAssetProperty -> Text
$sel:assetId:UpdateAssetProperty' :: UpdateAssetProperty -> Text
$sel:propertyUnit:UpdateAssetProperty' :: UpdateAssetProperty -> Maybe Text
$sel:propertyNotificationState:UpdateAssetProperty' :: UpdateAssetProperty -> Maybe PropertyNotificationState
$sel:propertyAlias:UpdateAssetProperty' :: UpdateAssetProperty -> Maybe Text
$sel:clientToken:UpdateAssetProperty' :: UpdateAssetProperty -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/assets/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
assetId,
ByteString
"/properties/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
propertyId
]
instance Data.ToQuery UpdateAssetProperty where
toQuery :: UpdateAssetProperty -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateAssetPropertyResponse = UpdateAssetPropertyResponse'
{
}
deriving (UpdateAssetPropertyResponse -> UpdateAssetPropertyResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateAssetPropertyResponse -> UpdateAssetPropertyResponse -> Bool
$c/= :: UpdateAssetPropertyResponse -> UpdateAssetPropertyResponse -> Bool
== :: UpdateAssetPropertyResponse -> UpdateAssetPropertyResponse -> Bool
$c== :: UpdateAssetPropertyResponse -> UpdateAssetPropertyResponse -> Bool
Prelude.Eq, ReadPrec [UpdateAssetPropertyResponse]
ReadPrec UpdateAssetPropertyResponse
Int -> ReadS UpdateAssetPropertyResponse
ReadS [UpdateAssetPropertyResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateAssetPropertyResponse]
$creadListPrec :: ReadPrec [UpdateAssetPropertyResponse]
readPrec :: ReadPrec UpdateAssetPropertyResponse
$creadPrec :: ReadPrec UpdateAssetPropertyResponse
readList :: ReadS [UpdateAssetPropertyResponse]
$creadList :: ReadS [UpdateAssetPropertyResponse]
readsPrec :: Int -> ReadS UpdateAssetPropertyResponse
$creadsPrec :: Int -> ReadS UpdateAssetPropertyResponse
Prelude.Read, Int -> UpdateAssetPropertyResponse -> ShowS
[UpdateAssetPropertyResponse] -> ShowS
UpdateAssetPropertyResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateAssetPropertyResponse] -> ShowS
$cshowList :: [UpdateAssetPropertyResponse] -> ShowS
show :: UpdateAssetPropertyResponse -> String
$cshow :: UpdateAssetPropertyResponse -> String
showsPrec :: Int -> UpdateAssetPropertyResponse -> ShowS
$cshowsPrec :: Int -> UpdateAssetPropertyResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateAssetPropertyResponse x -> UpdateAssetPropertyResponse
forall x.
UpdateAssetPropertyResponse -> Rep UpdateAssetPropertyResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateAssetPropertyResponse x -> UpdateAssetPropertyResponse
$cfrom :: forall x.
UpdateAssetPropertyResponse -> Rep UpdateAssetPropertyResponse x
Prelude.Generic)
newUpdateAssetPropertyResponse ::
UpdateAssetPropertyResponse
newUpdateAssetPropertyResponse :: UpdateAssetPropertyResponse
newUpdateAssetPropertyResponse =
UpdateAssetPropertyResponse
UpdateAssetPropertyResponse'
instance Prelude.NFData UpdateAssetPropertyResponse where
rnf :: UpdateAssetPropertyResponse -> ()
rnf UpdateAssetPropertyResponse
_ = ()