{-# 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.ListWirelessGatewayTaskDefinitions
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- List the wireless gateway tasks definitions registered to your AWS
-- account.
module Amazonka.IoTWireless.ListWirelessGatewayTaskDefinitions
  ( -- * Creating a Request
    ListWirelessGatewayTaskDefinitions (..),
    newListWirelessGatewayTaskDefinitions,

    -- * Request Lenses
    listWirelessGatewayTaskDefinitions_taskDefinitionType,
    listWirelessGatewayTaskDefinitions_nextToken,
    listWirelessGatewayTaskDefinitions_maxResults,

    -- * Destructuring the Response
    ListWirelessGatewayTaskDefinitionsResponse (..),
    newListWirelessGatewayTaskDefinitionsResponse,

    -- * Response Lenses
    listWirelessGatewayTaskDefinitionsResponse_taskDefinitions,
    listWirelessGatewayTaskDefinitionsResponse_nextToken,
    listWirelessGatewayTaskDefinitionsResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import Amazonka.IoTWireless.Types
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newListWirelessGatewayTaskDefinitions' smart constructor.
data ListWirelessGatewayTaskDefinitions = ListWirelessGatewayTaskDefinitions'
  { -- | A filter to list only the wireless gateway task definitions that use
    -- this task definition type.
    ListWirelessGatewayTaskDefinitions
-> Maybe WirelessGatewayTaskDefinitionType
taskDefinitionType :: Prelude.Maybe WirelessGatewayTaskDefinitionType,
    -- | To retrieve the next set of results, the @nextToken@ value from a
    -- previous response; otherwise __null__ to receive the first set of
    -- results.
    ListWirelessGatewayTaskDefinitions -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The maximum number of results to return in this operation.
    ListWirelessGatewayTaskDefinitions -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural
  }
  deriving (ListWirelessGatewayTaskDefinitions
-> ListWirelessGatewayTaskDefinitions -> Bool
(ListWirelessGatewayTaskDefinitions
 -> ListWirelessGatewayTaskDefinitions -> Bool)
-> (ListWirelessGatewayTaskDefinitions
    -> ListWirelessGatewayTaskDefinitions -> Bool)
-> Eq ListWirelessGatewayTaskDefinitions
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListWirelessGatewayTaskDefinitions
-> ListWirelessGatewayTaskDefinitions -> Bool
$c/= :: ListWirelessGatewayTaskDefinitions
-> ListWirelessGatewayTaskDefinitions -> Bool
== :: ListWirelessGatewayTaskDefinitions
-> ListWirelessGatewayTaskDefinitions -> Bool
$c== :: ListWirelessGatewayTaskDefinitions
-> ListWirelessGatewayTaskDefinitions -> Bool
Prelude.Eq, ReadPrec [ListWirelessGatewayTaskDefinitions]
ReadPrec ListWirelessGatewayTaskDefinitions
Int -> ReadS ListWirelessGatewayTaskDefinitions
ReadS [ListWirelessGatewayTaskDefinitions]
(Int -> ReadS ListWirelessGatewayTaskDefinitions)
-> ReadS [ListWirelessGatewayTaskDefinitions]
-> ReadPrec ListWirelessGatewayTaskDefinitions
-> ReadPrec [ListWirelessGatewayTaskDefinitions]
-> Read ListWirelessGatewayTaskDefinitions
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListWirelessGatewayTaskDefinitions]
$creadListPrec :: ReadPrec [ListWirelessGatewayTaskDefinitions]
readPrec :: ReadPrec ListWirelessGatewayTaskDefinitions
$creadPrec :: ReadPrec ListWirelessGatewayTaskDefinitions
readList :: ReadS [ListWirelessGatewayTaskDefinitions]
$creadList :: ReadS [ListWirelessGatewayTaskDefinitions]
readsPrec :: Int -> ReadS ListWirelessGatewayTaskDefinitions
$creadsPrec :: Int -> ReadS ListWirelessGatewayTaskDefinitions
Prelude.Read, Int -> ListWirelessGatewayTaskDefinitions -> ShowS
[ListWirelessGatewayTaskDefinitions] -> ShowS
ListWirelessGatewayTaskDefinitions -> String
(Int -> ListWirelessGatewayTaskDefinitions -> ShowS)
-> (ListWirelessGatewayTaskDefinitions -> String)
-> ([ListWirelessGatewayTaskDefinitions] -> ShowS)
-> Show ListWirelessGatewayTaskDefinitions
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListWirelessGatewayTaskDefinitions] -> ShowS
$cshowList :: [ListWirelessGatewayTaskDefinitions] -> ShowS
show :: ListWirelessGatewayTaskDefinitions -> String
$cshow :: ListWirelessGatewayTaskDefinitions -> String
showsPrec :: Int -> ListWirelessGatewayTaskDefinitions -> ShowS
$cshowsPrec :: Int -> ListWirelessGatewayTaskDefinitions -> ShowS
Prelude.Show, (forall x.
 ListWirelessGatewayTaskDefinitions
 -> Rep ListWirelessGatewayTaskDefinitions x)
-> (forall x.
    Rep ListWirelessGatewayTaskDefinitions x
    -> ListWirelessGatewayTaskDefinitions)
-> Generic ListWirelessGatewayTaskDefinitions
forall x.
Rep ListWirelessGatewayTaskDefinitions x
-> ListWirelessGatewayTaskDefinitions
forall x.
ListWirelessGatewayTaskDefinitions
-> Rep ListWirelessGatewayTaskDefinitions x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListWirelessGatewayTaskDefinitions x
-> ListWirelessGatewayTaskDefinitions
$cfrom :: forall x.
ListWirelessGatewayTaskDefinitions
-> Rep ListWirelessGatewayTaskDefinitions x
Prelude.Generic)

-- |
-- Create a value of 'ListWirelessGatewayTaskDefinitions' 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:
--
-- 'taskDefinitionType', 'listWirelessGatewayTaskDefinitions_taskDefinitionType' - A filter to list only the wireless gateway task definitions that use
-- this task definition type.
--
-- 'nextToken', 'listWirelessGatewayTaskDefinitions_nextToken' - To retrieve the next set of results, the @nextToken@ value from a
-- previous response; otherwise __null__ to receive the first set of
-- results.
--
-- 'maxResults', 'listWirelessGatewayTaskDefinitions_maxResults' - The maximum number of results to return in this operation.
newListWirelessGatewayTaskDefinitions ::
  ListWirelessGatewayTaskDefinitions
newListWirelessGatewayTaskDefinitions :: ListWirelessGatewayTaskDefinitions
newListWirelessGatewayTaskDefinitions =
  ListWirelessGatewayTaskDefinitions' :: Maybe WirelessGatewayTaskDefinitionType
-> Maybe Text
-> Maybe Natural
-> ListWirelessGatewayTaskDefinitions
ListWirelessGatewayTaskDefinitions'
    { $sel:taskDefinitionType:ListWirelessGatewayTaskDefinitions' :: Maybe WirelessGatewayTaskDefinitionType
taskDefinitionType =
        Maybe WirelessGatewayTaskDefinitionType
forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListWirelessGatewayTaskDefinitions' :: Maybe Text
nextToken = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:maxResults:ListWirelessGatewayTaskDefinitions' :: Maybe Natural
maxResults = Maybe Natural
forall a. Maybe a
Prelude.Nothing
    }

-- | A filter to list only the wireless gateway task definitions that use
-- this task definition type.
listWirelessGatewayTaskDefinitions_taskDefinitionType :: Lens.Lens' ListWirelessGatewayTaskDefinitions (Prelude.Maybe WirelessGatewayTaskDefinitionType)
listWirelessGatewayTaskDefinitions_taskDefinitionType :: (Maybe WirelessGatewayTaskDefinitionType
 -> f (Maybe WirelessGatewayTaskDefinitionType))
-> ListWirelessGatewayTaskDefinitions
-> f ListWirelessGatewayTaskDefinitions
listWirelessGatewayTaskDefinitions_taskDefinitionType = (ListWirelessGatewayTaskDefinitions
 -> Maybe WirelessGatewayTaskDefinitionType)
-> (ListWirelessGatewayTaskDefinitions
    -> Maybe WirelessGatewayTaskDefinitionType
    -> ListWirelessGatewayTaskDefinitions)
-> Lens
     ListWirelessGatewayTaskDefinitions
     ListWirelessGatewayTaskDefinitions
     (Maybe WirelessGatewayTaskDefinitionType)
     (Maybe WirelessGatewayTaskDefinitionType)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListWirelessGatewayTaskDefinitions' {Maybe WirelessGatewayTaskDefinitionType
taskDefinitionType :: Maybe WirelessGatewayTaskDefinitionType
$sel:taskDefinitionType:ListWirelessGatewayTaskDefinitions' :: ListWirelessGatewayTaskDefinitions
-> Maybe WirelessGatewayTaskDefinitionType
taskDefinitionType} -> Maybe WirelessGatewayTaskDefinitionType
taskDefinitionType) (\s :: ListWirelessGatewayTaskDefinitions
s@ListWirelessGatewayTaskDefinitions' {} Maybe WirelessGatewayTaskDefinitionType
a -> ListWirelessGatewayTaskDefinitions
s {$sel:taskDefinitionType:ListWirelessGatewayTaskDefinitions' :: Maybe WirelessGatewayTaskDefinitionType
taskDefinitionType = Maybe WirelessGatewayTaskDefinitionType
a} :: ListWirelessGatewayTaskDefinitions)

-- | To retrieve the next set of results, the @nextToken@ value from a
-- previous response; otherwise __null__ to receive the first set of
-- results.
listWirelessGatewayTaskDefinitions_nextToken :: Lens.Lens' ListWirelessGatewayTaskDefinitions (Prelude.Maybe Prelude.Text)
listWirelessGatewayTaskDefinitions_nextToken :: (Maybe Text -> f (Maybe Text))
-> ListWirelessGatewayTaskDefinitions
-> f ListWirelessGatewayTaskDefinitions
listWirelessGatewayTaskDefinitions_nextToken = (ListWirelessGatewayTaskDefinitions -> Maybe Text)
-> (ListWirelessGatewayTaskDefinitions
    -> Maybe Text -> ListWirelessGatewayTaskDefinitions)
-> Lens
     ListWirelessGatewayTaskDefinitions
     ListWirelessGatewayTaskDefinitions
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListWirelessGatewayTaskDefinitions' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListWirelessGatewayTaskDefinitions' :: ListWirelessGatewayTaskDefinitions -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListWirelessGatewayTaskDefinitions
s@ListWirelessGatewayTaskDefinitions' {} Maybe Text
a -> ListWirelessGatewayTaskDefinitions
s {$sel:nextToken:ListWirelessGatewayTaskDefinitions' :: Maybe Text
nextToken = Maybe Text
a} :: ListWirelessGatewayTaskDefinitions)

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

instance
  Core.AWSRequest
    ListWirelessGatewayTaskDefinitions
  where
  type
    AWSResponse ListWirelessGatewayTaskDefinitions =
      ListWirelessGatewayTaskDefinitionsResponse
  request :: ListWirelessGatewayTaskDefinitions
-> Request ListWirelessGatewayTaskDefinitions
request = Service
-> ListWirelessGatewayTaskDefinitions
-> Request ListWirelessGatewayTaskDefinitions
forall a. ToRequest a => Service -> a -> Request a
Request.get Service
defaultService
  response :: Logger
-> Service
-> Proxy ListWirelessGatewayTaskDefinitions
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse ListWirelessGatewayTaskDefinitions)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse ListWirelessGatewayTaskDefinitions))
-> Logger
-> Service
-> Proxy ListWirelessGatewayTaskDefinitions
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse ListWirelessGatewayTaskDefinitions)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe [UpdateWirelessGatewayTaskEntry]
-> Maybe Text -> Int -> ListWirelessGatewayTaskDefinitionsResponse
ListWirelessGatewayTaskDefinitionsResponse'
            (Maybe [UpdateWirelessGatewayTaskEntry]
 -> Maybe Text -> Int -> ListWirelessGatewayTaskDefinitionsResponse)
-> Either String (Maybe [UpdateWirelessGatewayTaskEntry])
-> Either
     String
     (Maybe Text -> Int -> ListWirelessGatewayTaskDefinitionsResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ( Object
x Object
-> Text
-> Either String (Maybe (Maybe [UpdateWirelessGatewayTaskEntry]))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"TaskDefinitions"
                            Either String (Maybe (Maybe [UpdateWirelessGatewayTaskEntry]))
-> Maybe [UpdateWirelessGatewayTaskEntry]
-> Either String (Maybe [UpdateWirelessGatewayTaskEntry])
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe [UpdateWirelessGatewayTaskEntry]
forall a. Monoid a => a
Prelude.mempty
                        )
              Either
  String
  (Maybe Text -> Int -> ListWirelessGatewayTaskDefinitionsResponse)
-> Either String (Maybe Text)
-> Either
     String (Int -> ListWirelessGatewayTaskDefinitionsResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"NextToken")
              Either String (Int -> ListWirelessGatewayTaskDefinitionsResponse)
-> Either String Int
-> Either String ListWirelessGatewayTaskDefinitionsResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance
  Prelude.Hashable
    ListWirelessGatewayTaskDefinitions

instance
  Prelude.NFData
    ListWirelessGatewayTaskDefinitions

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

instance
  Core.ToPath
    ListWirelessGatewayTaskDefinitions
  where
  toPath :: ListWirelessGatewayTaskDefinitions -> ByteString
toPath =
    ByteString -> ListWirelessGatewayTaskDefinitions -> ByteString
forall a b. a -> b -> a
Prelude.const ByteString
"/wireless-gateway-task-definitions"

instance
  Core.ToQuery
    ListWirelessGatewayTaskDefinitions
  where
  toQuery :: ListWirelessGatewayTaskDefinitions -> QueryString
toQuery ListWirelessGatewayTaskDefinitions' {Maybe Natural
Maybe Text
Maybe WirelessGatewayTaskDefinitionType
maxResults :: Maybe Natural
nextToken :: Maybe Text
taskDefinitionType :: Maybe WirelessGatewayTaskDefinitionType
$sel:maxResults:ListWirelessGatewayTaskDefinitions' :: ListWirelessGatewayTaskDefinitions -> Maybe Natural
$sel:nextToken:ListWirelessGatewayTaskDefinitions' :: ListWirelessGatewayTaskDefinitions -> Maybe Text
$sel:taskDefinitionType:ListWirelessGatewayTaskDefinitions' :: ListWirelessGatewayTaskDefinitions
-> Maybe WirelessGatewayTaskDefinitionType
..} =
    [QueryString] -> QueryString
forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"taskDefinitionType" ByteString
-> Maybe WirelessGatewayTaskDefinitionType -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe WirelessGatewayTaskDefinitionType
taskDefinitionType,
        ByteString
"nextToken" ByteString -> Maybe Text -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe Text
nextToken,
        ByteString
"maxResults" ByteString -> Maybe Natural -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe Natural
maxResults
      ]

-- | /See:/ 'newListWirelessGatewayTaskDefinitionsResponse' smart constructor.
data ListWirelessGatewayTaskDefinitionsResponse = ListWirelessGatewayTaskDefinitionsResponse'
  { -- | The list of task definitions.
    ListWirelessGatewayTaskDefinitionsResponse
-> Maybe [UpdateWirelessGatewayTaskEntry]
taskDefinitions :: Prelude.Maybe [UpdateWirelessGatewayTaskEntry],
    -- | The token to use to get the next set of results, or __null__ if there
    -- are no additional results.
    ListWirelessGatewayTaskDefinitionsResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    ListWirelessGatewayTaskDefinitionsResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ListWirelessGatewayTaskDefinitionsResponse
-> ListWirelessGatewayTaskDefinitionsResponse -> Bool
(ListWirelessGatewayTaskDefinitionsResponse
 -> ListWirelessGatewayTaskDefinitionsResponse -> Bool)
-> (ListWirelessGatewayTaskDefinitionsResponse
    -> ListWirelessGatewayTaskDefinitionsResponse -> Bool)
-> Eq ListWirelessGatewayTaskDefinitionsResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListWirelessGatewayTaskDefinitionsResponse
-> ListWirelessGatewayTaskDefinitionsResponse -> Bool
$c/= :: ListWirelessGatewayTaskDefinitionsResponse
-> ListWirelessGatewayTaskDefinitionsResponse -> Bool
== :: ListWirelessGatewayTaskDefinitionsResponse
-> ListWirelessGatewayTaskDefinitionsResponse -> Bool
$c== :: ListWirelessGatewayTaskDefinitionsResponse
-> ListWirelessGatewayTaskDefinitionsResponse -> Bool
Prelude.Eq, ReadPrec [ListWirelessGatewayTaskDefinitionsResponse]
ReadPrec ListWirelessGatewayTaskDefinitionsResponse
Int -> ReadS ListWirelessGatewayTaskDefinitionsResponse
ReadS [ListWirelessGatewayTaskDefinitionsResponse]
(Int -> ReadS ListWirelessGatewayTaskDefinitionsResponse)
-> ReadS [ListWirelessGatewayTaskDefinitionsResponse]
-> ReadPrec ListWirelessGatewayTaskDefinitionsResponse
-> ReadPrec [ListWirelessGatewayTaskDefinitionsResponse]
-> Read ListWirelessGatewayTaskDefinitionsResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListWirelessGatewayTaskDefinitionsResponse]
$creadListPrec :: ReadPrec [ListWirelessGatewayTaskDefinitionsResponse]
readPrec :: ReadPrec ListWirelessGatewayTaskDefinitionsResponse
$creadPrec :: ReadPrec ListWirelessGatewayTaskDefinitionsResponse
readList :: ReadS [ListWirelessGatewayTaskDefinitionsResponse]
$creadList :: ReadS [ListWirelessGatewayTaskDefinitionsResponse]
readsPrec :: Int -> ReadS ListWirelessGatewayTaskDefinitionsResponse
$creadsPrec :: Int -> ReadS ListWirelessGatewayTaskDefinitionsResponse
Prelude.Read, Int -> ListWirelessGatewayTaskDefinitionsResponse -> ShowS
[ListWirelessGatewayTaskDefinitionsResponse] -> ShowS
ListWirelessGatewayTaskDefinitionsResponse -> String
(Int -> ListWirelessGatewayTaskDefinitionsResponse -> ShowS)
-> (ListWirelessGatewayTaskDefinitionsResponse -> String)
-> ([ListWirelessGatewayTaskDefinitionsResponse] -> ShowS)
-> Show ListWirelessGatewayTaskDefinitionsResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListWirelessGatewayTaskDefinitionsResponse] -> ShowS
$cshowList :: [ListWirelessGatewayTaskDefinitionsResponse] -> ShowS
show :: ListWirelessGatewayTaskDefinitionsResponse -> String
$cshow :: ListWirelessGatewayTaskDefinitionsResponse -> String
showsPrec :: Int -> ListWirelessGatewayTaskDefinitionsResponse -> ShowS
$cshowsPrec :: Int -> ListWirelessGatewayTaskDefinitionsResponse -> ShowS
Prelude.Show, (forall x.
 ListWirelessGatewayTaskDefinitionsResponse
 -> Rep ListWirelessGatewayTaskDefinitionsResponse x)
-> (forall x.
    Rep ListWirelessGatewayTaskDefinitionsResponse x
    -> ListWirelessGatewayTaskDefinitionsResponse)
-> Generic ListWirelessGatewayTaskDefinitionsResponse
forall x.
Rep ListWirelessGatewayTaskDefinitionsResponse x
-> ListWirelessGatewayTaskDefinitionsResponse
forall x.
ListWirelessGatewayTaskDefinitionsResponse
-> Rep ListWirelessGatewayTaskDefinitionsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListWirelessGatewayTaskDefinitionsResponse x
-> ListWirelessGatewayTaskDefinitionsResponse
$cfrom :: forall x.
ListWirelessGatewayTaskDefinitionsResponse
-> Rep ListWirelessGatewayTaskDefinitionsResponse x
Prelude.Generic)

-- |
-- Create a value of 'ListWirelessGatewayTaskDefinitionsResponse' 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:
--
-- 'taskDefinitions', 'listWirelessGatewayTaskDefinitionsResponse_taskDefinitions' - The list of task definitions.
--
-- 'nextToken', 'listWirelessGatewayTaskDefinitionsResponse_nextToken' - The token to use to get the next set of results, or __null__ if there
-- are no additional results.
--
-- 'httpStatus', 'listWirelessGatewayTaskDefinitionsResponse_httpStatus' - The response's http status code.
newListWirelessGatewayTaskDefinitionsResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListWirelessGatewayTaskDefinitionsResponse
newListWirelessGatewayTaskDefinitionsResponse :: Int -> ListWirelessGatewayTaskDefinitionsResponse
newListWirelessGatewayTaskDefinitionsResponse
  Int
pHttpStatus_ =
    ListWirelessGatewayTaskDefinitionsResponse' :: Maybe [UpdateWirelessGatewayTaskEntry]
-> Maybe Text -> Int -> ListWirelessGatewayTaskDefinitionsResponse
ListWirelessGatewayTaskDefinitionsResponse'
      { $sel:taskDefinitions:ListWirelessGatewayTaskDefinitionsResponse' :: Maybe [UpdateWirelessGatewayTaskEntry]
taskDefinitions =
          Maybe [UpdateWirelessGatewayTaskEntry]
forall a. Maybe a
Prelude.Nothing,
        $sel:nextToken:ListWirelessGatewayTaskDefinitionsResponse' :: Maybe Text
nextToken = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:ListWirelessGatewayTaskDefinitionsResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | The list of task definitions.
listWirelessGatewayTaskDefinitionsResponse_taskDefinitions :: Lens.Lens' ListWirelessGatewayTaskDefinitionsResponse (Prelude.Maybe [UpdateWirelessGatewayTaskEntry])
listWirelessGatewayTaskDefinitionsResponse_taskDefinitions :: (Maybe [UpdateWirelessGatewayTaskEntry]
 -> f (Maybe [UpdateWirelessGatewayTaskEntry]))
-> ListWirelessGatewayTaskDefinitionsResponse
-> f ListWirelessGatewayTaskDefinitionsResponse
listWirelessGatewayTaskDefinitionsResponse_taskDefinitions = (ListWirelessGatewayTaskDefinitionsResponse
 -> Maybe [UpdateWirelessGatewayTaskEntry])
-> (ListWirelessGatewayTaskDefinitionsResponse
    -> Maybe [UpdateWirelessGatewayTaskEntry]
    -> ListWirelessGatewayTaskDefinitionsResponse)
-> Lens
     ListWirelessGatewayTaskDefinitionsResponse
     ListWirelessGatewayTaskDefinitionsResponse
     (Maybe [UpdateWirelessGatewayTaskEntry])
     (Maybe [UpdateWirelessGatewayTaskEntry])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListWirelessGatewayTaskDefinitionsResponse' {Maybe [UpdateWirelessGatewayTaskEntry]
taskDefinitions :: Maybe [UpdateWirelessGatewayTaskEntry]
$sel:taskDefinitions:ListWirelessGatewayTaskDefinitionsResponse' :: ListWirelessGatewayTaskDefinitionsResponse
-> Maybe [UpdateWirelessGatewayTaskEntry]
taskDefinitions} -> Maybe [UpdateWirelessGatewayTaskEntry]
taskDefinitions) (\s :: ListWirelessGatewayTaskDefinitionsResponse
s@ListWirelessGatewayTaskDefinitionsResponse' {} Maybe [UpdateWirelessGatewayTaskEntry]
a -> ListWirelessGatewayTaskDefinitionsResponse
s {$sel:taskDefinitions:ListWirelessGatewayTaskDefinitionsResponse' :: Maybe [UpdateWirelessGatewayTaskEntry]
taskDefinitions = Maybe [UpdateWirelessGatewayTaskEntry]
a} :: ListWirelessGatewayTaskDefinitionsResponse) ((Maybe [UpdateWirelessGatewayTaskEntry]
  -> f (Maybe [UpdateWirelessGatewayTaskEntry]))
 -> ListWirelessGatewayTaskDefinitionsResponse
 -> f ListWirelessGatewayTaskDefinitionsResponse)
-> ((Maybe [UpdateWirelessGatewayTaskEntry]
     -> f (Maybe [UpdateWirelessGatewayTaskEntry]))
    -> Maybe [UpdateWirelessGatewayTaskEntry]
    -> f (Maybe [UpdateWirelessGatewayTaskEntry]))
-> (Maybe [UpdateWirelessGatewayTaskEntry]
    -> f (Maybe [UpdateWirelessGatewayTaskEntry]))
-> ListWirelessGatewayTaskDefinitionsResponse
-> f ListWirelessGatewayTaskDefinitionsResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [UpdateWirelessGatewayTaskEntry]
  [UpdateWirelessGatewayTaskEntry]
  [UpdateWirelessGatewayTaskEntry]
  [UpdateWirelessGatewayTaskEntry]
-> Iso
     (Maybe [UpdateWirelessGatewayTaskEntry])
     (Maybe [UpdateWirelessGatewayTaskEntry])
     (Maybe [UpdateWirelessGatewayTaskEntry])
     (Maybe [UpdateWirelessGatewayTaskEntry])
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 AnIso
  [UpdateWirelessGatewayTaskEntry]
  [UpdateWirelessGatewayTaskEntry]
  [UpdateWirelessGatewayTaskEntry]
  [UpdateWirelessGatewayTaskEntry]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The token to use to get the next set of results, or __null__ if there
-- are no additional results.
listWirelessGatewayTaskDefinitionsResponse_nextToken :: Lens.Lens' ListWirelessGatewayTaskDefinitionsResponse (Prelude.Maybe Prelude.Text)
listWirelessGatewayTaskDefinitionsResponse_nextToken :: (Maybe Text -> f (Maybe Text))
-> ListWirelessGatewayTaskDefinitionsResponse
-> f ListWirelessGatewayTaskDefinitionsResponse
listWirelessGatewayTaskDefinitionsResponse_nextToken = (ListWirelessGatewayTaskDefinitionsResponse -> Maybe Text)
-> (ListWirelessGatewayTaskDefinitionsResponse
    -> Maybe Text -> ListWirelessGatewayTaskDefinitionsResponse)
-> Lens
     ListWirelessGatewayTaskDefinitionsResponse
     ListWirelessGatewayTaskDefinitionsResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListWirelessGatewayTaskDefinitionsResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListWirelessGatewayTaskDefinitionsResponse' :: ListWirelessGatewayTaskDefinitionsResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListWirelessGatewayTaskDefinitionsResponse
s@ListWirelessGatewayTaskDefinitionsResponse' {} Maybe Text
a -> ListWirelessGatewayTaskDefinitionsResponse
s {$sel:nextToken:ListWirelessGatewayTaskDefinitionsResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListWirelessGatewayTaskDefinitionsResponse)

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

instance
  Prelude.NFData
    ListWirelessGatewayTaskDefinitionsResponse