{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# 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.Types.LoRaWANGetServiceProfileInfo
-- 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)
module Amazonka.IoTWireless.Types.LoRaWANGetServiceProfileInfo where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude

-- | LoRaWANGetServiceProfileInfo object.
--
-- /See:/ 'newLoRaWANGetServiceProfileInfo' smart constructor.
data LoRaWANGetServiceProfileInfo = LoRaWANGetServiceProfileInfo'
  { -- | The AddGWMetaData value.
    LoRaWANGetServiceProfileInfo -> Maybe Bool
addGwMetadata :: Prelude.Maybe Prelude.Bool,
    -- | The PRAllowed value that describes whether passive roaming is allowed.
    LoRaWANGetServiceProfileInfo -> Maybe Bool
prAllowed :: Prelude.Maybe Prelude.Bool,
    -- | The DRMax value.
    LoRaWANGetServiceProfileInfo -> Maybe Natural
drMax :: Prelude.Maybe Prelude.Natural,
    -- | The DLRate value.
    LoRaWANGetServiceProfileInfo -> Maybe Natural
dlRate :: Prelude.Maybe Prelude.Natural,
    -- | The DevStatusReqFreq value.
    LoRaWANGetServiceProfileInfo -> Maybe Natural
devStatusReqFreq :: Prelude.Maybe Prelude.Natural,
    -- | The ReportDevStatusBattery value.
    LoRaWANGetServiceProfileInfo -> Maybe Bool
reportDevStatusBattery :: Prelude.Maybe Prelude.Bool,
    -- | The DLBucketSize value.
    LoRaWANGetServiceProfileInfo -> Maybe Natural
dlBucketSize :: Prelude.Maybe Prelude.Natural,
    -- | The ULRatePolicy value.
    LoRaWANGetServiceProfileInfo -> Maybe Text
ulRatePolicy :: Prelude.Maybe Prelude.Text,
    -- | The TargetPER value.
    LoRaWANGetServiceProfileInfo -> Maybe Natural
targetPer :: Prelude.Maybe Prelude.Natural,
    -- | The DRMin value.
    LoRaWANGetServiceProfileInfo -> Maybe Natural
drMin :: Prelude.Maybe Prelude.Natural,
    -- | The NwkGeoLoc value.
    LoRaWANGetServiceProfileInfo -> Maybe Bool
nwkGeoLoc :: Prelude.Maybe Prelude.Bool,
    -- | The ChannelMask value.
    LoRaWANGetServiceProfileInfo -> Maybe Text
channelMask :: Prelude.Maybe Prelude.Text,
    -- | The DLRatePolicy value.
    LoRaWANGetServiceProfileInfo -> Maybe Text
dlRatePolicy :: Prelude.Maybe Prelude.Text,
    -- | The HRAllowed value that describes whether handover roaming is allowed.
    LoRaWANGetServiceProfileInfo -> Maybe Bool
hrAllowed :: Prelude.Maybe Prelude.Bool,
    -- | The ULBucketSize value.
    LoRaWANGetServiceProfileInfo -> Maybe Natural
ulBucketSize :: Prelude.Maybe Prelude.Natural,
    -- | The ULRate value.
    LoRaWANGetServiceProfileInfo -> Maybe Natural
ulRate :: Prelude.Maybe Prelude.Natural,
    -- | The ReportDevStatusMargin value.
    LoRaWANGetServiceProfileInfo -> Maybe Bool
reportDevStatusMargin :: Prelude.Maybe Prelude.Bool,
    -- | The RAAllowed value that describes whether roaming activation is
    -- allowed.
    LoRaWANGetServiceProfileInfo -> Maybe Bool
raAllowed :: Prelude.Maybe Prelude.Bool,
    -- | The MinGwDiversity value.
    LoRaWANGetServiceProfileInfo -> Maybe Natural
minGwDiversity :: Prelude.Maybe Prelude.Natural
  }
  deriving (LoRaWANGetServiceProfileInfo
-> LoRaWANGetServiceProfileInfo -> Bool
(LoRaWANGetServiceProfileInfo
 -> LoRaWANGetServiceProfileInfo -> Bool)
-> (LoRaWANGetServiceProfileInfo
    -> LoRaWANGetServiceProfileInfo -> Bool)
-> Eq LoRaWANGetServiceProfileInfo
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: LoRaWANGetServiceProfileInfo
-> LoRaWANGetServiceProfileInfo -> Bool
$c/= :: LoRaWANGetServiceProfileInfo
-> LoRaWANGetServiceProfileInfo -> Bool
== :: LoRaWANGetServiceProfileInfo
-> LoRaWANGetServiceProfileInfo -> Bool
$c== :: LoRaWANGetServiceProfileInfo
-> LoRaWANGetServiceProfileInfo -> Bool
Prelude.Eq, ReadPrec [LoRaWANGetServiceProfileInfo]
ReadPrec LoRaWANGetServiceProfileInfo
Int -> ReadS LoRaWANGetServiceProfileInfo
ReadS [LoRaWANGetServiceProfileInfo]
(Int -> ReadS LoRaWANGetServiceProfileInfo)
-> ReadS [LoRaWANGetServiceProfileInfo]
-> ReadPrec LoRaWANGetServiceProfileInfo
-> ReadPrec [LoRaWANGetServiceProfileInfo]
-> Read LoRaWANGetServiceProfileInfo
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [LoRaWANGetServiceProfileInfo]
$creadListPrec :: ReadPrec [LoRaWANGetServiceProfileInfo]
readPrec :: ReadPrec LoRaWANGetServiceProfileInfo
$creadPrec :: ReadPrec LoRaWANGetServiceProfileInfo
readList :: ReadS [LoRaWANGetServiceProfileInfo]
$creadList :: ReadS [LoRaWANGetServiceProfileInfo]
readsPrec :: Int -> ReadS LoRaWANGetServiceProfileInfo
$creadsPrec :: Int -> ReadS LoRaWANGetServiceProfileInfo
Prelude.Read, Int -> LoRaWANGetServiceProfileInfo -> ShowS
[LoRaWANGetServiceProfileInfo] -> ShowS
LoRaWANGetServiceProfileInfo -> String
(Int -> LoRaWANGetServiceProfileInfo -> ShowS)
-> (LoRaWANGetServiceProfileInfo -> String)
-> ([LoRaWANGetServiceProfileInfo] -> ShowS)
-> Show LoRaWANGetServiceProfileInfo
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [LoRaWANGetServiceProfileInfo] -> ShowS
$cshowList :: [LoRaWANGetServiceProfileInfo] -> ShowS
show :: LoRaWANGetServiceProfileInfo -> String
$cshow :: LoRaWANGetServiceProfileInfo -> String
showsPrec :: Int -> LoRaWANGetServiceProfileInfo -> ShowS
$cshowsPrec :: Int -> LoRaWANGetServiceProfileInfo -> ShowS
Prelude.Show, (forall x.
 LoRaWANGetServiceProfileInfo -> Rep LoRaWANGetServiceProfileInfo x)
-> (forall x.
    Rep LoRaWANGetServiceProfileInfo x -> LoRaWANGetServiceProfileInfo)
-> Generic LoRaWANGetServiceProfileInfo
forall x.
Rep LoRaWANGetServiceProfileInfo x -> LoRaWANGetServiceProfileInfo
forall x.
LoRaWANGetServiceProfileInfo -> Rep LoRaWANGetServiceProfileInfo x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep LoRaWANGetServiceProfileInfo x -> LoRaWANGetServiceProfileInfo
$cfrom :: forall x.
LoRaWANGetServiceProfileInfo -> Rep LoRaWANGetServiceProfileInfo x
Prelude.Generic)

-- |
-- Create a value of 'LoRaWANGetServiceProfileInfo' 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:
--
-- 'addGwMetadata', 'loRaWANGetServiceProfileInfo_addGwMetadata' - The AddGWMetaData value.
--
-- 'prAllowed', 'loRaWANGetServiceProfileInfo_prAllowed' - The PRAllowed value that describes whether passive roaming is allowed.
--
-- 'drMax', 'loRaWANGetServiceProfileInfo_drMax' - The DRMax value.
--
-- 'dlRate', 'loRaWANGetServiceProfileInfo_dlRate' - The DLRate value.
--
-- 'devStatusReqFreq', 'loRaWANGetServiceProfileInfo_devStatusReqFreq' - The DevStatusReqFreq value.
--
-- 'reportDevStatusBattery', 'loRaWANGetServiceProfileInfo_reportDevStatusBattery' - The ReportDevStatusBattery value.
--
-- 'dlBucketSize', 'loRaWANGetServiceProfileInfo_dlBucketSize' - The DLBucketSize value.
--
-- 'ulRatePolicy', 'loRaWANGetServiceProfileInfo_ulRatePolicy' - The ULRatePolicy value.
--
-- 'targetPer', 'loRaWANGetServiceProfileInfo_targetPer' - The TargetPER value.
--
-- 'drMin', 'loRaWANGetServiceProfileInfo_drMin' - The DRMin value.
--
-- 'nwkGeoLoc', 'loRaWANGetServiceProfileInfo_nwkGeoLoc' - The NwkGeoLoc value.
--
-- 'channelMask', 'loRaWANGetServiceProfileInfo_channelMask' - The ChannelMask value.
--
-- 'dlRatePolicy', 'loRaWANGetServiceProfileInfo_dlRatePolicy' - The DLRatePolicy value.
--
-- 'hrAllowed', 'loRaWANGetServiceProfileInfo_hrAllowed' - The HRAllowed value that describes whether handover roaming is allowed.
--
-- 'ulBucketSize', 'loRaWANGetServiceProfileInfo_ulBucketSize' - The ULBucketSize value.
--
-- 'ulRate', 'loRaWANGetServiceProfileInfo_ulRate' - The ULRate value.
--
-- 'reportDevStatusMargin', 'loRaWANGetServiceProfileInfo_reportDevStatusMargin' - The ReportDevStatusMargin value.
--
-- 'raAllowed', 'loRaWANGetServiceProfileInfo_raAllowed' - The RAAllowed value that describes whether roaming activation is
-- allowed.
--
-- 'minGwDiversity', 'loRaWANGetServiceProfileInfo_minGwDiversity' - The MinGwDiversity value.
newLoRaWANGetServiceProfileInfo ::
  LoRaWANGetServiceProfileInfo
newLoRaWANGetServiceProfileInfo :: LoRaWANGetServiceProfileInfo
newLoRaWANGetServiceProfileInfo =
  LoRaWANGetServiceProfileInfo' :: Maybe Bool
-> Maybe Bool
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Bool
-> Maybe Natural
-> Maybe Text
-> Maybe Natural
-> Maybe Natural
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe Natural
-> Maybe Natural
-> Maybe Bool
-> Maybe Bool
-> Maybe Natural
-> LoRaWANGetServiceProfileInfo
LoRaWANGetServiceProfileInfo'
    { $sel:addGwMetadata:LoRaWANGetServiceProfileInfo' :: Maybe Bool
addGwMetadata =
        Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:prAllowed:LoRaWANGetServiceProfileInfo' :: Maybe Bool
prAllowed = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:drMax:LoRaWANGetServiceProfileInfo' :: Maybe Natural
drMax = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
      $sel:dlRate:LoRaWANGetServiceProfileInfo' :: Maybe Natural
dlRate = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
      $sel:devStatusReqFreq:LoRaWANGetServiceProfileInfo' :: Maybe Natural
devStatusReqFreq = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
      $sel:reportDevStatusBattery:LoRaWANGetServiceProfileInfo' :: Maybe Bool
reportDevStatusBattery = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:dlBucketSize:LoRaWANGetServiceProfileInfo' :: Maybe Natural
dlBucketSize = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
      $sel:ulRatePolicy:LoRaWANGetServiceProfileInfo' :: Maybe Text
ulRatePolicy = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:targetPer:LoRaWANGetServiceProfileInfo' :: Maybe Natural
targetPer = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
      $sel:drMin:LoRaWANGetServiceProfileInfo' :: Maybe Natural
drMin = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
      $sel:nwkGeoLoc:LoRaWANGetServiceProfileInfo' :: Maybe Bool
nwkGeoLoc = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:channelMask:LoRaWANGetServiceProfileInfo' :: Maybe Text
channelMask = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:dlRatePolicy:LoRaWANGetServiceProfileInfo' :: Maybe Text
dlRatePolicy = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:hrAllowed:LoRaWANGetServiceProfileInfo' :: Maybe Bool
hrAllowed = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:ulBucketSize:LoRaWANGetServiceProfileInfo' :: Maybe Natural
ulBucketSize = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
      $sel:ulRate:LoRaWANGetServiceProfileInfo' :: Maybe Natural
ulRate = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
      $sel:reportDevStatusMargin:LoRaWANGetServiceProfileInfo' :: Maybe Bool
reportDevStatusMargin = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:raAllowed:LoRaWANGetServiceProfileInfo' :: Maybe Bool
raAllowed = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:minGwDiversity:LoRaWANGetServiceProfileInfo' :: Maybe Natural
minGwDiversity = Maybe Natural
forall a. Maybe a
Prelude.Nothing
    }

-- | The AddGWMetaData value.
loRaWANGetServiceProfileInfo_addGwMetadata :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Bool)
loRaWANGetServiceProfileInfo_addGwMetadata :: (Maybe Bool -> f (Maybe Bool))
-> LoRaWANGetServiceProfileInfo -> f LoRaWANGetServiceProfileInfo
loRaWANGetServiceProfileInfo_addGwMetadata = (LoRaWANGetServiceProfileInfo -> Maybe Bool)
-> (LoRaWANGetServiceProfileInfo
    -> Maybe Bool -> LoRaWANGetServiceProfileInfo)
-> Lens
     LoRaWANGetServiceProfileInfo
     LoRaWANGetServiceProfileInfo
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoRaWANGetServiceProfileInfo' {Maybe Bool
addGwMetadata :: Maybe Bool
$sel:addGwMetadata:LoRaWANGetServiceProfileInfo' :: LoRaWANGetServiceProfileInfo -> Maybe Bool
addGwMetadata} -> Maybe Bool
addGwMetadata) (\s :: LoRaWANGetServiceProfileInfo
s@LoRaWANGetServiceProfileInfo' {} Maybe Bool
a -> LoRaWANGetServiceProfileInfo
s {$sel:addGwMetadata:LoRaWANGetServiceProfileInfo' :: Maybe Bool
addGwMetadata = Maybe Bool
a} :: LoRaWANGetServiceProfileInfo)

-- | The PRAllowed value that describes whether passive roaming is allowed.
loRaWANGetServiceProfileInfo_prAllowed :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Bool)
loRaWANGetServiceProfileInfo_prAllowed :: (Maybe Bool -> f (Maybe Bool))
-> LoRaWANGetServiceProfileInfo -> f LoRaWANGetServiceProfileInfo
loRaWANGetServiceProfileInfo_prAllowed = (LoRaWANGetServiceProfileInfo -> Maybe Bool)
-> (LoRaWANGetServiceProfileInfo
    -> Maybe Bool -> LoRaWANGetServiceProfileInfo)
-> Lens
     LoRaWANGetServiceProfileInfo
     LoRaWANGetServiceProfileInfo
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoRaWANGetServiceProfileInfo' {Maybe Bool
prAllowed :: Maybe Bool
$sel:prAllowed:LoRaWANGetServiceProfileInfo' :: LoRaWANGetServiceProfileInfo -> Maybe Bool
prAllowed} -> Maybe Bool
prAllowed) (\s :: LoRaWANGetServiceProfileInfo
s@LoRaWANGetServiceProfileInfo' {} Maybe Bool
a -> LoRaWANGetServiceProfileInfo
s {$sel:prAllowed:LoRaWANGetServiceProfileInfo' :: Maybe Bool
prAllowed = Maybe Bool
a} :: LoRaWANGetServiceProfileInfo)

-- | The DRMax value.
loRaWANGetServiceProfileInfo_drMax :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Natural)
loRaWANGetServiceProfileInfo_drMax :: (Maybe Natural -> f (Maybe Natural))
-> LoRaWANGetServiceProfileInfo -> f LoRaWANGetServiceProfileInfo
loRaWANGetServiceProfileInfo_drMax = (LoRaWANGetServiceProfileInfo -> Maybe Natural)
-> (LoRaWANGetServiceProfileInfo
    -> Maybe Natural -> LoRaWANGetServiceProfileInfo)
-> Lens
     LoRaWANGetServiceProfileInfo
     LoRaWANGetServiceProfileInfo
     (Maybe Natural)
     (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoRaWANGetServiceProfileInfo' {Maybe Natural
drMax :: Maybe Natural
$sel:drMax:LoRaWANGetServiceProfileInfo' :: LoRaWANGetServiceProfileInfo -> Maybe Natural
drMax} -> Maybe Natural
drMax) (\s :: LoRaWANGetServiceProfileInfo
s@LoRaWANGetServiceProfileInfo' {} Maybe Natural
a -> LoRaWANGetServiceProfileInfo
s {$sel:drMax:LoRaWANGetServiceProfileInfo' :: Maybe Natural
drMax = Maybe Natural
a} :: LoRaWANGetServiceProfileInfo)

-- | The DLRate value.
loRaWANGetServiceProfileInfo_dlRate :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Natural)
loRaWANGetServiceProfileInfo_dlRate :: (Maybe Natural -> f (Maybe Natural))
-> LoRaWANGetServiceProfileInfo -> f LoRaWANGetServiceProfileInfo
loRaWANGetServiceProfileInfo_dlRate = (LoRaWANGetServiceProfileInfo -> Maybe Natural)
-> (LoRaWANGetServiceProfileInfo
    -> Maybe Natural -> LoRaWANGetServiceProfileInfo)
-> Lens
     LoRaWANGetServiceProfileInfo
     LoRaWANGetServiceProfileInfo
     (Maybe Natural)
     (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoRaWANGetServiceProfileInfo' {Maybe Natural
dlRate :: Maybe Natural
$sel:dlRate:LoRaWANGetServiceProfileInfo' :: LoRaWANGetServiceProfileInfo -> Maybe Natural
dlRate} -> Maybe Natural
dlRate) (\s :: LoRaWANGetServiceProfileInfo
s@LoRaWANGetServiceProfileInfo' {} Maybe Natural
a -> LoRaWANGetServiceProfileInfo
s {$sel:dlRate:LoRaWANGetServiceProfileInfo' :: Maybe Natural
dlRate = Maybe Natural
a} :: LoRaWANGetServiceProfileInfo)

-- | The DevStatusReqFreq value.
loRaWANGetServiceProfileInfo_devStatusReqFreq :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Natural)
loRaWANGetServiceProfileInfo_devStatusReqFreq :: (Maybe Natural -> f (Maybe Natural))
-> LoRaWANGetServiceProfileInfo -> f LoRaWANGetServiceProfileInfo
loRaWANGetServiceProfileInfo_devStatusReqFreq = (LoRaWANGetServiceProfileInfo -> Maybe Natural)
-> (LoRaWANGetServiceProfileInfo
    -> Maybe Natural -> LoRaWANGetServiceProfileInfo)
-> Lens
     LoRaWANGetServiceProfileInfo
     LoRaWANGetServiceProfileInfo
     (Maybe Natural)
     (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoRaWANGetServiceProfileInfo' {Maybe Natural
devStatusReqFreq :: Maybe Natural
$sel:devStatusReqFreq:LoRaWANGetServiceProfileInfo' :: LoRaWANGetServiceProfileInfo -> Maybe Natural
devStatusReqFreq} -> Maybe Natural
devStatusReqFreq) (\s :: LoRaWANGetServiceProfileInfo
s@LoRaWANGetServiceProfileInfo' {} Maybe Natural
a -> LoRaWANGetServiceProfileInfo
s {$sel:devStatusReqFreq:LoRaWANGetServiceProfileInfo' :: Maybe Natural
devStatusReqFreq = Maybe Natural
a} :: LoRaWANGetServiceProfileInfo)

-- | The ReportDevStatusBattery value.
loRaWANGetServiceProfileInfo_reportDevStatusBattery :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Bool)
loRaWANGetServiceProfileInfo_reportDevStatusBattery :: (Maybe Bool -> f (Maybe Bool))
-> LoRaWANGetServiceProfileInfo -> f LoRaWANGetServiceProfileInfo
loRaWANGetServiceProfileInfo_reportDevStatusBattery = (LoRaWANGetServiceProfileInfo -> Maybe Bool)
-> (LoRaWANGetServiceProfileInfo
    -> Maybe Bool -> LoRaWANGetServiceProfileInfo)
-> Lens
     LoRaWANGetServiceProfileInfo
     LoRaWANGetServiceProfileInfo
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoRaWANGetServiceProfileInfo' {Maybe Bool
reportDevStatusBattery :: Maybe Bool
$sel:reportDevStatusBattery:LoRaWANGetServiceProfileInfo' :: LoRaWANGetServiceProfileInfo -> Maybe Bool
reportDevStatusBattery} -> Maybe Bool
reportDevStatusBattery) (\s :: LoRaWANGetServiceProfileInfo
s@LoRaWANGetServiceProfileInfo' {} Maybe Bool
a -> LoRaWANGetServiceProfileInfo
s {$sel:reportDevStatusBattery:LoRaWANGetServiceProfileInfo' :: Maybe Bool
reportDevStatusBattery = Maybe Bool
a} :: LoRaWANGetServiceProfileInfo)

-- | The DLBucketSize value.
loRaWANGetServiceProfileInfo_dlBucketSize :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Natural)
loRaWANGetServiceProfileInfo_dlBucketSize :: (Maybe Natural -> f (Maybe Natural))
-> LoRaWANGetServiceProfileInfo -> f LoRaWANGetServiceProfileInfo
loRaWANGetServiceProfileInfo_dlBucketSize = (LoRaWANGetServiceProfileInfo -> Maybe Natural)
-> (LoRaWANGetServiceProfileInfo
    -> Maybe Natural -> LoRaWANGetServiceProfileInfo)
-> Lens
     LoRaWANGetServiceProfileInfo
     LoRaWANGetServiceProfileInfo
     (Maybe Natural)
     (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoRaWANGetServiceProfileInfo' {Maybe Natural
dlBucketSize :: Maybe Natural
$sel:dlBucketSize:LoRaWANGetServiceProfileInfo' :: LoRaWANGetServiceProfileInfo -> Maybe Natural
dlBucketSize} -> Maybe Natural
dlBucketSize) (\s :: LoRaWANGetServiceProfileInfo
s@LoRaWANGetServiceProfileInfo' {} Maybe Natural
a -> LoRaWANGetServiceProfileInfo
s {$sel:dlBucketSize:LoRaWANGetServiceProfileInfo' :: Maybe Natural
dlBucketSize = Maybe Natural
a} :: LoRaWANGetServiceProfileInfo)

-- | The ULRatePolicy value.
loRaWANGetServiceProfileInfo_ulRatePolicy :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Text)
loRaWANGetServiceProfileInfo_ulRatePolicy :: (Maybe Text -> f (Maybe Text))
-> LoRaWANGetServiceProfileInfo -> f LoRaWANGetServiceProfileInfo
loRaWANGetServiceProfileInfo_ulRatePolicy = (LoRaWANGetServiceProfileInfo -> Maybe Text)
-> (LoRaWANGetServiceProfileInfo
    -> Maybe Text -> LoRaWANGetServiceProfileInfo)
-> Lens
     LoRaWANGetServiceProfileInfo
     LoRaWANGetServiceProfileInfo
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoRaWANGetServiceProfileInfo' {Maybe Text
ulRatePolicy :: Maybe Text
$sel:ulRatePolicy:LoRaWANGetServiceProfileInfo' :: LoRaWANGetServiceProfileInfo -> Maybe Text
ulRatePolicy} -> Maybe Text
ulRatePolicy) (\s :: LoRaWANGetServiceProfileInfo
s@LoRaWANGetServiceProfileInfo' {} Maybe Text
a -> LoRaWANGetServiceProfileInfo
s {$sel:ulRatePolicy:LoRaWANGetServiceProfileInfo' :: Maybe Text
ulRatePolicy = Maybe Text
a} :: LoRaWANGetServiceProfileInfo)

-- | The TargetPER value.
loRaWANGetServiceProfileInfo_targetPer :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Natural)
loRaWANGetServiceProfileInfo_targetPer :: (Maybe Natural -> f (Maybe Natural))
-> LoRaWANGetServiceProfileInfo -> f LoRaWANGetServiceProfileInfo
loRaWANGetServiceProfileInfo_targetPer = (LoRaWANGetServiceProfileInfo -> Maybe Natural)
-> (LoRaWANGetServiceProfileInfo
    -> Maybe Natural -> LoRaWANGetServiceProfileInfo)
-> Lens
     LoRaWANGetServiceProfileInfo
     LoRaWANGetServiceProfileInfo
     (Maybe Natural)
     (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoRaWANGetServiceProfileInfo' {Maybe Natural
targetPer :: Maybe Natural
$sel:targetPer:LoRaWANGetServiceProfileInfo' :: LoRaWANGetServiceProfileInfo -> Maybe Natural
targetPer} -> Maybe Natural
targetPer) (\s :: LoRaWANGetServiceProfileInfo
s@LoRaWANGetServiceProfileInfo' {} Maybe Natural
a -> LoRaWANGetServiceProfileInfo
s {$sel:targetPer:LoRaWANGetServiceProfileInfo' :: Maybe Natural
targetPer = Maybe Natural
a} :: LoRaWANGetServiceProfileInfo)

-- | The DRMin value.
loRaWANGetServiceProfileInfo_drMin :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Natural)
loRaWANGetServiceProfileInfo_drMin :: (Maybe Natural -> f (Maybe Natural))
-> LoRaWANGetServiceProfileInfo -> f LoRaWANGetServiceProfileInfo
loRaWANGetServiceProfileInfo_drMin = (LoRaWANGetServiceProfileInfo -> Maybe Natural)
-> (LoRaWANGetServiceProfileInfo
    -> Maybe Natural -> LoRaWANGetServiceProfileInfo)
-> Lens
     LoRaWANGetServiceProfileInfo
     LoRaWANGetServiceProfileInfo
     (Maybe Natural)
     (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoRaWANGetServiceProfileInfo' {Maybe Natural
drMin :: Maybe Natural
$sel:drMin:LoRaWANGetServiceProfileInfo' :: LoRaWANGetServiceProfileInfo -> Maybe Natural
drMin} -> Maybe Natural
drMin) (\s :: LoRaWANGetServiceProfileInfo
s@LoRaWANGetServiceProfileInfo' {} Maybe Natural
a -> LoRaWANGetServiceProfileInfo
s {$sel:drMin:LoRaWANGetServiceProfileInfo' :: Maybe Natural
drMin = Maybe Natural
a} :: LoRaWANGetServiceProfileInfo)

-- | The NwkGeoLoc value.
loRaWANGetServiceProfileInfo_nwkGeoLoc :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Bool)
loRaWANGetServiceProfileInfo_nwkGeoLoc :: (Maybe Bool -> f (Maybe Bool))
-> LoRaWANGetServiceProfileInfo -> f LoRaWANGetServiceProfileInfo
loRaWANGetServiceProfileInfo_nwkGeoLoc = (LoRaWANGetServiceProfileInfo -> Maybe Bool)
-> (LoRaWANGetServiceProfileInfo
    -> Maybe Bool -> LoRaWANGetServiceProfileInfo)
-> Lens
     LoRaWANGetServiceProfileInfo
     LoRaWANGetServiceProfileInfo
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoRaWANGetServiceProfileInfo' {Maybe Bool
nwkGeoLoc :: Maybe Bool
$sel:nwkGeoLoc:LoRaWANGetServiceProfileInfo' :: LoRaWANGetServiceProfileInfo -> Maybe Bool
nwkGeoLoc} -> Maybe Bool
nwkGeoLoc) (\s :: LoRaWANGetServiceProfileInfo
s@LoRaWANGetServiceProfileInfo' {} Maybe Bool
a -> LoRaWANGetServiceProfileInfo
s {$sel:nwkGeoLoc:LoRaWANGetServiceProfileInfo' :: Maybe Bool
nwkGeoLoc = Maybe Bool
a} :: LoRaWANGetServiceProfileInfo)

-- | The ChannelMask value.
loRaWANGetServiceProfileInfo_channelMask :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Text)
loRaWANGetServiceProfileInfo_channelMask :: (Maybe Text -> f (Maybe Text))
-> LoRaWANGetServiceProfileInfo -> f LoRaWANGetServiceProfileInfo
loRaWANGetServiceProfileInfo_channelMask = (LoRaWANGetServiceProfileInfo -> Maybe Text)
-> (LoRaWANGetServiceProfileInfo
    -> Maybe Text -> LoRaWANGetServiceProfileInfo)
-> Lens
     LoRaWANGetServiceProfileInfo
     LoRaWANGetServiceProfileInfo
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoRaWANGetServiceProfileInfo' {Maybe Text
channelMask :: Maybe Text
$sel:channelMask:LoRaWANGetServiceProfileInfo' :: LoRaWANGetServiceProfileInfo -> Maybe Text
channelMask} -> Maybe Text
channelMask) (\s :: LoRaWANGetServiceProfileInfo
s@LoRaWANGetServiceProfileInfo' {} Maybe Text
a -> LoRaWANGetServiceProfileInfo
s {$sel:channelMask:LoRaWANGetServiceProfileInfo' :: Maybe Text
channelMask = Maybe Text
a} :: LoRaWANGetServiceProfileInfo)

-- | The DLRatePolicy value.
loRaWANGetServiceProfileInfo_dlRatePolicy :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Text)
loRaWANGetServiceProfileInfo_dlRatePolicy :: (Maybe Text -> f (Maybe Text))
-> LoRaWANGetServiceProfileInfo -> f LoRaWANGetServiceProfileInfo
loRaWANGetServiceProfileInfo_dlRatePolicy = (LoRaWANGetServiceProfileInfo -> Maybe Text)
-> (LoRaWANGetServiceProfileInfo
    -> Maybe Text -> LoRaWANGetServiceProfileInfo)
-> Lens
     LoRaWANGetServiceProfileInfo
     LoRaWANGetServiceProfileInfo
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoRaWANGetServiceProfileInfo' {Maybe Text
dlRatePolicy :: Maybe Text
$sel:dlRatePolicy:LoRaWANGetServiceProfileInfo' :: LoRaWANGetServiceProfileInfo -> Maybe Text
dlRatePolicy} -> Maybe Text
dlRatePolicy) (\s :: LoRaWANGetServiceProfileInfo
s@LoRaWANGetServiceProfileInfo' {} Maybe Text
a -> LoRaWANGetServiceProfileInfo
s {$sel:dlRatePolicy:LoRaWANGetServiceProfileInfo' :: Maybe Text
dlRatePolicy = Maybe Text
a} :: LoRaWANGetServiceProfileInfo)

-- | The HRAllowed value that describes whether handover roaming is allowed.
loRaWANGetServiceProfileInfo_hrAllowed :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Bool)
loRaWANGetServiceProfileInfo_hrAllowed :: (Maybe Bool -> f (Maybe Bool))
-> LoRaWANGetServiceProfileInfo -> f LoRaWANGetServiceProfileInfo
loRaWANGetServiceProfileInfo_hrAllowed = (LoRaWANGetServiceProfileInfo -> Maybe Bool)
-> (LoRaWANGetServiceProfileInfo
    -> Maybe Bool -> LoRaWANGetServiceProfileInfo)
-> Lens
     LoRaWANGetServiceProfileInfo
     LoRaWANGetServiceProfileInfo
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoRaWANGetServiceProfileInfo' {Maybe Bool
hrAllowed :: Maybe Bool
$sel:hrAllowed:LoRaWANGetServiceProfileInfo' :: LoRaWANGetServiceProfileInfo -> Maybe Bool
hrAllowed} -> Maybe Bool
hrAllowed) (\s :: LoRaWANGetServiceProfileInfo
s@LoRaWANGetServiceProfileInfo' {} Maybe Bool
a -> LoRaWANGetServiceProfileInfo
s {$sel:hrAllowed:LoRaWANGetServiceProfileInfo' :: Maybe Bool
hrAllowed = Maybe Bool
a} :: LoRaWANGetServiceProfileInfo)

-- | The ULBucketSize value.
loRaWANGetServiceProfileInfo_ulBucketSize :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Natural)
loRaWANGetServiceProfileInfo_ulBucketSize :: (Maybe Natural -> f (Maybe Natural))
-> LoRaWANGetServiceProfileInfo -> f LoRaWANGetServiceProfileInfo
loRaWANGetServiceProfileInfo_ulBucketSize = (LoRaWANGetServiceProfileInfo -> Maybe Natural)
-> (LoRaWANGetServiceProfileInfo
    -> Maybe Natural -> LoRaWANGetServiceProfileInfo)
-> Lens
     LoRaWANGetServiceProfileInfo
     LoRaWANGetServiceProfileInfo
     (Maybe Natural)
     (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoRaWANGetServiceProfileInfo' {Maybe Natural
ulBucketSize :: Maybe Natural
$sel:ulBucketSize:LoRaWANGetServiceProfileInfo' :: LoRaWANGetServiceProfileInfo -> Maybe Natural
ulBucketSize} -> Maybe Natural
ulBucketSize) (\s :: LoRaWANGetServiceProfileInfo
s@LoRaWANGetServiceProfileInfo' {} Maybe Natural
a -> LoRaWANGetServiceProfileInfo
s {$sel:ulBucketSize:LoRaWANGetServiceProfileInfo' :: Maybe Natural
ulBucketSize = Maybe Natural
a} :: LoRaWANGetServiceProfileInfo)

-- | The ULRate value.
loRaWANGetServiceProfileInfo_ulRate :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Natural)
loRaWANGetServiceProfileInfo_ulRate :: (Maybe Natural -> f (Maybe Natural))
-> LoRaWANGetServiceProfileInfo -> f LoRaWANGetServiceProfileInfo
loRaWANGetServiceProfileInfo_ulRate = (LoRaWANGetServiceProfileInfo -> Maybe Natural)
-> (LoRaWANGetServiceProfileInfo
    -> Maybe Natural -> LoRaWANGetServiceProfileInfo)
-> Lens
     LoRaWANGetServiceProfileInfo
     LoRaWANGetServiceProfileInfo
     (Maybe Natural)
     (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoRaWANGetServiceProfileInfo' {Maybe Natural
ulRate :: Maybe Natural
$sel:ulRate:LoRaWANGetServiceProfileInfo' :: LoRaWANGetServiceProfileInfo -> Maybe Natural
ulRate} -> Maybe Natural
ulRate) (\s :: LoRaWANGetServiceProfileInfo
s@LoRaWANGetServiceProfileInfo' {} Maybe Natural
a -> LoRaWANGetServiceProfileInfo
s {$sel:ulRate:LoRaWANGetServiceProfileInfo' :: Maybe Natural
ulRate = Maybe Natural
a} :: LoRaWANGetServiceProfileInfo)

-- | The ReportDevStatusMargin value.
loRaWANGetServiceProfileInfo_reportDevStatusMargin :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Bool)
loRaWANGetServiceProfileInfo_reportDevStatusMargin :: (Maybe Bool -> f (Maybe Bool))
-> LoRaWANGetServiceProfileInfo -> f LoRaWANGetServiceProfileInfo
loRaWANGetServiceProfileInfo_reportDevStatusMargin = (LoRaWANGetServiceProfileInfo -> Maybe Bool)
-> (LoRaWANGetServiceProfileInfo
    -> Maybe Bool -> LoRaWANGetServiceProfileInfo)
-> Lens
     LoRaWANGetServiceProfileInfo
     LoRaWANGetServiceProfileInfo
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoRaWANGetServiceProfileInfo' {Maybe Bool
reportDevStatusMargin :: Maybe Bool
$sel:reportDevStatusMargin:LoRaWANGetServiceProfileInfo' :: LoRaWANGetServiceProfileInfo -> Maybe Bool
reportDevStatusMargin} -> Maybe Bool
reportDevStatusMargin) (\s :: LoRaWANGetServiceProfileInfo
s@LoRaWANGetServiceProfileInfo' {} Maybe Bool
a -> LoRaWANGetServiceProfileInfo
s {$sel:reportDevStatusMargin:LoRaWANGetServiceProfileInfo' :: Maybe Bool
reportDevStatusMargin = Maybe Bool
a} :: LoRaWANGetServiceProfileInfo)

-- | The RAAllowed value that describes whether roaming activation is
-- allowed.
loRaWANGetServiceProfileInfo_raAllowed :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Bool)
loRaWANGetServiceProfileInfo_raAllowed :: (Maybe Bool -> f (Maybe Bool))
-> LoRaWANGetServiceProfileInfo -> f LoRaWANGetServiceProfileInfo
loRaWANGetServiceProfileInfo_raAllowed = (LoRaWANGetServiceProfileInfo -> Maybe Bool)
-> (LoRaWANGetServiceProfileInfo
    -> Maybe Bool -> LoRaWANGetServiceProfileInfo)
-> Lens
     LoRaWANGetServiceProfileInfo
     LoRaWANGetServiceProfileInfo
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoRaWANGetServiceProfileInfo' {Maybe Bool
raAllowed :: Maybe Bool
$sel:raAllowed:LoRaWANGetServiceProfileInfo' :: LoRaWANGetServiceProfileInfo -> Maybe Bool
raAllowed} -> Maybe Bool
raAllowed) (\s :: LoRaWANGetServiceProfileInfo
s@LoRaWANGetServiceProfileInfo' {} Maybe Bool
a -> LoRaWANGetServiceProfileInfo
s {$sel:raAllowed:LoRaWANGetServiceProfileInfo' :: Maybe Bool
raAllowed = Maybe Bool
a} :: LoRaWANGetServiceProfileInfo)

-- | The MinGwDiversity value.
loRaWANGetServiceProfileInfo_minGwDiversity :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Natural)
loRaWANGetServiceProfileInfo_minGwDiversity :: (Maybe Natural -> f (Maybe Natural))
-> LoRaWANGetServiceProfileInfo -> f LoRaWANGetServiceProfileInfo
loRaWANGetServiceProfileInfo_minGwDiversity = (LoRaWANGetServiceProfileInfo -> Maybe Natural)
-> (LoRaWANGetServiceProfileInfo
    -> Maybe Natural -> LoRaWANGetServiceProfileInfo)
-> Lens
     LoRaWANGetServiceProfileInfo
     LoRaWANGetServiceProfileInfo
     (Maybe Natural)
     (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LoRaWANGetServiceProfileInfo' {Maybe Natural
minGwDiversity :: Maybe Natural
$sel:minGwDiversity:LoRaWANGetServiceProfileInfo' :: LoRaWANGetServiceProfileInfo -> Maybe Natural
minGwDiversity} -> Maybe Natural
minGwDiversity) (\s :: LoRaWANGetServiceProfileInfo
s@LoRaWANGetServiceProfileInfo' {} Maybe Natural
a -> LoRaWANGetServiceProfileInfo
s {$sel:minGwDiversity:LoRaWANGetServiceProfileInfo' :: Maybe Natural
minGwDiversity = Maybe Natural
a} :: LoRaWANGetServiceProfileInfo)

instance Core.FromJSON LoRaWANGetServiceProfileInfo where
  parseJSON :: Value -> Parser LoRaWANGetServiceProfileInfo
parseJSON =
    String
-> (Object -> Parser LoRaWANGetServiceProfileInfo)
-> Value
-> Parser LoRaWANGetServiceProfileInfo
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"LoRaWANGetServiceProfileInfo"
      ( \Object
x ->
          Maybe Bool
-> Maybe Bool
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Bool
-> Maybe Natural
-> Maybe Text
-> Maybe Natural
-> Maybe Natural
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe Natural
-> Maybe Natural
-> Maybe Bool
-> Maybe Bool
-> Maybe Natural
-> LoRaWANGetServiceProfileInfo
LoRaWANGetServiceProfileInfo'
            (Maybe Bool
 -> Maybe Bool
 -> Maybe Natural
 -> Maybe Natural
 -> Maybe Natural
 -> Maybe Bool
 -> Maybe Natural
 -> Maybe Text
 -> Maybe Natural
 -> Maybe Natural
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Natural
 -> Maybe Natural
 -> Maybe Bool
 -> Maybe Bool
 -> Maybe Natural
 -> LoRaWANGetServiceProfileInfo)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Bool
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Natural
      -> Maybe Text
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Natural
      -> LoRaWANGetServiceProfileInfo)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AddGwMetadata")
            Parser
  (Maybe Bool
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Natural
   -> Maybe Text
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Natural
   -> LoRaWANGetServiceProfileInfo)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Natural
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Natural
      -> Maybe Text
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Natural
      -> LoRaWANGetServiceProfileInfo)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PrAllowed")
            Parser
  (Maybe Natural
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Natural
   -> Maybe Text
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Natural
   -> LoRaWANGetServiceProfileInfo)
-> Parser (Maybe Natural)
-> Parser
     (Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Natural
      -> Maybe Text
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Natural
      -> LoRaWANGetServiceProfileInfo)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DrMax")
            Parser
  (Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Natural
   -> Maybe Text
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Natural
   -> LoRaWANGetServiceProfileInfo)
-> Parser (Maybe Natural)
-> Parser
     (Maybe Natural
      -> Maybe Bool
      -> Maybe Natural
      -> Maybe Text
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Natural
      -> LoRaWANGetServiceProfileInfo)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DlRate")
            Parser
  (Maybe Natural
   -> Maybe Bool
   -> Maybe Natural
   -> Maybe Text
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Natural
   -> LoRaWANGetServiceProfileInfo)
-> Parser (Maybe Natural)
-> Parser
     (Maybe Bool
      -> Maybe Natural
      -> Maybe Text
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Natural
      -> LoRaWANGetServiceProfileInfo)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DevStatusReqFreq")
            Parser
  (Maybe Bool
   -> Maybe Natural
   -> Maybe Text
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Natural
   -> LoRaWANGetServiceProfileInfo)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Natural
      -> Maybe Text
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Natural
      -> LoRaWANGetServiceProfileInfo)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ReportDevStatusBattery")
            Parser
  (Maybe Natural
   -> Maybe Text
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Natural
   -> LoRaWANGetServiceProfileInfo)
-> Parser (Maybe Natural)
-> Parser
     (Maybe Text
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Natural
      -> LoRaWANGetServiceProfileInfo)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DlBucketSize")
            Parser
  (Maybe Text
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Natural
   -> LoRaWANGetServiceProfileInfo)
-> Parser (Maybe Text)
-> Parser
     (Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Natural
      -> LoRaWANGetServiceProfileInfo)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"UlRatePolicy")
            Parser
  (Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Natural
   -> LoRaWANGetServiceProfileInfo)
-> Parser (Maybe Natural)
-> Parser
     (Maybe Natural
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Natural
      -> LoRaWANGetServiceProfileInfo)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"TargetPer")
            Parser
  (Maybe Natural
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Natural
   -> LoRaWANGetServiceProfileInfo)
-> Parser (Maybe Natural)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Natural
      -> LoRaWANGetServiceProfileInfo)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DrMin")
            Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Natural
   -> LoRaWANGetServiceProfileInfo)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Natural
      -> LoRaWANGetServiceProfileInfo)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"NwkGeoLoc")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Natural
   -> LoRaWANGetServiceProfileInfo)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Natural
      -> LoRaWANGetServiceProfileInfo)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ChannelMask")
            Parser
  (Maybe Text
   -> Maybe Bool
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Natural
   -> LoRaWANGetServiceProfileInfo)
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Natural
      -> LoRaWANGetServiceProfileInfo)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DlRatePolicy")
            Parser
  (Maybe Bool
   -> Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Natural
   -> LoRaWANGetServiceProfileInfo)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Natural
      -> Maybe Natural
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Natural
      -> LoRaWANGetServiceProfileInfo)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"HrAllowed")
            Parser
  (Maybe Natural
   -> Maybe Natural
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Natural
   -> LoRaWANGetServiceProfileInfo)
-> Parser (Maybe Natural)
-> Parser
     (Maybe Natural
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Natural
      -> LoRaWANGetServiceProfileInfo)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"UlBucketSize")
            Parser
  (Maybe Natural
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Natural
   -> LoRaWANGetServiceProfileInfo)
-> Parser (Maybe Natural)
-> Parser
     (Maybe Bool
      -> Maybe Bool -> Maybe Natural -> LoRaWANGetServiceProfileInfo)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"UlRate")
            Parser
  (Maybe Bool
   -> Maybe Bool -> Maybe Natural -> LoRaWANGetServiceProfileInfo)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Bool -> Maybe Natural -> LoRaWANGetServiceProfileInfo)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ReportDevStatusMargin")
            Parser
  (Maybe Bool -> Maybe Natural -> LoRaWANGetServiceProfileInfo)
-> Parser (Maybe Bool)
-> Parser (Maybe Natural -> LoRaWANGetServiceProfileInfo)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"RaAllowed")
            Parser (Maybe Natural -> LoRaWANGetServiceProfileInfo)
-> Parser (Maybe Natural) -> Parser LoRaWANGetServiceProfileInfo
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"MinGwDiversity")
      )

instance
  Prelude.Hashable
    LoRaWANGetServiceProfileInfo

instance Prelude.NFData LoRaWANGetServiceProfileInfo