{-# 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.GetWirelessGatewayTaskDefinition
-- 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)
--
-- Gets information about a wireless gateway task definition.
module Amazonka.IoTWireless.GetWirelessGatewayTaskDefinition
  ( -- * Creating a Request
    GetWirelessGatewayTaskDefinition (..),
    newGetWirelessGatewayTaskDefinition,

    -- * Request Lenses
    getWirelessGatewayTaskDefinition_id,

    -- * Destructuring the Response
    GetWirelessGatewayTaskDefinitionResponse (..),
    newGetWirelessGatewayTaskDefinitionResponse,

    -- * Response Lenses
    getWirelessGatewayTaskDefinitionResponse_arn,
    getWirelessGatewayTaskDefinitionResponse_name,
    getWirelessGatewayTaskDefinitionResponse_autoCreateTasks,
    getWirelessGatewayTaskDefinitionResponse_update,
    getWirelessGatewayTaskDefinitionResponse_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:/ 'newGetWirelessGatewayTaskDefinition' smart constructor.
data GetWirelessGatewayTaskDefinition = GetWirelessGatewayTaskDefinition'
  { -- | The ID of the resource to get.
    GetWirelessGatewayTaskDefinition -> Text
id :: Prelude.Text
  }
  deriving (GetWirelessGatewayTaskDefinition
-> GetWirelessGatewayTaskDefinition -> Bool
(GetWirelessGatewayTaskDefinition
 -> GetWirelessGatewayTaskDefinition -> Bool)
-> (GetWirelessGatewayTaskDefinition
    -> GetWirelessGatewayTaskDefinition -> Bool)
-> Eq GetWirelessGatewayTaskDefinition
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetWirelessGatewayTaskDefinition
-> GetWirelessGatewayTaskDefinition -> Bool
$c/= :: GetWirelessGatewayTaskDefinition
-> GetWirelessGatewayTaskDefinition -> Bool
== :: GetWirelessGatewayTaskDefinition
-> GetWirelessGatewayTaskDefinition -> Bool
$c== :: GetWirelessGatewayTaskDefinition
-> GetWirelessGatewayTaskDefinition -> Bool
Prelude.Eq, ReadPrec [GetWirelessGatewayTaskDefinition]
ReadPrec GetWirelessGatewayTaskDefinition
Int -> ReadS GetWirelessGatewayTaskDefinition
ReadS [GetWirelessGatewayTaskDefinition]
(Int -> ReadS GetWirelessGatewayTaskDefinition)
-> ReadS [GetWirelessGatewayTaskDefinition]
-> ReadPrec GetWirelessGatewayTaskDefinition
-> ReadPrec [GetWirelessGatewayTaskDefinition]
-> Read GetWirelessGatewayTaskDefinition
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetWirelessGatewayTaskDefinition]
$creadListPrec :: ReadPrec [GetWirelessGatewayTaskDefinition]
readPrec :: ReadPrec GetWirelessGatewayTaskDefinition
$creadPrec :: ReadPrec GetWirelessGatewayTaskDefinition
readList :: ReadS [GetWirelessGatewayTaskDefinition]
$creadList :: ReadS [GetWirelessGatewayTaskDefinition]
readsPrec :: Int -> ReadS GetWirelessGatewayTaskDefinition
$creadsPrec :: Int -> ReadS GetWirelessGatewayTaskDefinition
Prelude.Read, Int -> GetWirelessGatewayTaskDefinition -> ShowS
[GetWirelessGatewayTaskDefinition] -> ShowS
GetWirelessGatewayTaskDefinition -> String
(Int -> GetWirelessGatewayTaskDefinition -> ShowS)
-> (GetWirelessGatewayTaskDefinition -> String)
-> ([GetWirelessGatewayTaskDefinition] -> ShowS)
-> Show GetWirelessGatewayTaskDefinition
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetWirelessGatewayTaskDefinition] -> ShowS
$cshowList :: [GetWirelessGatewayTaskDefinition] -> ShowS
show :: GetWirelessGatewayTaskDefinition -> String
$cshow :: GetWirelessGatewayTaskDefinition -> String
showsPrec :: Int -> GetWirelessGatewayTaskDefinition -> ShowS
$cshowsPrec :: Int -> GetWirelessGatewayTaskDefinition -> ShowS
Prelude.Show, (forall x.
 GetWirelessGatewayTaskDefinition
 -> Rep GetWirelessGatewayTaskDefinition x)
-> (forall x.
    Rep GetWirelessGatewayTaskDefinition x
    -> GetWirelessGatewayTaskDefinition)
-> Generic GetWirelessGatewayTaskDefinition
forall x.
Rep GetWirelessGatewayTaskDefinition x
-> GetWirelessGatewayTaskDefinition
forall x.
GetWirelessGatewayTaskDefinition
-> Rep GetWirelessGatewayTaskDefinition x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetWirelessGatewayTaskDefinition x
-> GetWirelessGatewayTaskDefinition
$cfrom :: forall x.
GetWirelessGatewayTaskDefinition
-> Rep GetWirelessGatewayTaskDefinition x
Prelude.Generic)

-- |
-- Create a value of 'GetWirelessGatewayTaskDefinition' 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:
--
-- 'id', 'getWirelessGatewayTaskDefinition_id' - The ID of the resource to get.
newGetWirelessGatewayTaskDefinition ::
  -- | 'id'
  Prelude.Text ->
  GetWirelessGatewayTaskDefinition
newGetWirelessGatewayTaskDefinition :: Text -> GetWirelessGatewayTaskDefinition
newGetWirelessGatewayTaskDefinition Text
pId_ =
  GetWirelessGatewayTaskDefinition' :: Text -> GetWirelessGatewayTaskDefinition
GetWirelessGatewayTaskDefinition' {$sel:id:GetWirelessGatewayTaskDefinition' :: Text
id = Text
pId_}

-- | The ID of the resource to get.
getWirelessGatewayTaskDefinition_id :: Lens.Lens' GetWirelessGatewayTaskDefinition Prelude.Text
getWirelessGatewayTaskDefinition_id :: (Text -> f Text)
-> GetWirelessGatewayTaskDefinition
-> f GetWirelessGatewayTaskDefinition
getWirelessGatewayTaskDefinition_id = (GetWirelessGatewayTaskDefinition -> Text)
-> (GetWirelessGatewayTaskDefinition
    -> Text -> GetWirelessGatewayTaskDefinition)
-> Lens
     GetWirelessGatewayTaskDefinition
     GetWirelessGatewayTaskDefinition
     Text
     Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetWirelessGatewayTaskDefinition' {Text
id :: Text
$sel:id:GetWirelessGatewayTaskDefinition' :: GetWirelessGatewayTaskDefinition -> Text
id} -> Text
id) (\s :: GetWirelessGatewayTaskDefinition
s@GetWirelessGatewayTaskDefinition' {} Text
a -> GetWirelessGatewayTaskDefinition
s {$sel:id:GetWirelessGatewayTaskDefinition' :: Text
id = Text
a} :: GetWirelessGatewayTaskDefinition)

instance
  Core.AWSRequest
    GetWirelessGatewayTaskDefinition
  where
  type
    AWSResponse GetWirelessGatewayTaskDefinition =
      GetWirelessGatewayTaskDefinitionResponse
  request :: GetWirelessGatewayTaskDefinition
-> Request GetWirelessGatewayTaskDefinition
request = Service
-> GetWirelessGatewayTaskDefinition
-> Request GetWirelessGatewayTaskDefinition
forall a. ToRequest a => Service -> a -> Request a
Request.get Service
defaultService
  response :: Logger
-> Service
-> Proxy GetWirelessGatewayTaskDefinition
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse GetWirelessGatewayTaskDefinition)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse GetWirelessGatewayTaskDefinition))
-> Logger
-> Service
-> Proxy GetWirelessGatewayTaskDefinition
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse GetWirelessGatewayTaskDefinition)))
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 Text
-> Maybe Text
-> Maybe Bool
-> Maybe UpdateWirelessGatewayTaskCreate
-> Int
-> GetWirelessGatewayTaskDefinitionResponse
GetWirelessGatewayTaskDefinitionResponse'
            (Maybe Text
 -> Maybe Text
 -> Maybe Bool
 -> Maybe UpdateWirelessGatewayTaskCreate
 -> Int
 -> GetWirelessGatewayTaskDefinitionResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe Bool
      -> Maybe UpdateWirelessGatewayTaskCreate
      -> Int
      -> GetWirelessGatewayTaskDefinitionResponse)
forall (f :: * -> *) a b. Functor 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
"Arn")
            Either
  String
  (Maybe Text
   -> Maybe Bool
   -> Maybe UpdateWirelessGatewayTaskCreate
   -> Int
   -> GetWirelessGatewayTaskDefinitionResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Bool
      -> Maybe UpdateWirelessGatewayTaskCreate
      -> Int
      -> GetWirelessGatewayTaskDefinitionResponse)
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
"Name")
            Either
  String
  (Maybe Bool
   -> Maybe UpdateWirelessGatewayTaskCreate
   -> Int
   -> GetWirelessGatewayTaskDefinitionResponse)
-> Either String (Maybe Bool)
-> Either
     String
     (Maybe UpdateWirelessGatewayTaskCreate
      -> Int -> GetWirelessGatewayTaskDefinitionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"AutoCreateTasks")
            Either
  String
  (Maybe UpdateWirelessGatewayTaskCreate
   -> Int -> GetWirelessGatewayTaskDefinitionResponse)
-> Either String (Maybe UpdateWirelessGatewayTaskCreate)
-> Either String (Int -> GetWirelessGatewayTaskDefinitionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Either String (Maybe UpdateWirelessGatewayTaskCreate)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Update")
            Either String (Int -> GetWirelessGatewayTaskDefinitionResponse)
-> Either String Int
-> Either String GetWirelessGatewayTaskDefinitionResponse
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
    GetWirelessGatewayTaskDefinition

instance
  Prelude.NFData
    GetWirelessGatewayTaskDefinition

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

instance Core.ToPath GetWirelessGatewayTaskDefinition where
  toPath :: GetWirelessGatewayTaskDefinition -> ByteString
toPath GetWirelessGatewayTaskDefinition' {Text
id :: Text
$sel:id:GetWirelessGatewayTaskDefinition' :: GetWirelessGatewayTaskDefinition -> Text
..} =
    [ByteString] -> ByteString
forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ByteString
"/wireless-gateway-task-definitions/", Text -> ByteString
forall a. ToByteString a => a -> ByteString
Core.toBS Text
id]

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

-- | /See:/ 'newGetWirelessGatewayTaskDefinitionResponse' smart constructor.
data GetWirelessGatewayTaskDefinitionResponse = GetWirelessGatewayTaskDefinitionResponse'
  { -- | The Amazon Resource Name of the resource.
    GetWirelessGatewayTaskDefinitionResponse -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
    -- | The name of the resource.
    GetWirelessGatewayTaskDefinitionResponse -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    -- | Whether to automatically create tasks using this task definition for all
    -- gateways with the specified current version. If @false@, the task must
    -- me created by calling @CreateWirelessGatewayTask@.
    GetWirelessGatewayTaskDefinitionResponse -> Maybe Bool
autoCreateTasks :: Prelude.Maybe Prelude.Bool,
    -- | Information about the gateways to update.
    GetWirelessGatewayTaskDefinitionResponse
-> Maybe UpdateWirelessGatewayTaskCreate
update :: Prelude.Maybe UpdateWirelessGatewayTaskCreate,
    -- | The response's http status code.
    GetWirelessGatewayTaskDefinitionResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (GetWirelessGatewayTaskDefinitionResponse
-> GetWirelessGatewayTaskDefinitionResponse -> Bool
(GetWirelessGatewayTaskDefinitionResponse
 -> GetWirelessGatewayTaskDefinitionResponse -> Bool)
-> (GetWirelessGatewayTaskDefinitionResponse
    -> GetWirelessGatewayTaskDefinitionResponse -> Bool)
-> Eq GetWirelessGatewayTaskDefinitionResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetWirelessGatewayTaskDefinitionResponse
-> GetWirelessGatewayTaskDefinitionResponse -> Bool
$c/= :: GetWirelessGatewayTaskDefinitionResponse
-> GetWirelessGatewayTaskDefinitionResponse -> Bool
== :: GetWirelessGatewayTaskDefinitionResponse
-> GetWirelessGatewayTaskDefinitionResponse -> Bool
$c== :: GetWirelessGatewayTaskDefinitionResponse
-> GetWirelessGatewayTaskDefinitionResponse -> Bool
Prelude.Eq, ReadPrec [GetWirelessGatewayTaskDefinitionResponse]
ReadPrec GetWirelessGatewayTaskDefinitionResponse
Int -> ReadS GetWirelessGatewayTaskDefinitionResponse
ReadS [GetWirelessGatewayTaskDefinitionResponse]
(Int -> ReadS GetWirelessGatewayTaskDefinitionResponse)
-> ReadS [GetWirelessGatewayTaskDefinitionResponse]
-> ReadPrec GetWirelessGatewayTaskDefinitionResponse
-> ReadPrec [GetWirelessGatewayTaskDefinitionResponse]
-> Read GetWirelessGatewayTaskDefinitionResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetWirelessGatewayTaskDefinitionResponse]
$creadListPrec :: ReadPrec [GetWirelessGatewayTaskDefinitionResponse]
readPrec :: ReadPrec GetWirelessGatewayTaskDefinitionResponse
$creadPrec :: ReadPrec GetWirelessGatewayTaskDefinitionResponse
readList :: ReadS [GetWirelessGatewayTaskDefinitionResponse]
$creadList :: ReadS [GetWirelessGatewayTaskDefinitionResponse]
readsPrec :: Int -> ReadS GetWirelessGatewayTaskDefinitionResponse
$creadsPrec :: Int -> ReadS GetWirelessGatewayTaskDefinitionResponse
Prelude.Read, Int -> GetWirelessGatewayTaskDefinitionResponse -> ShowS
[GetWirelessGatewayTaskDefinitionResponse] -> ShowS
GetWirelessGatewayTaskDefinitionResponse -> String
(Int -> GetWirelessGatewayTaskDefinitionResponse -> ShowS)
-> (GetWirelessGatewayTaskDefinitionResponse -> String)
-> ([GetWirelessGatewayTaskDefinitionResponse] -> ShowS)
-> Show GetWirelessGatewayTaskDefinitionResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetWirelessGatewayTaskDefinitionResponse] -> ShowS
$cshowList :: [GetWirelessGatewayTaskDefinitionResponse] -> ShowS
show :: GetWirelessGatewayTaskDefinitionResponse -> String
$cshow :: GetWirelessGatewayTaskDefinitionResponse -> String
showsPrec :: Int -> GetWirelessGatewayTaskDefinitionResponse -> ShowS
$cshowsPrec :: Int -> GetWirelessGatewayTaskDefinitionResponse -> ShowS
Prelude.Show, (forall x.
 GetWirelessGatewayTaskDefinitionResponse
 -> Rep GetWirelessGatewayTaskDefinitionResponse x)
-> (forall x.
    Rep GetWirelessGatewayTaskDefinitionResponse x
    -> GetWirelessGatewayTaskDefinitionResponse)
-> Generic GetWirelessGatewayTaskDefinitionResponse
forall x.
Rep GetWirelessGatewayTaskDefinitionResponse x
-> GetWirelessGatewayTaskDefinitionResponse
forall x.
GetWirelessGatewayTaskDefinitionResponse
-> Rep GetWirelessGatewayTaskDefinitionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetWirelessGatewayTaskDefinitionResponse x
-> GetWirelessGatewayTaskDefinitionResponse
$cfrom :: forall x.
GetWirelessGatewayTaskDefinitionResponse
-> Rep GetWirelessGatewayTaskDefinitionResponse x
Prelude.Generic)

-- |
-- Create a value of 'GetWirelessGatewayTaskDefinitionResponse' 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:
--
-- 'arn', 'getWirelessGatewayTaskDefinitionResponse_arn' - The Amazon Resource Name of the resource.
--
-- 'name', 'getWirelessGatewayTaskDefinitionResponse_name' - The name of the resource.
--
-- 'autoCreateTasks', 'getWirelessGatewayTaskDefinitionResponse_autoCreateTasks' - Whether to automatically create tasks using this task definition for all
-- gateways with the specified current version. If @false@, the task must
-- me created by calling @CreateWirelessGatewayTask@.
--
-- 'update', 'getWirelessGatewayTaskDefinitionResponse_update' - Information about the gateways to update.
--
-- 'httpStatus', 'getWirelessGatewayTaskDefinitionResponse_httpStatus' - The response's http status code.
newGetWirelessGatewayTaskDefinitionResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  GetWirelessGatewayTaskDefinitionResponse
newGetWirelessGatewayTaskDefinitionResponse :: Int -> GetWirelessGatewayTaskDefinitionResponse
newGetWirelessGatewayTaskDefinitionResponse
  Int
pHttpStatus_ =
    GetWirelessGatewayTaskDefinitionResponse' :: Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe UpdateWirelessGatewayTaskCreate
-> Int
-> GetWirelessGatewayTaskDefinitionResponse
GetWirelessGatewayTaskDefinitionResponse'
      { $sel:arn:GetWirelessGatewayTaskDefinitionResponse' :: Maybe Text
arn =
          Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:name:GetWirelessGatewayTaskDefinitionResponse' :: Maybe Text
name = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:autoCreateTasks:GetWirelessGatewayTaskDefinitionResponse' :: Maybe Bool
autoCreateTasks = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
        $sel:update:GetWirelessGatewayTaskDefinitionResponse' :: Maybe UpdateWirelessGatewayTaskCreate
update = Maybe UpdateWirelessGatewayTaskCreate
forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:GetWirelessGatewayTaskDefinitionResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | The Amazon Resource Name of the resource.
getWirelessGatewayTaskDefinitionResponse_arn :: Lens.Lens' GetWirelessGatewayTaskDefinitionResponse (Prelude.Maybe Prelude.Text)
getWirelessGatewayTaskDefinitionResponse_arn :: (Maybe Text -> f (Maybe Text))
-> GetWirelessGatewayTaskDefinitionResponse
-> f GetWirelessGatewayTaskDefinitionResponse
getWirelessGatewayTaskDefinitionResponse_arn = (GetWirelessGatewayTaskDefinitionResponse -> Maybe Text)
-> (GetWirelessGatewayTaskDefinitionResponse
    -> Maybe Text -> GetWirelessGatewayTaskDefinitionResponse)
-> Lens
     GetWirelessGatewayTaskDefinitionResponse
     GetWirelessGatewayTaskDefinitionResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetWirelessGatewayTaskDefinitionResponse' {Maybe Text
arn :: Maybe Text
$sel:arn:GetWirelessGatewayTaskDefinitionResponse' :: GetWirelessGatewayTaskDefinitionResponse -> Maybe Text
arn} -> Maybe Text
arn) (\s :: GetWirelessGatewayTaskDefinitionResponse
s@GetWirelessGatewayTaskDefinitionResponse' {} Maybe Text
a -> GetWirelessGatewayTaskDefinitionResponse
s {$sel:arn:GetWirelessGatewayTaskDefinitionResponse' :: Maybe Text
arn = Maybe Text
a} :: GetWirelessGatewayTaskDefinitionResponse)

-- | The name of the resource.
getWirelessGatewayTaskDefinitionResponse_name :: Lens.Lens' GetWirelessGatewayTaskDefinitionResponse (Prelude.Maybe Prelude.Text)
getWirelessGatewayTaskDefinitionResponse_name :: (Maybe Text -> f (Maybe Text))
-> GetWirelessGatewayTaskDefinitionResponse
-> f GetWirelessGatewayTaskDefinitionResponse
getWirelessGatewayTaskDefinitionResponse_name = (GetWirelessGatewayTaskDefinitionResponse -> Maybe Text)
-> (GetWirelessGatewayTaskDefinitionResponse
    -> Maybe Text -> GetWirelessGatewayTaskDefinitionResponse)
-> Lens
     GetWirelessGatewayTaskDefinitionResponse
     GetWirelessGatewayTaskDefinitionResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetWirelessGatewayTaskDefinitionResponse' {Maybe Text
name :: Maybe Text
$sel:name:GetWirelessGatewayTaskDefinitionResponse' :: GetWirelessGatewayTaskDefinitionResponse -> Maybe Text
name} -> Maybe Text
name) (\s :: GetWirelessGatewayTaskDefinitionResponse
s@GetWirelessGatewayTaskDefinitionResponse' {} Maybe Text
a -> GetWirelessGatewayTaskDefinitionResponse
s {$sel:name:GetWirelessGatewayTaskDefinitionResponse' :: Maybe Text
name = Maybe Text
a} :: GetWirelessGatewayTaskDefinitionResponse)

-- | Whether to automatically create tasks using this task definition for all
-- gateways with the specified current version. If @false@, the task must
-- me created by calling @CreateWirelessGatewayTask@.
getWirelessGatewayTaskDefinitionResponse_autoCreateTasks :: Lens.Lens' GetWirelessGatewayTaskDefinitionResponse (Prelude.Maybe Prelude.Bool)
getWirelessGatewayTaskDefinitionResponse_autoCreateTasks :: (Maybe Bool -> f (Maybe Bool))
-> GetWirelessGatewayTaskDefinitionResponse
-> f GetWirelessGatewayTaskDefinitionResponse
getWirelessGatewayTaskDefinitionResponse_autoCreateTasks = (GetWirelessGatewayTaskDefinitionResponse -> Maybe Bool)
-> (GetWirelessGatewayTaskDefinitionResponse
    -> Maybe Bool -> GetWirelessGatewayTaskDefinitionResponse)
-> Lens
     GetWirelessGatewayTaskDefinitionResponse
     GetWirelessGatewayTaskDefinitionResponse
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetWirelessGatewayTaskDefinitionResponse' {Maybe Bool
autoCreateTasks :: Maybe Bool
$sel:autoCreateTasks:GetWirelessGatewayTaskDefinitionResponse' :: GetWirelessGatewayTaskDefinitionResponse -> Maybe Bool
autoCreateTasks} -> Maybe Bool
autoCreateTasks) (\s :: GetWirelessGatewayTaskDefinitionResponse
s@GetWirelessGatewayTaskDefinitionResponse' {} Maybe Bool
a -> GetWirelessGatewayTaskDefinitionResponse
s {$sel:autoCreateTasks:GetWirelessGatewayTaskDefinitionResponse' :: Maybe Bool
autoCreateTasks = Maybe Bool
a} :: GetWirelessGatewayTaskDefinitionResponse)

-- | Information about the gateways to update.
getWirelessGatewayTaskDefinitionResponse_update :: Lens.Lens' GetWirelessGatewayTaskDefinitionResponse (Prelude.Maybe UpdateWirelessGatewayTaskCreate)
getWirelessGatewayTaskDefinitionResponse_update :: (Maybe UpdateWirelessGatewayTaskCreate
 -> f (Maybe UpdateWirelessGatewayTaskCreate))
-> GetWirelessGatewayTaskDefinitionResponse
-> f GetWirelessGatewayTaskDefinitionResponse
getWirelessGatewayTaskDefinitionResponse_update = (GetWirelessGatewayTaskDefinitionResponse
 -> Maybe UpdateWirelessGatewayTaskCreate)
-> (GetWirelessGatewayTaskDefinitionResponse
    -> Maybe UpdateWirelessGatewayTaskCreate
    -> GetWirelessGatewayTaskDefinitionResponse)
-> Lens
     GetWirelessGatewayTaskDefinitionResponse
     GetWirelessGatewayTaskDefinitionResponse
     (Maybe UpdateWirelessGatewayTaskCreate)
     (Maybe UpdateWirelessGatewayTaskCreate)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetWirelessGatewayTaskDefinitionResponse' {Maybe UpdateWirelessGatewayTaskCreate
update :: Maybe UpdateWirelessGatewayTaskCreate
$sel:update:GetWirelessGatewayTaskDefinitionResponse' :: GetWirelessGatewayTaskDefinitionResponse
-> Maybe UpdateWirelessGatewayTaskCreate
update} -> Maybe UpdateWirelessGatewayTaskCreate
update) (\s :: GetWirelessGatewayTaskDefinitionResponse
s@GetWirelessGatewayTaskDefinitionResponse' {} Maybe UpdateWirelessGatewayTaskCreate
a -> GetWirelessGatewayTaskDefinitionResponse
s {$sel:update:GetWirelessGatewayTaskDefinitionResponse' :: Maybe UpdateWirelessGatewayTaskCreate
update = Maybe UpdateWirelessGatewayTaskCreate
a} :: GetWirelessGatewayTaskDefinitionResponse)

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

instance
  Prelude.NFData
    GetWirelessGatewayTaskDefinitionResponse