{-# 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.LookoutEquipment.ListSensorStatistics
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Lists statistics about the data collected for each of the sensors that
-- have been successfully ingested in the particular dataset. Can also be
-- used to retreive Sensor Statistics for a previous ingestion job.
module Amazonka.LookoutEquipment.ListSensorStatistics
  ( -- * Creating a Request
    ListSensorStatistics (..),
    newListSensorStatistics,

    -- * Request Lenses
    listSensorStatistics_ingestionJobId,
    listSensorStatistics_maxResults,
    listSensorStatistics_nextToken,
    listSensorStatistics_datasetName,

    -- * Destructuring the Response
    ListSensorStatisticsResponse (..),
    newListSensorStatisticsResponse,

    -- * Response Lenses
    listSensorStatisticsResponse_nextToken,
    listSensorStatisticsResponse_sensorStatisticsSummaries,
    listSensorStatisticsResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.LookoutEquipment.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newListSensorStatistics' smart constructor.
data ListSensorStatistics = ListSensorStatistics'
  { -- | The ingestion job id associated with the list of Sensor Statistics. To
    -- get sensor statistics for a particular ingestion job id, both dataset
    -- name and ingestion job id must be submitted as inputs.
    ListSensorStatistics -> Maybe Text
ingestionJobId :: Prelude.Maybe Prelude.Text,
    -- | Specifies the maximum number of sensors for which to retrieve
    -- statistics.
    ListSensorStatistics -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | An opaque pagination token indicating where to continue the listing of
    -- sensor statistics.
    ListSensorStatistics -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The name of the dataset associated with the list of Sensor Statistics.
    ListSensorStatistics -> Text
datasetName :: Prelude.Text
  }
  deriving (ListSensorStatistics -> ListSensorStatistics -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListSensorStatistics -> ListSensorStatistics -> Bool
$c/= :: ListSensorStatistics -> ListSensorStatistics -> Bool
== :: ListSensorStatistics -> ListSensorStatistics -> Bool
$c== :: ListSensorStatistics -> ListSensorStatistics -> Bool
Prelude.Eq, ReadPrec [ListSensorStatistics]
ReadPrec ListSensorStatistics
Int -> ReadS ListSensorStatistics
ReadS [ListSensorStatistics]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListSensorStatistics]
$creadListPrec :: ReadPrec [ListSensorStatistics]
readPrec :: ReadPrec ListSensorStatistics
$creadPrec :: ReadPrec ListSensorStatistics
readList :: ReadS [ListSensorStatistics]
$creadList :: ReadS [ListSensorStatistics]
readsPrec :: Int -> ReadS ListSensorStatistics
$creadsPrec :: Int -> ReadS ListSensorStatistics
Prelude.Read, Int -> ListSensorStatistics -> ShowS
[ListSensorStatistics] -> ShowS
ListSensorStatistics -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListSensorStatistics] -> ShowS
$cshowList :: [ListSensorStatistics] -> ShowS
show :: ListSensorStatistics -> String
$cshow :: ListSensorStatistics -> String
showsPrec :: Int -> ListSensorStatistics -> ShowS
$cshowsPrec :: Int -> ListSensorStatistics -> ShowS
Prelude.Show, forall x. Rep ListSensorStatistics x -> ListSensorStatistics
forall x. ListSensorStatistics -> Rep ListSensorStatistics x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListSensorStatistics x -> ListSensorStatistics
$cfrom :: forall x. ListSensorStatistics -> Rep ListSensorStatistics x
Prelude.Generic)

-- |
-- Create a value of 'ListSensorStatistics' 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:
--
-- 'ingestionJobId', 'listSensorStatistics_ingestionJobId' - The ingestion job id associated with the list of Sensor Statistics. To
-- get sensor statistics for a particular ingestion job id, both dataset
-- name and ingestion job id must be submitted as inputs.
--
-- 'maxResults', 'listSensorStatistics_maxResults' - Specifies the maximum number of sensors for which to retrieve
-- statistics.
--
-- 'nextToken', 'listSensorStatistics_nextToken' - An opaque pagination token indicating where to continue the listing of
-- sensor statistics.
--
-- 'datasetName', 'listSensorStatistics_datasetName' - The name of the dataset associated with the list of Sensor Statistics.
newListSensorStatistics ::
  -- | 'datasetName'
  Prelude.Text ->
  ListSensorStatistics
newListSensorStatistics :: Text -> ListSensorStatistics
newListSensorStatistics Text
pDatasetName_ =
  ListSensorStatistics'
    { $sel:ingestionJobId:ListSensorStatistics' :: Maybe Text
ingestionJobId =
        forall a. Maybe a
Prelude.Nothing,
      $sel:maxResults:ListSensorStatistics' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListSensorStatistics' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:datasetName:ListSensorStatistics' :: Text
datasetName = Text
pDatasetName_
    }

-- | The ingestion job id associated with the list of Sensor Statistics. To
-- get sensor statistics for a particular ingestion job id, both dataset
-- name and ingestion job id must be submitted as inputs.
listSensorStatistics_ingestionJobId :: Lens.Lens' ListSensorStatistics (Prelude.Maybe Prelude.Text)
listSensorStatistics_ingestionJobId :: Lens' ListSensorStatistics (Maybe Text)
listSensorStatistics_ingestionJobId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSensorStatistics' {Maybe Text
ingestionJobId :: Maybe Text
$sel:ingestionJobId:ListSensorStatistics' :: ListSensorStatistics -> Maybe Text
ingestionJobId} -> Maybe Text
ingestionJobId) (\s :: ListSensorStatistics
s@ListSensorStatistics' {} Maybe Text
a -> ListSensorStatistics
s {$sel:ingestionJobId:ListSensorStatistics' :: Maybe Text
ingestionJobId = Maybe Text
a} :: ListSensorStatistics)

-- | Specifies the maximum number of sensors for which to retrieve
-- statistics.
listSensorStatistics_maxResults :: Lens.Lens' ListSensorStatistics (Prelude.Maybe Prelude.Natural)
listSensorStatistics_maxResults :: Lens' ListSensorStatistics (Maybe Natural)
listSensorStatistics_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSensorStatistics' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListSensorStatistics' :: ListSensorStatistics -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListSensorStatistics
s@ListSensorStatistics' {} Maybe Natural
a -> ListSensorStatistics
s {$sel:maxResults:ListSensorStatistics' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListSensorStatistics)

-- | An opaque pagination token indicating where to continue the listing of
-- sensor statistics.
listSensorStatistics_nextToken :: Lens.Lens' ListSensorStatistics (Prelude.Maybe Prelude.Text)
listSensorStatistics_nextToken :: Lens' ListSensorStatistics (Maybe Text)
listSensorStatistics_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSensorStatistics' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListSensorStatistics' :: ListSensorStatistics -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListSensorStatistics
s@ListSensorStatistics' {} Maybe Text
a -> ListSensorStatistics
s {$sel:nextToken:ListSensorStatistics' :: Maybe Text
nextToken = Maybe Text
a} :: ListSensorStatistics)

-- | The name of the dataset associated with the list of Sensor Statistics.
listSensorStatistics_datasetName :: Lens.Lens' ListSensorStatistics Prelude.Text
listSensorStatistics_datasetName :: Lens' ListSensorStatistics Text
listSensorStatistics_datasetName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSensorStatistics' {Text
datasetName :: Text
$sel:datasetName:ListSensorStatistics' :: ListSensorStatistics -> Text
datasetName} -> Text
datasetName) (\s :: ListSensorStatistics
s@ListSensorStatistics' {} Text
a -> ListSensorStatistics
s {$sel:datasetName:ListSensorStatistics' :: Text
datasetName = Text
a} :: ListSensorStatistics)

instance Core.AWSRequest ListSensorStatistics where
  type
    AWSResponse ListSensorStatistics =
      ListSensorStatisticsResponse
  request :: (Service -> Service)
-> ListSensorStatistics -> Request ListSensorStatistics
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy ListSensorStatistics
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse ListSensorStatistics)))
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 [SensorStatisticsSummary]
-> Int
-> ListSensorStatisticsResponse
ListSensorStatisticsResponse'
            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
"NextToken")
            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
"SensorStatisticsSummaries"
                            forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                        )
            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 ListSensorStatistics where
  hashWithSalt :: Int -> ListSensorStatistics -> Int
hashWithSalt Int
_salt ListSensorStatistics' {Maybe Natural
Maybe Text
Text
datasetName :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
ingestionJobId :: Maybe Text
$sel:datasetName:ListSensorStatistics' :: ListSensorStatistics -> Text
$sel:nextToken:ListSensorStatistics' :: ListSensorStatistics -> Maybe Text
$sel:maxResults:ListSensorStatistics' :: ListSensorStatistics -> Maybe Natural
$sel:ingestionJobId:ListSensorStatistics' :: ListSensorStatistics -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
ingestionJobId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
datasetName

instance Prelude.NFData ListSensorStatistics where
  rnf :: ListSensorStatistics -> ()
rnf ListSensorStatistics' {Maybe Natural
Maybe Text
Text
datasetName :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
ingestionJobId :: Maybe Text
$sel:datasetName:ListSensorStatistics' :: ListSensorStatistics -> Text
$sel:nextToken:ListSensorStatistics' :: ListSensorStatistics -> Maybe Text
$sel:maxResults:ListSensorStatistics' :: ListSensorStatistics -> Maybe Natural
$sel:ingestionJobId:ListSensorStatistics' :: ListSensorStatistics -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
ingestionJobId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maxResults
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
datasetName

instance Data.ToHeaders ListSensorStatistics where
  toHeaders :: ListSensorStatistics -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"AWSLookoutEquipmentFrontendService.ListSensorStatistics" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.0" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON ListSensorStatistics where
  toJSON :: ListSensorStatistics -> Value
toJSON ListSensorStatistics' {Maybe Natural
Maybe Text
Text
datasetName :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
ingestionJobId :: Maybe Text
$sel:datasetName:ListSensorStatistics' :: ListSensorStatistics -> Text
$sel:nextToken:ListSensorStatistics' :: ListSensorStatistics -> Maybe Text
$sel:maxResults:ListSensorStatistics' :: ListSensorStatistics -> Maybe Natural
$sel:ingestionJobId:ListSensorStatistics' :: ListSensorStatistics -> Maybe Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"IngestionJobId" 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
ingestionJobId,
            (Key
"MaxResults" 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 Natural
maxResults,
            (Key
"NextToken" 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
nextToken,
            forall a. a -> Maybe a
Prelude.Just (Key
"DatasetName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
datasetName)
          ]
      )

instance Data.ToPath ListSensorStatistics where
  toPath :: ListSensorStatistics -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Data.ToQuery ListSensorStatistics where
  toQuery :: ListSensorStatistics -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newListSensorStatisticsResponse' smart constructor.
data ListSensorStatisticsResponse = ListSensorStatisticsResponse'
  { -- | An opaque pagination token indicating where to continue the listing of
    -- sensor statistics.
    ListSensorStatisticsResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | Provides ingestion-based statistics regarding the specified sensor with
    -- respect to various validation types, such as whether data exists, the
    -- number and percentage of missing values, and the number and percentage
    -- of duplicate timestamps.
    ListSensorStatisticsResponse -> Maybe [SensorStatisticsSummary]
sensorStatisticsSummaries :: Prelude.Maybe [SensorStatisticsSummary],
    -- | The response's http status code.
    ListSensorStatisticsResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ListSensorStatisticsResponse
-> ListSensorStatisticsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListSensorStatisticsResponse
-> ListSensorStatisticsResponse -> Bool
$c/= :: ListSensorStatisticsResponse
-> ListSensorStatisticsResponse -> Bool
== :: ListSensorStatisticsResponse
-> ListSensorStatisticsResponse -> Bool
$c== :: ListSensorStatisticsResponse
-> ListSensorStatisticsResponse -> Bool
Prelude.Eq, ReadPrec [ListSensorStatisticsResponse]
ReadPrec ListSensorStatisticsResponse
Int -> ReadS ListSensorStatisticsResponse
ReadS [ListSensorStatisticsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListSensorStatisticsResponse]
$creadListPrec :: ReadPrec [ListSensorStatisticsResponse]
readPrec :: ReadPrec ListSensorStatisticsResponse
$creadPrec :: ReadPrec ListSensorStatisticsResponse
readList :: ReadS [ListSensorStatisticsResponse]
$creadList :: ReadS [ListSensorStatisticsResponse]
readsPrec :: Int -> ReadS ListSensorStatisticsResponse
$creadsPrec :: Int -> ReadS ListSensorStatisticsResponse
Prelude.Read, Int -> ListSensorStatisticsResponse -> ShowS
[ListSensorStatisticsResponse] -> ShowS
ListSensorStatisticsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListSensorStatisticsResponse] -> ShowS
$cshowList :: [ListSensorStatisticsResponse] -> ShowS
show :: ListSensorStatisticsResponse -> String
$cshow :: ListSensorStatisticsResponse -> String
showsPrec :: Int -> ListSensorStatisticsResponse -> ShowS
$cshowsPrec :: Int -> ListSensorStatisticsResponse -> ShowS
Prelude.Show, forall x.
Rep ListSensorStatisticsResponse x -> ListSensorStatisticsResponse
forall x.
ListSensorStatisticsResponse -> Rep ListSensorStatisticsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListSensorStatisticsResponse x -> ListSensorStatisticsResponse
$cfrom :: forall x.
ListSensorStatisticsResponse -> Rep ListSensorStatisticsResponse x
Prelude.Generic)

-- |
-- Create a value of 'ListSensorStatisticsResponse' 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:
--
-- 'nextToken', 'listSensorStatisticsResponse_nextToken' - An opaque pagination token indicating where to continue the listing of
-- sensor statistics.
--
-- 'sensorStatisticsSummaries', 'listSensorStatisticsResponse_sensorStatisticsSummaries' - Provides ingestion-based statistics regarding the specified sensor with
-- respect to various validation types, such as whether data exists, the
-- number and percentage of missing values, and the number and percentage
-- of duplicate timestamps.
--
-- 'httpStatus', 'listSensorStatisticsResponse_httpStatus' - The response's http status code.
newListSensorStatisticsResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListSensorStatisticsResponse
newListSensorStatisticsResponse :: Int -> ListSensorStatisticsResponse
newListSensorStatisticsResponse Int
pHttpStatus_ =
  ListSensorStatisticsResponse'
    { $sel:nextToken:ListSensorStatisticsResponse' :: Maybe Text
nextToken =
        forall a. Maybe a
Prelude.Nothing,
      $sel:sensorStatisticsSummaries:ListSensorStatisticsResponse' :: Maybe [SensorStatisticsSummary]
sensorStatisticsSummaries = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ListSensorStatisticsResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | An opaque pagination token indicating where to continue the listing of
-- sensor statistics.
listSensorStatisticsResponse_nextToken :: Lens.Lens' ListSensorStatisticsResponse (Prelude.Maybe Prelude.Text)
listSensorStatisticsResponse_nextToken :: Lens' ListSensorStatisticsResponse (Maybe Text)
listSensorStatisticsResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSensorStatisticsResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListSensorStatisticsResponse' :: ListSensorStatisticsResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListSensorStatisticsResponse
s@ListSensorStatisticsResponse' {} Maybe Text
a -> ListSensorStatisticsResponse
s {$sel:nextToken:ListSensorStatisticsResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListSensorStatisticsResponse)

-- | Provides ingestion-based statistics regarding the specified sensor with
-- respect to various validation types, such as whether data exists, the
-- number and percentage of missing values, and the number and percentage
-- of duplicate timestamps.
listSensorStatisticsResponse_sensorStatisticsSummaries :: Lens.Lens' ListSensorStatisticsResponse (Prelude.Maybe [SensorStatisticsSummary])
listSensorStatisticsResponse_sensorStatisticsSummaries :: Lens'
  ListSensorStatisticsResponse (Maybe [SensorStatisticsSummary])
listSensorStatisticsResponse_sensorStatisticsSummaries = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSensorStatisticsResponse' {Maybe [SensorStatisticsSummary]
sensorStatisticsSummaries :: Maybe [SensorStatisticsSummary]
$sel:sensorStatisticsSummaries:ListSensorStatisticsResponse' :: ListSensorStatisticsResponse -> Maybe [SensorStatisticsSummary]
sensorStatisticsSummaries} -> Maybe [SensorStatisticsSummary]
sensorStatisticsSummaries) (\s :: ListSensorStatisticsResponse
s@ListSensorStatisticsResponse' {} Maybe [SensorStatisticsSummary]
a -> ListSensorStatisticsResponse
s {$sel:sensorStatisticsSummaries:ListSensorStatisticsResponse' :: Maybe [SensorStatisticsSummary]
sensorStatisticsSummaries = Maybe [SensorStatisticsSummary]
a} :: ListSensorStatisticsResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The response's http status code.
listSensorStatisticsResponse_httpStatus :: Lens.Lens' ListSensorStatisticsResponse Prelude.Int
listSensorStatisticsResponse_httpStatus :: Lens' ListSensorStatisticsResponse Int
listSensorStatisticsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSensorStatisticsResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListSensorStatisticsResponse' :: ListSensorStatisticsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListSensorStatisticsResponse
s@ListSensorStatisticsResponse' {} Int
a -> ListSensorStatisticsResponse
s {$sel:httpStatus:ListSensorStatisticsResponse' :: Int
httpStatus = Int
a} :: ListSensorStatisticsResponse)

instance Prelude.NFData ListSensorStatisticsResponse where
  rnf :: ListSensorStatisticsResponse -> ()
rnf ListSensorStatisticsResponse' {Int
Maybe [SensorStatisticsSummary]
Maybe Text
httpStatus :: Int
sensorStatisticsSummaries :: Maybe [SensorStatisticsSummary]
nextToken :: Maybe Text
$sel:httpStatus:ListSensorStatisticsResponse' :: ListSensorStatisticsResponse -> Int
$sel:sensorStatisticsSummaries:ListSensorStatisticsResponse' :: ListSensorStatisticsResponse -> Maybe [SensorStatisticsSummary]
$sel:nextToken:ListSensorStatisticsResponse' :: ListSensorStatisticsResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [SensorStatisticsSummary]
sensorStatisticsSummaries
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus