{-# 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.GetAssetPropertyValue
(
GetAssetPropertyValue (..),
newGetAssetPropertyValue,
getAssetPropertyValue_assetId,
getAssetPropertyValue_propertyAlias,
getAssetPropertyValue_propertyId,
GetAssetPropertyValueResponse (..),
newGetAssetPropertyValueResponse,
getAssetPropertyValueResponse_propertyValue,
getAssetPropertyValueResponse_httpStatus,
)
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 GetAssetPropertyValue = GetAssetPropertyValue'
{
GetAssetPropertyValue -> Maybe Text
assetId :: Prelude.Maybe Prelude.Text,
GetAssetPropertyValue -> Maybe Text
propertyAlias :: Prelude.Maybe Prelude.Text,
GetAssetPropertyValue -> Maybe Text
propertyId :: Prelude.Maybe Prelude.Text
}
deriving (GetAssetPropertyValue -> GetAssetPropertyValue -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetAssetPropertyValue -> GetAssetPropertyValue -> Bool
$c/= :: GetAssetPropertyValue -> GetAssetPropertyValue -> Bool
== :: GetAssetPropertyValue -> GetAssetPropertyValue -> Bool
$c== :: GetAssetPropertyValue -> GetAssetPropertyValue -> Bool
Prelude.Eq, ReadPrec [GetAssetPropertyValue]
ReadPrec GetAssetPropertyValue
Int -> ReadS GetAssetPropertyValue
ReadS [GetAssetPropertyValue]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetAssetPropertyValue]
$creadListPrec :: ReadPrec [GetAssetPropertyValue]
readPrec :: ReadPrec GetAssetPropertyValue
$creadPrec :: ReadPrec GetAssetPropertyValue
readList :: ReadS [GetAssetPropertyValue]
$creadList :: ReadS [GetAssetPropertyValue]
readsPrec :: Int -> ReadS GetAssetPropertyValue
$creadsPrec :: Int -> ReadS GetAssetPropertyValue
Prelude.Read, Int -> GetAssetPropertyValue -> ShowS
[GetAssetPropertyValue] -> ShowS
GetAssetPropertyValue -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetAssetPropertyValue] -> ShowS
$cshowList :: [GetAssetPropertyValue] -> ShowS
show :: GetAssetPropertyValue -> String
$cshow :: GetAssetPropertyValue -> String
showsPrec :: Int -> GetAssetPropertyValue -> ShowS
$cshowsPrec :: Int -> GetAssetPropertyValue -> ShowS
Prelude.Show, forall x. Rep GetAssetPropertyValue x -> GetAssetPropertyValue
forall x. GetAssetPropertyValue -> Rep GetAssetPropertyValue x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetAssetPropertyValue x -> GetAssetPropertyValue
$cfrom :: forall x. GetAssetPropertyValue -> Rep GetAssetPropertyValue x
Prelude.Generic)
newGetAssetPropertyValue ::
GetAssetPropertyValue
newGetAssetPropertyValue :: GetAssetPropertyValue
newGetAssetPropertyValue =
GetAssetPropertyValue'
{ $sel:assetId:GetAssetPropertyValue' :: Maybe Text
assetId = forall a. Maybe a
Prelude.Nothing,
$sel:propertyAlias:GetAssetPropertyValue' :: Maybe Text
propertyAlias = forall a. Maybe a
Prelude.Nothing,
$sel:propertyId:GetAssetPropertyValue' :: Maybe Text
propertyId = forall a. Maybe a
Prelude.Nothing
}
getAssetPropertyValue_assetId :: Lens.Lens' GetAssetPropertyValue (Prelude.Maybe Prelude.Text)
getAssetPropertyValue_assetId :: Lens' GetAssetPropertyValue (Maybe Text)
getAssetPropertyValue_assetId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAssetPropertyValue' {Maybe Text
assetId :: Maybe Text
$sel:assetId:GetAssetPropertyValue' :: GetAssetPropertyValue -> Maybe Text
assetId} -> Maybe Text
assetId) (\s :: GetAssetPropertyValue
s@GetAssetPropertyValue' {} Maybe Text
a -> GetAssetPropertyValue
s {$sel:assetId:GetAssetPropertyValue' :: Maybe Text
assetId = Maybe Text
a} :: GetAssetPropertyValue)
getAssetPropertyValue_propertyAlias :: Lens.Lens' GetAssetPropertyValue (Prelude.Maybe Prelude.Text)
getAssetPropertyValue_propertyAlias :: Lens' GetAssetPropertyValue (Maybe Text)
getAssetPropertyValue_propertyAlias = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAssetPropertyValue' {Maybe Text
propertyAlias :: Maybe Text
$sel:propertyAlias:GetAssetPropertyValue' :: GetAssetPropertyValue -> Maybe Text
propertyAlias} -> Maybe Text
propertyAlias) (\s :: GetAssetPropertyValue
s@GetAssetPropertyValue' {} Maybe Text
a -> GetAssetPropertyValue
s {$sel:propertyAlias:GetAssetPropertyValue' :: Maybe Text
propertyAlias = Maybe Text
a} :: GetAssetPropertyValue)
getAssetPropertyValue_propertyId :: Lens.Lens' GetAssetPropertyValue (Prelude.Maybe Prelude.Text)
getAssetPropertyValue_propertyId :: Lens' GetAssetPropertyValue (Maybe Text)
getAssetPropertyValue_propertyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAssetPropertyValue' {Maybe Text
propertyId :: Maybe Text
$sel:propertyId:GetAssetPropertyValue' :: GetAssetPropertyValue -> Maybe Text
propertyId} -> Maybe Text
propertyId) (\s :: GetAssetPropertyValue
s@GetAssetPropertyValue' {} Maybe Text
a -> GetAssetPropertyValue
s {$sel:propertyId:GetAssetPropertyValue' :: Maybe Text
propertyId = Maybe Text
a} :: GetAssetPropertyValue)
instance Core.AWSRequest GetAssetPropertyValue where
type
AWSResponse GetAssetPropertyValue =
GetAssetPropertyValueResponse
request :: (Service -> Service)
-> GetAssetPropertyValue -> Request GetAssetPropertyValue
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy GetAssetPropertyValue
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetAssetPropertyValue)))
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 ->
Maybe AssetPropertyValue -> Int -> GetAssetPropertyValueResponse
GetAssetPropertyValueResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"propertyValue")
forall (f :: * -> *) a b. Applicative f => 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 GetAssetPropertyValue where
hashWithSalt :: Int -> GetAssetPropertyValue -> Int
hashWithSalt Int
_salt GetAssetPropertyValue' {Maybe Text
propertyId :: Maybe Text
propertyAlias :: Maybe Text
assetId :: Maybe Text
$sel:propertyId:GetAssetPropertyValue' :: GetAssetPropertyValue -> Maybe Text
$sel:propertyAlias:GetAssetPropertyValue' :: GetAssetPropertyValue -> Maybe Text
$sel:assetId:GetAssetPropertyValue' :: GetAssetPropertyValue -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
assetId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
propertyAlias
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
propertyId
instance Prelude.NFData GetAssetPropertyValue where
rnf :: GetAssetPropertyValue -> ()
rnf GetAssetPropertyValue' {Maybe Text
propertyId :: Maybe Text
propertyAlias :: Maybe Text
assetId :: Maybe Text
$sel:propertyId:GetAssetPropertyValue' :: GetAssetPropertyValue -> Maybe Text
$sel:propertyAlias:GetAssetPropertyValue' :: GetAssetPropertyValue -> Maybe Text
$sel:assetId:GetAssetPropertyValue' :: GetAssetPropertyValue -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
assetId
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 Text
propertyId
instance Data.ToHeaders GetAssetPropertyValue where
toHeaders :: GetAssetPropertyValue -> 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 GetAssetPropertyValue where
toPath :: GetAssetPropertyValue -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/properties/latest"
instance Data.ToQuery GetAssetPropertyValue where
toQuery :: GetAssetPropertyValue -> QueryString
toQuery GetAssetPropertyValue' {Maybe Text
propertyId :: Maybe Text
propertyAlias :: Maybe Text
assetId :: Maybe Text
$sel:propertyId:GetAssetPropertyValue' :: GetAssetPropertyValue -> Maybe Text
$sel:propertyAlias:GetAssetPropertyValue' :: GetAssetPropertyValue -> Maybe Text
$sel:assetId:GetAssetPropertyValue' :: GetAssetPropertyValue -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"assetId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
assetId,
ByteString
"propertyAlias" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
propertyAlias,
ByteString
"propertyId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
propertyId
]
data GetAssetPropertyValueResponse = GetAssetPropertyValueResponse'
{
GetAssetPropertyValueResponse -> Maybe AssetPropertyValue
propertyValue :: Prelude.Maybe AssetPropertyValue,
GetAssetPropertyValueResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetAssetPropertyValueResponse
-> GetAssetPropertyValueResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetAssetPropertyValueResponse
-> GetAssetPropertyValueResponse -> Bool
$c/= :: GetAssetPropertyValueResponse
-> GetAssetPropertyValueResponse -> Bool
== :: GetAssetPropertyValueResponse
-> GetAssetPropertyValueResponse -> Bool
$c== :: GetAssetPropertyValueResponse
-> GetAssetPropertyValueResponse -> Bool
Prelude.Eq, ReadPrec [GetAssetPropertyValueResponse]
ReadPrec GetAssetPropertyValueResponse
Int -> ReadS GetAssetPropertyValueResponse
ReadS [GetAssetPropertyValueResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetAssetPropertyValueResponse]
$creadListPrec :: ReadPrec [GetAssetPropertyValueResponse]
readPrec :: ReadPrec GetAssetPropertyValueResponse
$creadPrec :: ReadPrec GetAssetPropertyValueResponse
readList :: ReadS [GetAssetPropertyValueResponse]
$creadList :: ReadS [GetAssetPropertyValueResponse]
readsPrec :: Int -> ReadS GetAssetPropertyValueResponse
$creadsPrec :: Int -> ReadS GetAssetPropertyValueResponse
Prelude.Read, Int -> GetAssetPropertyValueResponse -> ShowS
[GetAssetPropertyValueResponse] -> ShowS
GetAssetPropertyValueResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetAssetPropertyValueResponse] -> ShowS
$cshowList :: [GetAssetPropertyValueResponse] -> ShowS
show :: GetAssetPropertyValueResponse -> String
$cshow :: GetAssetPropertyValueResponse -> String
showsPrec :: Int -> GetAssetPropertyValueResponse -> ShowS
$cshowsPrec :: Int -> GetAssetPropertyValueResponse -> ShowS
Prelude.Show, forall x.
Rep GetAssetPropertyValueResponse x
-> GetAssetPropertyValueResponse
forall x.
GetAssetPropertyValueResponse
-> Rep GetAssetPropertyValueResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetAssetPropertyValueResponse x
-> GetAssetPropertyValueResponse
$cfrom :: forall x.
GetAssetPropertyValueResponse
-> Rep GetAssetPropertyValueResponse x
Prelude.Generic)
newGetAssetPropertyValueResponse ::
Prelude.Int ->
GetAssetPropertyValueResponse
newGetAssetPropertyValueResponse :: Int -> GetAssetPropertyValueResponse
newGetAssetPropertyValueResponse Int
pHttpStatus_ =
GetAssetPropertyValueResponse'
{ $sel:propertyValue:GetAssetPropertyValueResponse' :: Maybe AssetPropertyValue
propertyValue =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetAssetPropertyValueResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getAssetPropertyValueResponse_propertyValue :: Lens.Lens' GetAssetPropertyValueResponse (Prelude.Maybe AssetPropertyValue)
getAssetPropertyValueResponse_propertyValue :: Lens' GetAssetPropertyValueResponse (Maybe AssetPropertyValue)
getAssetPropertyValueResponse_propertyValue = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAssetPropertyValueResponse' {Maybe AssetPropertyValue
propertyValue :: Maybe AssetPropertyValue
$sel:propertyValue:GetAssetPropertyValueResponse' :: GetAssetPropertyValueResponse -> Maybe AssetPropertyValue
propertyValue} -> Maybe AssetPropertyValue
propertyValue) (\s :: GetAssetPropertyValueResponse
s@GetAssetPropertyValueResponse' {} Maybe AssetPropertyValue
a -> GetAssetPropertyValueResponse
s {$sel:propertyValue:GetAssetPropertyValueResponse' :: Maybe AssetPropertyValue
propertyValue = Maybe AssetPropertyValue
a} :: GetAssetPropertyValueResponse)
getAssetPropertyValueResponse_httpStatus :: Lens.Lens' GetAssetPropertyValueResponse Prelude.Int
getAssetPropertyValueResponse_httpStatus :: Lens' GetAssetPropertyValueResponse Int
getAssetPropertyValueResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAssetPropertyValueResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetAssetPropertyValueResponse' :: GetAssetPropertyValueResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetAssetPropertyValueResponse
s@GetAssetPropertyValueResponse' {} Int
a -> GetAssetPropertyValueResponse
s {$sel:httpStatus:GetAssetPropertyValueResponse' :: Int
httpStatus = Int
a} :: GetAssetPropertyValueResponse)
instance Prelude.NFData GetAssetPropertyValueResponse where
rnf :: GetAssetPropertyValueResponse -> ()
rnf GetAssetPropertyValueResponse' {Int
Maybe AssetPropertyValue
httpStatus :: Int
propertyValue :: Maybe AssetPropertyValue
$sel:httpStatus:GetAssetPropertyValueResponse' :: GetAssetPropertyValueResponse -> Int
$sel:propertyValue:GetAssetPropertyValueResponse' :: GetAssetPropertyValueResponse -> Maybe AssetPropertyValue
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe AssetPropertyValue
propertyValue
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus