{-# 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.IoTAnalytics.ListDatasetContents
-- 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 information about dataset contents that have been created.
--
-- This operation returns paginated results.
module Amazonka.IoTAnalytics.ListDatasetContents
  ( -- * Creating a Request
    ListDatasetContents (..),
    newListDatasetContents,

    -- * Request Lenses
    listDatasetContents_maxResults,
    listDatasetContents_nextToken,
    listDatasetContents_scheduledBefore,
    listDatasetContents_scheduledOnOrAfter,
    listDatasetContents_datasetName,

    -- * Destructuring the Response
    ListDatasetContentsResponse (..),
    newListDatasetContentsResponse,

    -- * Response Lenses
    listDatasetContentsResponse_datasetContentSummaries,
    listDatasetContentsResponse_nextToken,
    listDatasetContentsResponse_httpStatus,
  )
where

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

-- | /See:/ 'newListDatasetContents' smart constructor.
data ListDatasetContents = ListDatasetContents'
  { -- | The maximum number of results to return in this request.
    ListDatasetContents -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | The token for the next set of results.
    ListDatasetContents -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | A filter to limit results to those dataset contents whose creation is
    -- scheduled before the given time. See the field @triggers.schedule@ in
    -- the @CreateDataset@ request. (timestamp)
    ListDatasetContents -> Maybe POSIX
scheduledBefore :: Prelude.Maybe Data.POSIX,
    -- | A filter to limit results to those dataset contents whose creation is
    -- scheduled on or after the given time. See the field @triggers.schedule@
    -- in the @CreateDataset@ request. (timestamp)
    ListDatasetContents -> Maybe POSIX
scheduledOnOrAfter :: Prelude.Maybe Data.POSIX,
    -- | The name of the dataset whose contents information you want to list.
    ListDatasetContents -> Text
datasetName :: Prelude.Text
  }
  deriving (ListDatasetContents -> ListDatasetContents -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListDatasetContents -> ListDatasetContents -> Bool
$c/= :: ListDatasetContents -> ListDatasetContents -> Bool
== :: ListDatasetContents -> ListDatasetContents -> Bool
$c== :: ListDatasetContents -> ListDatasetContents -> Bool
Prelude.Eq, ReadPrec [ListDatasetContents]
ReadPrec ListDatasetContents
Int -> ReadS ListDatasetContents
ReadS [ListDatasetContents]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListDatasetContents]
$creadListPrec :: ReadPrec [ListDatasetContents]
readPrec :: ReadPrec ListDatasetContents
$creadPrec :: ReadPrec ListDatasetContents
readList :: ReadS [ListDatasetContents]
$creadList :: ReadS [ListDatasetContents]
readsPrec :: Int -> ReadS ListDatasetContents
$creadsPrec :: Int -> ReadS ListDatasetContents
Prelude.Read, Int -> ListDatasetContents -> ShowS
[ListDatasetContents] -> ShowS
ListDatasetContents -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListDatasetContents] -> ShowS
$cshowList :: [ListDatasetContents] -> ShowS
show :: ListDatasetContents -> String
$cshow :: ListDatasetContents -> String
showsPrec :: Int -> ListDatasetContents -> ShowS
$cshowsPrec :: Int -> ListDatasetContents -> ShowS
Prelude.Show, forall x. Rep ListDatasetContents x -> ListDatasetContents
forall x. ListDatasetContents -> Rep ListDatasetContents x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListDatasetContents x -> ListDatasetContents
$cfrom :: forall x. ListDatasetContents -> Rep ListDatasetContents x
Prelude.Generic)

-- |
-- Create a value of 'ListDatasetContents' 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:
--
-- 'maxResults', 'listDatasetContents_maxResults' - The maximum number of results to return in this request.
--
-- 'nextToken', 'listDatasetContents_nextToken' - The token for the next set of results.
--
-- 'scheduledBefore', 'listDatasetContents_scheduledBefore' - A filter to limit results to those dataset contents whose creation is
-- scheduled before the given time. See the field @triggers.schedule@ in
-- the @CreateDataset@ request. (timestamp)
--
-- 'scheduledOnOrAfter', 'listDatasetContents_scheduledOnOrAfter' - A filter to limit results to those dataset contents whose creation is
-- scheduled on or after the given time. See the field @triggers.schedule@
-- in the @CreateDataset@ request. (timestamp)
--
-- 'datasetName', 'listDatasetContents_datasetName' - The name of the dataset whose contents information you want to list.
newListDatasetContents ::
  -- | 'datasetName'
  Prelude.Text ->
  ListDatasetContents
newListDatasetContents :: Text -> ListDatasetContents
newListDatasetContents Text
pDatasetName_ =
  ListDatasetContents'
    { $sel:maxResults:ListDatasetContents' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListDatasetContents' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:scheduledBefore:ListDatasetContents' :: Maybe POSIX
scheduledBefore = forall a. Maybe a
Prelude.Nothing,
      $sel:scheduledOnOrAfter:ListDatasetContents' :: Maybe POSIX
scheduledOnOrAfter = forall a. Maybe a
Prelude.Nothing,
      $sel:datasetName:ListDatasetContents' :: Text
datasetName = Text
pDatasetName_
    }

-- | The maximum number of results to return in this request.
listDatasetContents_maxResults :: Lens.Lens' ListDatasetContents (Prelude.Maybe Prelude.Natural)
listDatasetContents_maxResults :: Lens' ListDatasetContents (Maybe Natural)
listDatasetContents_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListDatasetContents' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListDatasetContents' :: ListDatasetContents -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListDatasetContents
s@ListDatasetContents' {} Maybe Natural
a -> ListDatasetContents
s {$sel:maxResults:ListDatasetContents' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListDatasetContents)

-- | The token for the next set of results.
listDatasetContents_nextToken :: Lens.Lens' ListDatasetContents (Prelude.Maybe Prelude.Text)
listDatasetContents_nextToken :: Lens' ListDatasetContents (Maybe Text)
listDatasetContents_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListDatasetContents' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListDatasetContents' :: ListDatasetContents -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListDatasetContents
s@ListDatasetContents' {} Maybe Text
a -> ListDatasetContents
s {$sel:nextToken:ListDatasetContents' :: Maybe Text
nextToken = Maybe Text
a} :: ListDatasetContents)

-- | A filter to limit results to those dataset contents whose creation is
-- scheduled before the given time. See the field @triggers.schedule@ in
-- the @CreateDataset@ request. (timestamp)
listDatasetContents_scheduledBefore :: Lens.Lens' ListDatasetContents (Prelude.Maybe Prelude.UTCTime)
listDatasetContents_scheduledBefore :: Lens' ListDatasetContents (Maybe UTCTime)
listDatasetContents_scheduledBefore = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListDatasetContents' {Maybe POSIX
scheduledBefore :: Maybe POSIX
$sel:scheduledBefore:ListDatasetContents' :: ListDatasetContents -> Maybe POSIX
scheduledBefore} -> Maybe POSIX
scheduledBefore) (\s :: ListDatasetContents
s@ListDatasetContents' {} Maybe POSIX
a -> ListDatasetContents
s {$sel:scheduledBefore:ListDatasetContents' :: Maybe POSIX
scheduledBefore = Maybe POSIX
a} :: ListDatasetContents) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | A filter to limit results to those dataset contents whose creation is
-- scheduled on or after the given time. See the field @triggers.schedule@
-- in the @CreateDataset@ request. (timestamp)
listDatasetContents_scheduledOnOrAfter :: Lens.Lens' ListDatasetContents (Prelude.Maybe Prelude.UTCTime)
listDatasetContents_scheduledOnOrAfter :: Lens' ListDatasetContents (Maybe UTCTime)
listDatasetContents_scheduledOnOrAfter = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListDatasetContents' {Maybe POSIX
scheduledOnOrAfter :: Maybe POSIX
$sel:scheduledOnOrAfter:ListDatasetContents' :: ListDatasetContents -> Maybe POSIX
scheduledOnOrAfter} -> Maybe POSIX
scheduledOnOrAfter) (\s :: ListDatasetContents
s@ListDatasetContents' {} Maybe POSIX
a -> ListDatasetContents
s {$sel:scheduledOnOrAfter:ListDatasetContents' :: Maybe POSIX
scheduledOnOrAfter = Maybe POSIX
a} :: ListDatasetContents) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The name of the dataset whose contents information you want to list.
listDatasetContents_datasetName :: Lens.Lens' ListDatasetContents Prelude.Text
listDatasetContents_datasetName :: Lens' ListDatasetContents Text
listDatasetContents_datasetName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListDatasetContents' {Text
datasetName :: Text
$sel:datasetName:ListDatasetContents' :: ListDatasetContents -> Text
datasetName} -> Text
datasetName) (\s :: ListDatasetContents
s@ListDatasetContents' {} Text
a -> ListDatasetContents
s {$sel:datasetName:ListDatasetContents' :: Text
datasetName = Text
a} :: ListDatasetContents)

instance Core.AWSPager ListDatasetContents where
  page :: ListDatasetContents
-> AWSResponse ListDatasetContents -> Maybe ListDatasetContents
page ListDatasetContents
rq AWSResponse ListDatasetContents
rs
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse ListDatasetContents
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListDatasetContentsResponse (Maybe Text)
listDatasetContentsResponse_nextToken
            forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
        forall a. Maybe a
Prelude.Nothing
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse ListDatasetContents
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListDatasetContentsResponse (Maybe [DatasetContentSummary])
listDatasetContentsResponse_datasetContentSummaries
            forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
        forall a. Maybe a
Prelude.Nothing
    | Bool
Prelude.otherwise =
        forall a. a -> Maybe a
Prelude.Just
          forall a b. (a -> b) -> a -> b
Prelude.$ ListDatasetContents
rq
          forall a b. a -> (a -> b) -> b
Prelude.& Lens' ListDatasetContents (Maybe Text)
listDatasetContents_nextToken
          forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse ListDatasetContents
rs
          forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListDatasetContentsResponse (Maybe Text)
listDatasetContentsResponse_nextToken
          forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just

instance Core.AWSRequest ListDatasetContents where
  type
    AWSResponse ListDatasetContents =
      ListDatasetContentsResponse
  request :: (Service -> Service)
-> ListDatasetContents -> Request ListDatasetContents
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 ListDatasetContents
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse ListDatasetContents)))
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 [DatasetContentSummary]
-> Maybe Text -> Int -> ListDatasetContentsResponse
ListDatasetContentsResponse'
            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
"datasetContentSummaries"
                            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.<*> (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.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable ListDatasetContents where
  hashWithSalt :: Int -> ListDatasetContents -> Int
hashWithSalt Int
_salt ListDatasetContents' {Maybe Natural
Maybe Text
Maybe POSIX
Text
datasetName :: Text
scheduledOnOrAfter :: Maybe POSIX
scheduledBefore :: Maybe POSIX
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:datasetName:ListDatasetContents' :: ListDatasetContents -> Text
$sel:scheduledOnOrAfter:ListDatasetContents' :: ListDatasetContents -> Maybe POSIX
$sel:scheduledBefore:ListDatasetContents' :: ListDatasetContents -> Maybe POSIX
$sel:nextToken:ListDatasetContents' :: ListDatasetContents -> Maybe Text
$sel:maxResults:ListDatasetContents' :: ListDatasetContents -> Maybe Natural
..} =
    Int
_salt
      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` Maybe POSIX
scheduledBefore
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
scheduledOnOrAfter
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
datasetName

instance Prelude.NFData ListDatasetContents where
  rnf :: ListDatasetContents -> ()
rnf ListDatasetContents' {Maybe Natural
Maybe Text
Maybe POSIX
Text
datasetName :: Text
scheduledOnOrAfter :: Maybe POSIX
scheduledBefore :: Maybe POSIX
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:datasetName:ListDatasetContents' :: ListDatasetContents -> Text
$sel:scheduledOnOrAfter:ListDatasetContents' :: ListDatasetContents -> Maybe POSIX
$sel:scheduledBefore:ListDatasetContents' :: ListDatasetContents -> Maybe POSIX
$sel:nextToken:ListDatasetContents' :: ListDatasetContents -> Maybe Text
$sel:maxResults:ListDatasetContents' :: ListDatasetContents -> Maybe Natural
..} =
    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 Maybe POSIX
scheduledBefore
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
scheduledOnOrAfter
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
datasetName

instance Data.ToHeaders ListDatasetContents where
  toHeaders :: ListDatasetContents -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

instance Data.ToPath ListDatasetContents where
  toPath :: ListDatasetContents -> ByteString
toPath ListDatasetContents' {Maybe Natural
Maybe Text
Maybe POSIX
Text
datasetName :: Text
scheduledOnOrAfter :: Maybe POSIX
scheduledBefore :: Maybe POSIX
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:datasetName:ListDatasetContents' :: ListDatasetContents -> Text
$sel:scheduledOnOrAfter:ListDatasetContents' :: ListDatasetContents -> Maybe POSIX
$sel:scheduledBefore:ListDatasetContents' :: ListDatasetContents -> Maybe POSIX
$sel:nextToken:ListDatasetContents' :: ListDatasetContents -> Maybe Text
$sel:maxResults:ListDatasetContents' :: ListDatasetContents -> Maybe Natural
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ByteString
"/datasets/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
datasetName, ByteString
"/contents"]

instance Data.ToQuery ListDatasetContents where
  toQuery :: ListDatasetContents -> QueryString
toQuery ListDatasetContents' {Maybe Natural
Maybe Text
Maybe POSIX
Text
datasetName :: Text
scheduledOnOrAfter :: Maybe POSIX
scheduledBefore :: Maybe POSIX
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:datasetName:ListDatasetContents' :: ListDatasetContents -> Text
$sel:scheduledOnOrAfter:ListDatasetContents' :: ListDatasetContents -> Maybe POSIX
$sel:scheduledBefore:ListDatasetContents' :: ListDatasetContents -> Maybe POSIX
$sel:nextToken:ListDatasetContents' :: ListDatasetContents -> Maybe Text
$sel:maxResults:ListDatasetContents' :: ListDatasetContents -> Maybe Natural
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"maxResults" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Natural
maxResults,
        ByteString
"nextToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
nextToken,
        ByteString
"scheduledBefore" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe POSIX
scheduledBefore,
        ByteString
"scheduledOnOrAfter" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe POSIX
scheduledOnOrAfter
      ]

-- | /See:/ 'newListDatasetContentsResponse' smart constructor.
data ListDatasetContentsResponse = ListDatasetContentsResponse'
  { -- | Summary information about dataset contents that have been created.
    ListDatasetContentsResponse -> Maybe [DatasetContentSummary]
datasetContentSummaries :: Prelude.Maybe [DatasetContentSummary],
    -- | The token to retrieve the next set of results, or @null@ if there are no
    -- more results.
    ListDatasetContentsResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    ListDatasetContentsResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ListDatasetContentsResponse -> ListDatasetContentsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListDatasetContentsResponse -> ListDatasetContentsResponse -> Bool
$c/= :: ListDatasetContentsResponse -> ListDatasetContentsResponse -> Bool
== :: ListDatasetContentsResponse -> ListDatasetContentsResponse -> Bool
$c== :: ListDatasetContentsResponse -> ListDatasetContentsResponse -> Bool
Prelude.Eq, ReadPrec [ListDatasetContentsResponse]
ReadPrec ListDatasetContentsResponse
Int -> ReadS ListDatasetContentsResponse
ReadS [ListDatasetContentsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListDatasetContentsResponse]
$creadListPrec :: ReadPrec [ListDatasetContentsResponse]
readPrec :: ReadPrec ListDatasetContentsResponse
$creadPrec :: ReadPrec ListDatasetContentsResponse
readList :: ReadS [ListDatasetContentsResponse]
$creadList :: ReadS [ListDatasetContentsResponse]
readsPrec :: Int -> ReadS ListDatasetContentsResponse
$creadsPrec :: Int -> ReadS ListDatasetContentsResponse
Prelude.Read, Int -> ListDatasetContentsResponse -> ShowS
[ListDatasetContentsResponse] -> ShowS
ListDatasetContentsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListDatasetContentsResponse] -> ShowS
$cshowList :: [ListDatasetContentsResponse] -> ShowS
show :: ListDatasetContentsResponse -> String
$cshow :: ListDatasetContentsResponse -> String
showsPrec :: Int -> ListDatasetContentsResponse -> ShowS
$cshowsPrec :: Int -> ListDatasetContentsResponse -> ShowS
Prelude.Show, forall x.
Rep ListDatasetContentsResponse x -> ListDatasetContentsResponse
forall x.
ListDatasetContentsResponse -> Rep ListDatasetContentsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListDatasetContentsResponse x -> ListDatasetContentsResponse
$cfrom :: forall x.
ListDatasetContentsResponse -> Rep ListDatasetContentsResponse x
Prelude.Generic)

-- |
-- Create a value of 'ListDatasetContentsResponse' 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:
--
-- 'datasetContentSummaries', 'listDatasetContentsResponse_datasetContentSummaries' - Summary information about dataset contents that have been created.
--
-- 'nextToken', 'listDatasetContentsResponse_nextToken' - The token to retrieve the next set of results, or @null@ if there are no
-- more results.
--
-- 'httpStatus', 'listDatasetContentsResponse_httpStatus' - The response's http status code.
newListDatasetContentsResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListDatasetContentsResponse
newListDatasetContentsResponse :: Int -> ListDatasetContentsResponse
newListDatasetContentsResponse Int
pHttpStatus_ =
  ListDatasetContentsResponse'
    { $sel:datasetContentSummaries:ListDatasetContentsResponse' :: Maybe [DatasetContentSummary]
datasetContentSummaries =
        forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListDatasetContentsResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ListDatasetContentsResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | Summary information about dataset contents that have been created.
listDatasetContentsResponse_datasetContentSummaries :: Lens.Lens' ListDatasetContentsResponse (Prelude.Maybe [DatasetContentSummary])
listDatasetContentsResponse_datasetContentSummaries :: Lens' ListDatasetContentsResponse (Maybe [DatasetContentSummary])
listDatasetContentsResponse_datasetContentSummaries = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListDatasetContentsResponse' {Maybe [DatasetContentSummary]
datasetContentSummaries :: Maybe [DatasetContentSummary]
$sel:datasetContentSummaries:ListDatasetContentsResponse' :: ListDatasetContentsResponse -> Maybe [DatasetContentSummary]
datasetContentSummaries} -> Maybe [DatasetContentSummary]
datasetContentSummaries) (\s :: ListDatasetContentsResponse
s@ListDatasetContentsResponse' {} Maybe [DatasetContentSummary]
a -> ListDatasetContentsResponse
s {$sel:datasetContentSummaries:ListDatasetContentsResponse' :: Maybe [DatasetContentSummary]
datasetContentSummaries = Maybe [DatasetContentSummary]
a} :: ListDatasetContentsResponse) 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 token to retrieve the next set of results, or @null@ if there are no
-- more results.
listDatasetContentsResponse_nextToken :: Lens.Lens' ListDatasetContentsResponse (Prelude.Maybe Prelude.Text)
listDatasetContentsResponse_nextToken :: Lens' ListDatasetContentsResponse (Maybe Text)
listDatasetContentsResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListDatasetContentsResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListDatasetContentsResponse' :: ListDatasetContentsResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListDatasetContentsResponse
s@ListDatasetContentsResponse' {} Maybe Text
a -> ListDatasetContentsResponse
s {$sel:nextToken:ListDatasetContentsResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListDatasetContentsResponse)

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

instance Prelude.NFData ListDatasetContentsResponse where
  rnf :: ListDatasetContentsResponse -> ()
rnf ListDatasetContentsResponse' {Int
Maybe [DatasetContentSummary]
Maybe Text
httpStatus :: Int
nextToken :: Maybe Text
datasetContentSummaries :: Maybe [DatasetContentSummary]
$sel:httpStatus:ListDatasetContentsResponse' :: ListDatasetContentsResponse -> Int
$sel:nextToken:ListDatasetContentsResponse' :: ListDatasetContentsResponse -> Maybe Text
$sel:datasetContentSummaries:ListDatasetContentsResponse' :: ListDatasetContentsResponse -> Maybe [DatasetContentSummary]
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe [DatasetContentSummary]
datasetContentSummaries
      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 Int
httpStatus