{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.IoTWireless.GetWirelessDeviceStatistics
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Gets operating information about a wireless device.
module Amazonka.IoTWireless.GetWirelessDeviceStatistics
  ( -- * Creating a Request
    GetWirelessDeviceStatistics (..),
    newGetWirelessDeviceStatistics,

    -- * Request Lenses
    getWirelessDeviceStatistics_wirelessDeviceId,

    -- * Destructuring the Response
    GetWirelessDeviceStatisticsResponse (..),
    newGetWirelessDeviceStatisticsResponse,

    -- * Response Lenses
    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

-- | /See:/ 'newGetWirelessDeviceStatistics' smart constructor.
data GetWirelessDeviceStatistics = GetWirelessDeviceStatistics'
  { -- | The ID of the wireless device for which to get the data.
    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)

-- |
-- Create a value of 'GetWirelessDeviceStatistics' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'wirelessDeviceId', 'getWirelessDeviceStatistics_wirelessDeviceId' - The ID of the wireless device for which to get the data.
newGetWirelessDeviceStatistics ::
  -- | 'wirelessDeviceId'
  Prelude.Text ->
  GetWirelessDeviceStatistics
newGetWirelessDeviceStatistics :: Text -> GetWirelessDeviceStatistics
newGetWirelessDeviceStatistics Text
pWirelessDeviceId_ =
  GetWirelessDeviceStatistics'
    { $sel:wirelessDeviceId:GetWirelessDeviceStatistics' :: Text
wirelessDeviceId =
        Text
pWirelessDeviceId_
    }

-- | The ID of the wireless device for which to get the data.
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

-- | /See:/ 'newGetWirelessDeviceStatisticsResponse' smart constructor.
data GetWirelessDeviceStatisticsResponse = GetWirelessDeviceStatisticsResponse'
  { -- | The date and time when the most recent uplink was received.
    GetWirelessDeviceStatisticsResponse -> Maybe Text
lastUplinkReceivedAt :: Prelude.Maybe Prelude.Text,
    -- | Information about the wireless device\'s operations.
    GetWirelessDeviceStatisticsResponse -> Maybe LoRaWANDeviceMetadata
loRaWAN :: Prelude.Maybe LoRaWANDeviceMetadata,
    -- | MetaData for Sidewalk device.
    GetWirelessDeviceStatisticsResponse -> Maybe SidewalkDeviceMetadata
sidewalk :: Prelude.Maybe SidewalkDeviceMetadata,
    -- | The ID of the wireless device.
    GetWirelessDeviceStatisticsResponse -> Maybe Text
wirelessDeviceId :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    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)

-- |
-- Create a value of 'GetWirelessDeviceStatisticsResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'lastUplinkReceivedAt', 'getWirelessDeviceStatisticsResponse_lastUplinkReceivedAt' - The date and time when the most recent uplink was received.
--
-- 'loRaWAN', 'getWirelessDeviceStatisticsResponse_loRaWAN' - Information about the wireless device\'s operations.
--
-- 'sidewalk', 'getWirelessDeviceStatisticsResponse_sidewalk' - MetaData for Sidewalk device.
--
-- 'wirelessDeviceId', 'getWirelessDeviceStatisticsResponse_wirelessDeviceId' - The ID of the wireless device.
--
-- 'httpStatus', 'getWirelessDeviceStatisticsResponse_httpStatus' - The response's http status code.
newGetWirelessDeviceStatisticsResponse ::
  -- | 'httpStatus'
  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_
    }

-- | The date and time when the most recent uplink was received.
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)

-- | Information about the wireless device\'s operations.
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)

-- | MetaData for Sidewalk device.
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)

-- | The ID of the wireless device.
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)

-- | The response's http status code.
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