{-# 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.LakeFormation.ListDataCellsFilter
-- 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 all the data cell filters on a table.
--
-- This operation returns paginated results.
module Amazonka.LakeFormation.ListDataCellsFilter
  ( -- * Creating a Request
    ListDataCellsFilter (..),
    newListDataCellsFilter,

    -- * Request Lenses
    listDataCellsFilter_maxResults,
    listDataCellsFilter_nextToken,
    listDataCellsFilter_table,

    -- * Destructuring the Response
    ListDataCellsFilterResponse (..),
    newListDataCellsFilterResponse,

    -- * Response Lenses
    listDataCellsFilterResponse_dataCellsFilters,
    listDataCellsFilterResponse_nextToken,
    listDataCellsFilterResponse_httpStatus,
  )
where

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

-- | /See:/ 'newListDataCellsFilter' smart constructor.
data ListDataCellsFilter = ListDataCellsFilter'
  { -- | The maximum size of the response.
    ListDataCellsFilter -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | A continuation token, if this is a continuation call.
    ListDataCellsFilter -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | A table in the Glue Data Catalog.
    ListDataCellsFilter -> Maybe TableResource
table :: Prelude.Maybe TableResource
  }
  deriving (ListDataCellsFilter -> ListDataCellsFilter -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListDataCellsFilter -> ListDataCellsFilter -> Bool
$c/= :: ListDataCellsFilter -> ListDataCellsFilter -> Bool
== :: ListDataCellsFilter -> ListDataCellsFilter -> Bool
$c== :: ListDataCellsFilter -> ListDataCellsFilter -> Bool
Prelude.Eq, ReadPrec [ListDataCellsFilter]
ReadPrec ListDataCellsFilter
Int -> ReadS ListDataCellsFilter
ReadS [ListDataCellsFilter]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListDataCellsFilter]
$creadListPrec :: ReadPrec [ListDataCellsFilter]
readPrec :: ReadPrec ListDataCellsFilter
$creadPrec :: ReadPrec ListDataCellsFilter
readList :: ReadS [ListDataCellsFilter]
$creadList :: ReadS [ListDataCellsFilter]
readsPrec :: Int -> ReadS ListDataCellsFilter
$creadsPrec :: Int -> ReadS ListDataCellsFilter
Prelude.Read, Int -> ListDataCellsFilter -> ShowS
[ListDataCellsFilter] -> ShowS
ListDataCellsFilter -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListDataCellsFilter] -> ShowS
$cshowList :: [ListDataCellsFilter] -> ShowS
show :: ListDataCellsFilter -> String
$cshow :: ListDataCellsFilter -> String
showsPrec :: Int -> ListDataCellsFilter -> ShowS
$cshowsPrec :: Int -> ListDataCellsFilter -> ShowS
Prelude.Show, forall x. Rep ListDataCellsFilter x -> ListDataCellsFilter
forall x. ListDataCellsFilter -> Rep ListDataCellsFilter x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListDataCellsFilter x -> ListDataCellsFilter
$cfrom :: forall x. ListDataCellsFilter -> Rep ListDataCellsFilter x
Prelude.Generic)

-- |
-- Create a value of 'ListDataCellsFilter' 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', 'listDataCellsFilter_maxResults' - The maximum size of the response.
--
-- 'nextToken', 'listDataCellsFilter_nextToken' - A continuation token, if this is a continuation call.
--
-- 'table', 'listDataCellsFilter_table' - A table in the Glue Data Catalog.
newListDataCellsFilter ::
  ListDataCellsFilter
newListDataCellsFilter :: ListDataCellsFilter
newListDataCellsFilter =
  ListDataCellsFilter'
    { $sel:maxResults:ListDataCellsFilter' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListDataCellsFilter' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:table:ListDataCellsFilter' :: Maybe TableResource
table = forall a. Maybe a
Prelude.Nothing
    }

-- | The maximum size of the response.
listDataCellsFilter_maxResults :: Lens.Lens' ListDataCellsFilter (Prelude.Maybe Prelude.Natural)
listDataCellsFilter_maxResults :: Lens' ListDataCellsFilter (Maybe Natural)
listDataCellsFilter_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListDataCellsFilter' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListDataCellsFilter' :: ListDataCellsFilter -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListDataCellsFilter
s@ListDataCellsFilter' {} Maybe Natural
a -> ListDataCellsFilter
s {$sel:maxResults:ListDataCellsFilter' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListDataCellsFilter)

-- | A continuation token, if this is a continuation call.
listDataCellsFilter_nextToken :: Lens.Lens' ListDataCellsFilter (Prelude.Maybe Prelude.Text)
listDataCellsFilter_nextToken :: Lens' ListDataCellsFilter (Maybe Text)
listDataCellsFilter_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListDataCellsFilter' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListDataCellsFilter' :: ListDataCellsFilter -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListDataCellsFilter
s@ListDataCellsFilter' {} Maybe Text
a -> ListDataCellsFilter
s {$sel:nextToken:ListDataCellsFilter' :: Maybe Text
nextToken = Maybe Text
a} :: ListDataCellsFilter)

-- | A table in the Glue Data Catalog.
listDataCellsFilter_table :: Lens.Lens' ListDataCellsFilter (Prelude.Maybe TableResource)
listDataCellsFilter_table :: Lens' ListDataCellsFilter (Maybe TableResource)
listDataCellsFilter_table = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListDataCellsFilter' {Maybe TableResource
table :: Maybe TableResource
$sel:table:ListDataCellsFilter' :: ListDataCellsFilter -> Maybe TableResource
table} -> Maybe TableResource
table) (\s :: ListDataCellsFilter
s@ListDataCellsFilter' {} Maybe TableResource
a -> ListDataCellsFilter
s {$sel:table:ListDataCellsFilter' :: Maybe TableResource
table = Maybe TableResource
a} :: ListDataCellsFilter)

instance Core.AWSPager ListDataCellsFilter where
  page :: ListDataCellsFilter
-> AWSResponse ListDataCellsFilter -> Maybe ListDataCellsFilter
page ListDataCellsFilter
rq AWSResponse ListDataCellsFilter
rs
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse ListDataCellsFilter
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListDataCellsFilterResponse (Maybe Text)
listDataCellsFilterResponse_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 ListDataCellsFilter
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListDataCellsFilterResponse (Maybe [DataCellsFilter])
listDataCellsFilterResponse_dataCellsFilters
            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.$ ListDataCellsFilter
rq
          forall a b. a -> (a -> b) -> b
Prelude.& Lens' ListDataCellsFilter (Maybe Text)
listDataCellsFilter_nextToken
          forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse ListDataCellsFilter
rs
          forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListDataCellsFilterResponse (Maybe Text)
listDataCellsFilterResponse_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 ListDataCellsFilter where
  type
    AWSResponse ListDataCellsFilter =
      ListDataCellsFilterResponse
  request :: (Service -> Service)
-> ListDataCellsFilter -> Request ListDataCellsFilter
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 ListDataCellsFilter
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse ListDataCellsFilter)))
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 [DataCellsFilter]
-> Maybe Text -> Int -> ListDataCellsFilterResponse
ListDataCellsFilterResponse'
            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
"DataCellsFilters"
                            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 ListDataCellsFilter where
  hashWithSalt :: Int -> ListDataCellsFilter -> Int
hashWithSalt Int
_salt ListDataCellsFilter' {Maybe Natural
Maybe Text
Maybe TableResource
table :: Maybe TableResource
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:table:ListDataCellsFilter' :: ListDataCellsFilter -> Maybe TableResource
$sel:nextToken:ListDataCellsFilter' :: ListDataCellsFilter -> Maybe Text
$sel:maxResults:ListDataCellsFilter' :: ListDataCellsFilter -> 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 TableResource
table

instance Prelude.NFData ListDataCellsFilter where
  rnf :: ListDataCellsFilter -> ()
rnf ListDataCellsFilter' {Maybe Natural
Maybe Text
Maybe TableResource
table :: Maybe TableResource
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:table:ListDataCellsFilter' :: ListDataCellsFilter -> Maybe TableResource
$sel:nextToken:ListDataCellsFilter' :: ListDataCellsFilter -> Maybe Text
$sel:maxResults:ListDataCellsFilter' :: ListDataCellsFilter -> 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 TableResource
table

instance Data.ToHeaders ListDataCellsFilter where
  toHeaders :: ListDataCellsFilter -> 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.ToJSON ListDataCellsFilter where
  toJSON :: ListDataCellsFilter -> Value
toJSON ListDataCellsFilter' {Maybe Natural
Maybe Text
Maybe TableResource
table :: Maybe TableResource
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:table:ListDataCellsFilter' :: ListDataCellsFilter -> Maybe TableResource
$sel:nextToken:ListDataCellsFilter' :: ListDataCellsFilter -> Maybe Text
$sel:maxResults:ListDataCellsFilter' :: ListDataCellsFilter -> Maybe Natural
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (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,
            (Key
"Table" 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 TableResource
table
          ]
      )

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

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

-- | /See:/ 'newListDataCellsFilterResponse' smart constructor.
data ListDataCellsFilterResponse = ListDataCellsFilterResponse'
  { -- | A list of @DataCellFilter@ structures.
    ListDataCellsFilterResponse -> Maybe [DataCellsFilter]
dataCellsFilters :: Prelude.Maybe [DataCellsFilter],
    -- | A continuation token, if not all requested data cell filters have been
    -- returned.
    ListDataCellsFilterResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    ListDataCellsFilterResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ListDataCellsFilterResponse -> ListDataCellsFilterResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListDataCellsFilterResponse -> ListDataCellsFilterResponse -> Bool
$c/= :: ListDataCellsFilterResponse -> ListDataCellsFilterResponse -> Bool
== :: ListDataCellsFilterResponse -> ListDataCellsFilterResponse -> Bool
$c== :: ListDataCellsFilterResponse -> ListDataCellsFilterResponse -> Bool
Prelude.Eq, ReadPrec [ListDataCellsFilterResponse]
ReadPrec ListDataCellsFilterResponse
Int -> ReadS ListDataCellsFilterResponse
ReadS [ListDataCellsFilterResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListDataCellsFilterResponse]
$creadListPrec :: ReadPrec [ListDataCellsFilterResponse]
readPrec :: ReadPrec ListDataCellsFilterResponse
$creadPrec :: ReadPrec ListDataCellsFilterResponse
readList :: ReadS [ListDataCellsFilterResponse]
$creadList :: ReadS [ListDataCellsFilterResponse]
readsPrec :: Int -> ReadS ListDataCellsFilterResponse
$creadsPrec :: Int -> ReadS ListDataCellsFilterResponse
Prelude.Read, Int -> ListDataCellsFilterResponse -> ShowS
[ListDataCellsFilterResponse] -> ShowS
ListDataCellsFilterResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListDataCellsFilterResponse] -> ShowS
$cshowList :: [ListDataCellsFilterResponse] -> ShowS
show :: ListDataCellsFilterResponse -> String
$cshow :: ListDataCellsFilterResponse -> String
showsPrec :: Int -> ListDataCellsFilterResponse -> ShowS
$cshowsPrec :: Int -> ListDataCellsFilterResponse -> ShowS
Prelude.Show, forall x.
Rep ListDataCellsFilterResponse x -> ListDataCellsFilterResponse
forall x.
ListDataCellsFilterResponse -> Rep ListDataCellsFilterResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListDataCellsFilterResponse x -> ListDataCellsFilterResponse
$cfrom :: forall x.
ListDataCellsFilterResponse -> Rep ListDataCellsFilterResponse x
Prelude.Generic)

-- |
-- Create a value of 'ListDataCellsFilterResponse' 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:
--
-- 'dataCellsFilters', 'listDataCellsFilterResponse_dataCellsFilters' - A list of @DataCellFilter@ structures.
--
-- 'nextToken', 'listDataCellsFilterResponse_nextToken' - A continuation token, if not all requested data cell filters have been
-- returned.
--
-- 'httpStatus', 'listDataCellsFilterResponse_httpStatus' - The response's http status code.
newListDataCellsFilterResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListDataCellsFilterResponse
newListDataCellsFilterResponse :: Int -> ListDataCellsFilterResponse
newListDataCellsFilterResponse Int
pHttpStatus_ =
  ListDataCellsFilterResponse'
    { $sel:dataCellsFilters:ListDataCellsFilterResponse' :: Maybe [DataCellsFilter]
dataCellsFilters =
        forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListDataCellsFilterResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ListDataCellsFilterResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | A list of @DataCellFilter@ structures.
listDataCellsFilterResponse_dataCellsFilters :: Lens.Lens' ListDataCellsFilterResponse (Prelude.Maybe [DataCellsFilter])
listDataCellsFilterResponse_dataCellsFilters :: Lens' ListDataCellsFilterResponse (Maybe [DataCellsFilter])
listDataCellsFilterResponse_dataCellsFilters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListDataCellsFilterResponse' {Maybe [DataCellsFilter]
dataCellsFilters :: Maybe [DataCellsFilter]
$sel:dataCellsFilters:ListDataCellsFilterResponse' :: ListDataCellsFilterResponse -> Maybe [DataCellsFilter]
dataCellsFilters} -> Maybe [DataCellsFilter]
dataCellsFilters) (\s :: ListDataCellsFilterResponse
s@ListDataCellsFilterResponse' {} Maybe [DataCellsFilter]
a -> ListDataCellsFilterResponse
s {$sel:dataCellsFilters:ListDataCellsFilterResponse' :: Maybe [DataCellsFilter]
dataCellsFilters = Maybe [DataCellsFilter]
a} :: ListDataCellsFilterResponse) 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

-- | A continuation token, if not all requested data cell filters have been
-- returned.
listDataCellsFilterResponse_nextToken :: Lens.Lens' ListDataCellsFilterResponse (Prelude.Maybe Prelude.Text)
listDataCellsFilterResponse_nextToken :: Lens' ListDataCellsFilterResponse (Maybe Text)
listDataCellsFilterResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListDataCellsFilterResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListDataCellsFilterResponse' :: ListDataCellsFilterResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListDataCellsFilterResponse
s@ListDataCellsFilterResponse' {} Maybe Text
a -> ListDataCellsFilterResponse
s {$sel:nextToken:ListDataCellsFilterResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListDataCellsFilterResponse)

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

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