{-# 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.IoTWireless.GetWirelessDeviceStatistics
(
GetWirelessDeviceStatistics (..),
newGetWirelessDeviceStatistics,
getWirelessDeviceStatistics_wirelessDeviceId,
GetWirelessDeviceStatisticsResponse (..),
newGetWirelessDeviceStatisticsResponse,
getWirelessDeviceStatisticsResponse_lastUplinkReceivedAt,
getWirelessDeviceStatisticsResponse_loRaWAN,
getWirelessDeviceStatisticsResponse_sidewalk,
getWirelessDeviceStatisticsResponse_wirelessDeviceId,
getWirelessDeviceStatisticsResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IoTWireless.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetWirelessDeviceStatistics = GetWirelessDeviceStatistics'
{
GetWirelessDeviceStatistics -> Text
wirelessDeviceId :: Prelude.Text
}
deriving (GetWirelessDeviceStatistics -> GetWirelessDeviceStatistics -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetWirelessDeviceStatistics -> GetWirelessDeviceStatistics -> Bool
$c/= :: GetWirelessDeviceStatistics -> GetWirelessDeviceStatistics -> Bool
== :: GetWirelessDeviceStatistics -> GetWirelessDeviceStatistics -> Bool
$c== :: GetWirelessDeviceStatistics -> GetWirelessDeviceStatistics -> Bool
Prelude.Eq, ReadPrec [GetWirelessDeviceStatistics]
ReadPrec GetWirelessDeviceStatistics
Int -> ReadS GetWirelessDeviceStatistics
ReadS [GetWirelessDeviceStatistics]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetWirelessDeviceStatistics]
$creadListPrec :: ReadPrec [GetWirelessDeviceStatistics]
readPrec :: ReadPrec GetWirelessDeviceStatistics
$creadPrec :: ReadPrec GetWirelessDeviceStatistics
readList :: ReadS [GetWirelessDeviceStatistics]
$creadList :: ReadS [GetWirelessDeviceStatistics]
readsPrec :: Int -> ReadS GetWirelessDeviceStatistics
$creadsPrec :: Int -> ReadS GetWirelessDeviceStatistics
Prelude.Read, Int -> GetWirelessDeviceStatistics -> ShowS
[GetWirelessDeviceStatistics] -> ShowS
GetWirelessDeviceStatistics -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetWirelessDeviceStatistics] -> ShowS
$cshowList :: [GetWirelessDeviceStatistics] -> ShowS
show :: GetWirelessDeviceStatistics -> String
$cshow :: GetWirelessDeviceStatistics -> String
showsPrec :: Int -> GetWirelessDeviceStatistics -> ShowS
$cshowsPrec :: Int -> GetWirelessDeviceStatistics -> ShowS
Prelude.Show, forall x.
Rep GetWirelessDeviceStatistics x -> GetWirelessDeviceStatistics
forall x.
GetWirelessDeviceStatistics -> Rep GetWirelessDeviceStatistics x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetWirelessDeviceStatistics x -> GetWirelessDeviceStatistics
$cfrom :: forall x.
GetWirelessDeviceStatistics -> Rep GetWirelessDeviceStatistics x
Prelude.Generic)
newGetWirelessDeviceStatistics ::
Prelude.Text ->
GetWirelessDeviceStatistics
newGetWirelessDeviceStatistics :: Text -> GetWirelessDeviceStatistics
newGetWirelessDeviceStatistics Text
pWirelessDeviceId_ =
GetWirelessDeviceStatistics'
{ $sel:wirelessDeviceId:GetWirelessDeviceStatistics' :: Text
wirelessDeviceId =
Text
pWirelessDeviceId_
}
getWirelessDeviceStatistics_wirelessDeviceId :: Lens.Lens' GetWirelessDeviceStatistics Prelude.Text
getWirelessDeviceStatistics_wirelessDeviceId :: Lens' GetWirelessDeviceStatistics Text
getWirelessDeviceStatistics_wirelessDeviceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetWirelessDeviceStatistics' {Text
wirelessDeviceId :: Text
$sel:wirelessDeviceId:GetWirelessDeviceStatistics' :: GetWirelessDeviceStatistics -> Text
wirelessDeviceId} -> Text
wirelessDeviceId) (\s :: GetWirelessDeviceStatistics
s@GetWirelessDeviceStatistics' {} Text
a -> GetWirelessDeviceStatistics
s {$sel:wirelessDeviceId:GetWirelessDeviceStatistics' :: Text
wirelessDeviceId = Text
a} :: GetWirelessDeviceStatistics)
instance Core.AWSRequest GetWirelessDeviceStatistics where
type
AWSResponse GetWirelessDeviceStatistics =
GetWirelessDeviceStatisticsResponse
request :: (Service -> Service)
-> GetWirelessDeviceStatistics
-> Request GetWirelessDeviceStatistics
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 GetWirelessDeviceStatistics
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetWirelessDeviceStatistics)))
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 Text
-> Maybe LoRaWANDeviceMetadata
-> Maybe SidewalkDeviceMetadata
-> Maybe Text
-> Int
-> GetWirelessDeviceStatisticsResponse
GetWirelessDeviceStatisticsResponse'
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
"LastUplinkReceivedAt")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"LoRaWAN")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Sidewalk")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"WirelessDeviceId")
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 GetWirelessDeviceStatistics where
hashWithSalt :: Int -> GetWirelessDeviceStatistics -> Int
hashWithSalt Int
_salt GetWirelessDeviceStatistics' {Text
wirelessDeviceId :: Text
$sel:wirelessDeviceId:GetWirelessDeviceStatistics' :: GetWirelessDeviceStatistics -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
wirelessDeviceId
instance Prelude.NFData GetWirelessDeviceStatistics where
rnf :: GetWirelessDeviceStatistics -> ()
rnf GetWirelessDeviceStatistics' {Text
wirelessDeviceId :: Text
$sel:wirelessDeviceId:GetWirelessDeviceStatistics' :: GetWirelessDeviceStatistics -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
wirelessDeviceId
instance Data.ToHeaders GetWirelessDeviceStatistics where
toHeaders :: GetWirelessDeviceStatistics -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath GetWirelessDeviceStatistics where
toPath :: GetWirelessDeviceStatistics -> ByteString
toPath GetWirelessDeviceStatistics' {Text
wirelessDeviceId :: Text
$sel:wirelessDeviceId:GetWirelessDeviceStatistics' :: GetWirelessDeviceStatistics -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/wireless-devices/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
wirelessDeviceId,
ByteString
"/statistics"
]
instance Data.ToQuery GetWirelessDeviceStatistics where
toQuery :: GetWirelessDeviceStatistics -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetWirelessDeviceStatisticsResponse = GetWirelessDeviceStatisticsResponse'
{
GetWirelessDeviceStatisticsResponse -> Maybe Text
lastUplinkReceivedAt :: Prelude.Maybe Prelude.Text,
GetWirelessDeviceStatisticsResponse -> Maybe LoRaWANDeviceMetadata
loRaWAN :: Prelude.Maybe LoRaWANDeviceMetadata,
GetWirelessDeviceStatisticsResponse -> Maybe SidewalkDeviceMetadata
sidewalk :: Prelude.Maybe SidewalkDeviceMetadata,
GetWirelessDeviceStatisticsResponse -> Maybe Text
wirelessDeviceId :: Prelude.Maybe Prelude.Text,
GetWirelessDeviceStatisticsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetWirelessDeviceStatisticsResponse
-> GetWirelessDeviceStatisticsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetWirelessDeviceStatisticsResponse
-> GetWirelessDeviceStatisticsResponse -> Bool
$c/= :: GetWirelessDeviceStatisticsResponse
-> GetWirelessDeviceStatisticsResponse -> Bool
== :: GetWirelessDeviceStatisticsResponse
-> GetWirelessDeviceStatisticsResponse -> Bool
$c== :: GetWirelessDeviceStatisticsResponse
-> GetWirelessDeviceStatisticsResponse -> Bool
Prelude.Eq, ReadPrec [GetWirelessDeviceStatisticsResponse]
ReadPrec GetWirelessDeviceStatisticsResponse
Int -> ReadS GetWirelessDeviceStatisticsResponse
ReadS [GetWirelessDeviceStatisticsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetWirelessDeviceStatisticsResponse]
$creadListPrec :: ReadPrec [GetWirelessDeviceStatisticsResponse]
readPrec :: ReadPrec GetWirelessDeviceStatisticsResponse
$creadPrec :: ReadPrec GetWirelessDeviceStatisticsResponse
readList :: ReadS [GetWirelessDeviceStatisticsResponse]
$creadList :: ReadS [GetWirelessDeviceStatisticsResponse]
readsPrec :: Int -> ReadS GetWirelessDeviceStatisticsResponse
$creadsPrec :: Int -> ReadS GetWirelessDeviceStatisticsResponse
Prelude.Read, Int -> GetWirelessDeviceStatisticsResponse -> ShowS
[GetWirelessDeviceStatisticsResponse] -> ShowS
GetWirelessDeviceStatisticsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetWirelessDeviceStatisticsResponse] -> ShowS
$cshowList :: [GetWirelessDeviceStatisticsResponse] -> ShowS
show :: GetWirelessDeviceStatisticsResponse -> String
$cshow :: GetWirelessDeviceStatisticsResponse -> String
showsPrec :: Int -> GetWirelessDeviceStatisticsResponse -> ShowS
$cshowsPrec :: Int -> GetWirelessDeviceStatisticsResponse -> ShowS
Prelude.Show, forall x.
Rep GetWirelessDeviceStatisticsResponse x
-> GetWirelessDeviceStatisticsResponse
forall x.
GetWirelessDeviceStatisticsResponse
-> Rep GetWirelessDeviceStatisticsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetWirelessDeviceStatisticsResponse x
-> GetWirelessDeviceStatisticsResponse
$cfrom :: forall x.
GetWirelessDeviceStatisticsResponse
-> Rep GetWirelessDeviceStatisticsResponse x
Prelude.Generic)
newGetWirelessDeviceStatisticsResponse ::
Prelude.Int ->
GetWirelessDeviceStatisticsResponse
newGetWirelessDeviceStatisticsResponse :: Int -> GetWirelessDeviceStatisticsResponse
newGetWirelessDeviceStatisticsResponse Int
pHttpStatus_ =
GetWirelessDeviceStatisticsResponse'
{ $sel:lastUplinkReceivedAt:GetWirelessDeviceStatisticsResponse' :: Maybe Text
lastUplinkReceivedAt =
forall a. Maybe a
Prelude.Nothing,
$sel:loRaWAN:GetWirelessDeviceStatisticsResponse' :: Maybe LoRaWANDeviceMetadata
loRaWAN = forall a. Maybe a
Prelude.Nothing,
$sel:sidewalk:GetWirelessDeviceStatisticsResponse' :: Maybe SidewalkDeviceMetadata
sidewalk = forall a. Maybe a
Prelude.Nothing,
$sel:wirelessDeviceId:GetWirelessDeviceStatisticsResponse' :: Maybe Text
wirelessDeviceId = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetWirelessDeviceStatisticsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getWirelessDeviceStatisticsResponse_lastUplinkReceivedAt :: Lens.Lens' GetWirelessDeviceStatisticsResponse (Prelude.Maybe Prelude.Text)
getWirelessDeviceStatisticsResponse_lastUplinkReceivedAt :: Lens' GetWirelessDeviceStatisticsResponse (Maybe Text)
getWirelessDeviceStatisticsResponse_lastUplinkReceivedAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetWirelessDeviceStatisticsResponse' {Maybe Text
lastUplinkReceivedAt :: Maybe Text
$sel:lastUplinkReceivedAt:GetWirelessDeviceStatisticsResponse' :: GetWirelessDeviceStatisticsResponse -> Maybe Text
lastUplinkReceivedAt} -> Maybe Text
lastUplinkReceivedAt) (\s :: GetWirelessDeviceStatisticsResponse
s@GetWirelessDeviceStatisticsResponse' {} Maybe Text
a -> GetWirelessDeviceStatisticsResponse
s {$sel:lastUplinkReceivedAt:GetWirelessDeviceStatisticsResponse' :: Maybe Text
lastUplinkReceivedAt = Maybe Text
a} :: GetWirelessDeviceStatisticsResponse)
getWirelessDeviceStatisticsResponse_loRaWAN :: Lens.Lens' GetWirelessDeviceStatisticsResponse (Prelude.Maybe LoRaWANDeviceMetadata)
getWirelessDeviceStatisticsResponse_loRaWAN :: Lens'
GetWirelessDeviceStatisticsResponse (Maybe LoRaWANDeviceMetadata)
getWirelessDeviceStatisticsResponse_loRaWAN = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetWirelessDeviceStatisticsResponse' {Maybe LoRaWANDeviceMetadata
loRaWAN :: Maybe LoRaWANDeviceMetadata
$sel:loRaWAN:GetWirelessDeviceStatisticsResponse' :: GetWirelessDeviceStatisticsResponse -> Maybe LoRaWANDeviceMetadata
loRaWAN} -> Maybe LoRaWANDeviceMetadata
loRaWAN) (\s :: GetWirelessDeviceStatisticsResponse
s@GetWirelessDeviceStatisticsResponse' {} Maybe LoRaWANDeviceMetadata
a -> GetWirelessDeviceStatisticsResponse
s {$sel:loRaWAN:GetWirelessDeviceStatisticsResponse' :: Maybe LoRaWANDeviceMetadata
loRaWAN = Maybe LoRaWANDeviceMetadata
a} :: GetWirelessDeviceStatisticsResponse)
getWirelessDeviceStatisticsResponse_sidewalk :: Lens.Lens' GetWirelessDeviceStatisticsResponse (Prelude.Maybe SidewalkDeviceMetadata)
getWirelessDeviceStatisticsResponse_sidewalk :: Lens'
GetWirelessDeviceStatisticsResponse (Maybe SidewalkDeviceMetadata)
getWirelessDeviceStatisticsResponse_sidewalk = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetWirelessDeviceStatisticsResponse' {Maybe SidewalkDeviceMetadata
sidewalk :: Maybe SidewalkDeviceMetadata
$sel:sidewalk:GetWirelessDeviceStatisticsResponse' :: GetWirelessDeviceStatisticsResponse -> Maybe SidewalkDeviceMetadata
sidewalk} -> Maybe SidewalkDeviceMetadata
sidewalk) (\s :: GetWirelessDeviceStatisticsResponse
s@GetWirelessDeviceStatisticsResponse' {} Maybe SidewalkDeviceMetadata
a -> GetWirelessDeviceStatisticsResponse
s {$sel:sidewalk:GetWirelessDeviceStatisticsResponse' :: Maybe SidewalkDeviceMetadata
sidewalk = Maybe SidewalkDeviceMetadata
a} :: GetWirelessDeviceStatisticsResponse)
getWirelessDeviceStatisticsResponse_wirelessDeviceId :: Lens.Lens' GetWirelessDeviceStatisticsResponse (Prelude.Maybe Prelude.Text)
getWirelessDeviceStatisticsResponse_wirelessDeviceId :: Lens' GetWirelessDeviceStatisticsResponse (Maybe Text)
getWirelessDeviceStatisticsResponse_wirelessDeviceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetWirelessDeviceStatisticsResponse' {Maybe Text
wirelessDeviceId :: Maybe Text
$sel:wirelessDeviceId:GetWirelessDeviceStatisticsResponse' :: GetWirelessDeviceStatisticsResponse -> Maybe Text
wirelessDeviceId} -> Maybe Text
wirelessDeviceId) (\s :: GetWirelessDeviceStatisticsResponse
s@GetWirelessDeviceStatisticsResponse' {} Maybe Text
a -> GetWirelessDeviceStatisticsResponse
s {$sel:wirelessDeviceId:GetWirelessDeviceStatisticsResponse' :: Maybe Text
wirelessDeviceId = Maybe Text
a} :: GetWirelessDeviceStatisticsResponse)
getWirelessDeviceStatisticsResponse_httpStatus :: Lens.Lens' GetWirelessDeviceStatisticsResponse Prelude.Int
getWirelessDeviceStatisticsResponse_httpStatus :: Lens' GetWirelessDeviceStatisticsResponse Int
getWirelessDeviceStatisticsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetWirelessDeviceStatisticsResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetWirelessDeviceStatisticsResponse' :: GetWirelessDeviceStatisticsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetWirelessDeviceStatisticsResponse
s@GetWirelessDeviceStatisticsResponse' {} Int
a -> GetWirelessDeviceStatisticsResponse
s {$sel:httpStatus:GetWirelessDeviceStatisticsResponse' :: Int
httpStatus = Int
a} :: GetWirelessDeviceStatisticsResponse)
instance
Prelude.NFData
GetWirelessDeviceStatisticsResponse
where
rnf :: GetWirelessDeviceStatisticsResponse -> ()
rnf GetWirelessDeviceStatisticsResponse' {Int
Maybe Text
Maybe LoRaWANDeviceMetadata
Maybe SidewalkDeviceMetadata
httpStatus :: Int
wirelessDeviceId :: Maybe Text
sidewalk :: Maybe SidewalkDeviceMetadata
loRaWAN :: Maybe LoRaWANDeviceMetadata
lastUplinkReceivedAt :: Maybe Text
$sel:httpStatus:GetWirelessDeviceStatisticsResponse' :: GetWirelessDeviceStatisticsResponse -> Int
$sel:wirelessDeviceId:GetWirelessDeviceStatisticsResponse' :: GetWirelessDeviceStatisticsResponse -> Maybe Text
$sel:sidewalk:GetWirelessDeviceStatisticsResponse' :: GetWirelessDeviceStatisticsResponse -> Maybe SidewalkDeviceMetadata
$sel:loRaWAN:GetWirelessDeviceStatisticsResponse' :: GetWirelessDeviceStatisticsResponse -> Maybe LoRaWANDeviceMetadata
$sel:lastUplinkReceivedAt:GetWirelessDeviceStatisticsResponse' :: GetWirelessDeviceStatisticsResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
lastUplinkReceivedAt
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe LoRaWANDeviceMetadata
loRaWAN
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SidewalkDeviceMetadata
sidewalk
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
wirelessDeviceId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus