{-# 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.DeviceFarm.Types.NetworkProfile
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.DeviceFarm.Types.NetworkProfile where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.DeviceFarm.Types.NetworkProfileType
import qualified Amazonka.Prelude as Prelude

-- | An array of settings that describes characteristics of a network
-- profile.
--
-- /See:/ 'newNetworkProfile' smart constructor.
data NetworkProfile = NetworkProfile'
  { -- | The Amazon Resource Name (ARN) of the network profile.
    NetworkProfile -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
    -- | The description of the network profile.
    NetworkProfile -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | The data throughput rate in bits per second, as an integer from 0 to
    -- 104857600.
    NetworkProfile -> Maybe Integer
downlinkBandwidthBits :: Prelude.Maybe Prelude.Integer,
    -- | Delay time for all packets to destination in milliseconds as an integer
    -- from 0 to 2000.
    NetworkProfile -> Maybe Integer
downlinkDelayMs :: Prelude.Maybe Prelude.Integer,
    -- | Time variation in the delay of received packets in milliseconds as an
    -- integer from 0 to 2000.
    NetworkProfile -> Maybe Integer
downlinkJitterMs :: Prelude.Maybe Prelude.Integer,
    -- | Proportion of received packets that fail to arrive from 0 to 100
    -- percent.
    NetworkProfile -> Maybe Natural
downlinkLossPercent :: Prelude.Maybe Prelude.Natural,
    -- | The name of the network profile.
    NetworkProfile -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    -- | The type of network profile. Valid values are listed here.
    NetworkProfile -> Maybe NetworkProfileType
type' :: Prelude.Maybe NetworkProfileType,
    -- | The data throughput rate in bits per second, as an integer from 0 to
    -- 104857600.
    NetworkProfile -> Maybe Integer
uplinkBandwidthBits :: Prelude.Maybe Prelude.Integer,
    -- | Delay time for all packets to destination in milliseconds as an integer
    -- from 0 to 2000.
    NetworkProfile -> Maybe Integer
uplinkDelayMs :: Prelude.Maybe Prelude.Integer,
    -- | Time variation in the delay of received packets in milliseconds as an
    -- integer from 0 to 2000.
    NetworkProfile -> Maybe Integer
uplinkJitterMs :: Prelude.Maybe Prelude.Integer,
    -- | Proportion of transmitted packets that fail to arrive from 0 to 100
    -- percent.
    NetworkProfile -> Maybe Natural
uplinkLossPercent :: Prelude.Maybe Prelude.Natural
  }
  deriving (NetworkProfile -> NetworkProfile -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: NetworkProfile -> NetworkProfile -> Bool
$c/= :: NetworkProfile -> NetworkProfile -> Bool
== :: NetworkProfile -> NetworkProfile -> Bool
$c== :: NetworkProfile -> NetworkProfile -> Bool
Prelude.Eq, ReadPrec [NetworkProfile]
ReadPrec NetworkProfile
Int -> ReadS NetworkProfile
ReadS [NetworkProfile]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [NetworkProfile]
$creadListPrec :: ReadPrec [NetworkProfile]
readPrec :: ReadPrec NetworkProfile
$creadPrec :: ReadPrec NetworkProfile
readList :: ReadS [NetworkProfile]
$creadList :: ReadS [NetworkProfile]
readsPrec :: Int -> ReadS NetworkProfile
$creadsPrec :: Int -> ReadS NetworkProfile
Prelude.Read, Int -> NetworkProfile -> ShowS
[NetworkProfile] -> ShowS
NetworkProfile -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [NetworkProfile] -> ShowS
$cshowList :: [NetworkProfile] -> ShowS
show :: NetworkProfile -> String
$cshow :: NetworkProfile -> String
showsPrec :: Int -> NetworkProfile -> ShowS
$cshowsPrec :: Int -> NetworkProfile -> ShowS
Prelude.Show, forall x. Rep NetworkProfile x -> NetworkProfile
forall x. NetworkProfile -> Rep NetworkProfile x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep NetworkProfile x -> NetworkProfile
$cfrom :: forall x. NetworkProfile -> Rep NetworkProfile x
Prelude.Generic)

-- |
-- Create a value of 'NetworkProfile' 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', 'networkProfile_arn' - The Amazon Resource Name (ARN) of the network profile.
--
-- 'description', 'networkProfile_description' - The description of the network profile.
--
-- 'downlinkBandwidthBits', 'networkProfile_downlinkBandwidthBits' - The data throughput rate in bits per second, as an integer from 0 to
-- 104857600.
--
-- 'downlinkDelayMs', 'networkProfile_downlinkDelayMs' - Delay time for all packets to destination in milliseconds as an integer
-- from 0 to 2000.
--
-- 'downlinkJitterMs', 'networkProfile_downlinkJitterMs' - Time variation in the delay of received packets in milliseconds as an
-- integer from 0 to 2000.
--
-- 'downlinkLossPercent', 'networkProfile_downlinkLossPercent' - Proportion of received packets that fail to arrive from 0 to 100
-- percent.
--
-- 'name', 'networkProfile_name' - The name of the network profile.
--
-- 'type'', 'networkProfile_type' - The type of network profile. Valid values are listed here.
--
-- 'uplinkBandwidthBits', 'networkProfile_uplinkBandwidthBits' - The data throughput rate in bits per second, as an integer from 0 to
-- 104857600.
--
-- 'uplinkDelayMs', 'networkProfile_uplinkDelayMs' - Delay time for all packets to destination in milliseconds as an integer
-- from 0 to 2000.
--
-- 'uplinkJitterMs', 'networkProfile_uplinkJitterMs' - Time variation in the delay of received packets in milliseconds as an
-- integer from 0 to 2000.
--
-- 'uplinkLossPercent', 'networkProfile_uplinkLossPercent' - Proportion of transmitted packets that fail to arrive from 0 to 100
-- percent.
newNetworkProfile ::
  NetworkProfile
newNetworkProfile :: NetworkProfile
newNetworkProfile =
  NetworkProfile'
    { $sel:arn:NetworkProfile' :: Maybe Text
arn = forall a. Maybe a
Prelude.Nothing,
      $sel:description:NetworkProfile' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
      $sel:downlinkBandwidthBits:NetworkProfile' :: Maybe Integer
downlinkBandwidthBits = forall a. Maybe a
Prelude.Nothing,
      $sel:downlinkDelayMs:NetworkProfile' :: Maybe Integer
downlinkDelayMs = forall a. Maybe a
Prelude.Nothing,
      $sel:downlinkJitterMs:NetworkProfile' :: Maybe Integer
downlinkJitterMs = forall a. Maybe a
Prelude.Nothing,
      $sel:downlinkLossPercent:NetworkProfile' :: Maybe Natural
downlinkLossPercent = forall a. Maybe a
Prelude.Nothing,
      $sel:name:NetworkProfile' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
      $sel:type':NetworkProfile' :: Maybe NetworkProfileType
type' = forall a. Maybe a
Prelude.Nothing,
      $sel:uplinkBandwidthBits:NetworkProfile' :: Maybe Integer
uplinkBandwidthBits = forall a. Maybe a
Prelude.Nothing,
      $sel:uplinkDelayMs:NetworkProfile' :: Maybe Integer
uplinkDelayMs = forall a. Maybe a
Prelude.Nothing,
      $sel:uplinkJitterMs:NetworkProfile' :: Maybe Integer
uplinkJitterMs = forall a. Maybe a
Prelude.Nothing,
      $sel:uplinkLossPercent:NetworkProfile' :: Maybe Natural
uplinkLossPercent = forall a. Maybe a
Prelude.Nothing
    }

-- | The Amazon Resource Name (ARN) of the network profile.
networkProfile_arn :: Lens.Lens' NetworkProfile (Prelude.Maybe Prelude.Text)
networkProfile_arn :: Lens' NetworkProfile (Maybe Text)
networkProfile_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkProfile' {Maybe Text
arn :: Maybe Text
$sel:arn:NetworkProfile' :: NetworkProfile -> Maybe Text
arn} -> Maybe Text
arn) (\s :: NetworkProfile
s@NetworkProfile' {} Maybe Text
a -> NetworkProfile
s {$sel:arn:NetworkProfile' :: Maybe Text
arn = Maybe Text
a} :: NetworkProfile)

-- | The description of the network profile.
networkProfile_description :: Lens.Lens' NetworkProfile (Prelude.Maybe Prelude.Text)
networkProfile_description :: Lens' NetworkProfile (Maybe Text)
networkProfile_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkProfile' {Maybe Text
description :: Maybe Text
$sel:description:NetworkProfile' :: NetworkProfile -> Maybe Text
description} -> Maybe Text
description) (\s :: NetworkProfile
s@NetworkProfile' {} Maybe Text
a -> NetworkProfile
s {$sel:description:NetworkProfile' :: Maybe Text
description = Maybe Text
a} :: NetworkProfile)

-- | The data throughput rate in bits per second, as an integer from 0 to
-- 104857600.
networkProfile_downlinkBandwidthBits :: Lens.Lens' NetworkProfile (Prelude.Maybe Prelude.Integer)
networkProfile_downlinkBandwidthBits :: Lens' NetworkProfile (Maybe Integer)
networkProfile_downlinkBandwidthBits = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkProfile' {Maybe Integer
downlinkBandwidthBits :: Maybe Integer
$sel:downlinkBandwidthBits:NetworkProfile' :: NetworkProfile -> Maybe Integer
downlinkBandwidthBits} -> Maybe Integer
downlinkBandwidthBits) (\s :: NetworkProfile
s@NetworkProfile' {} Maybe Integer
a -> NetworkProfile
s {$sel:downlinkBandwidthBits:NetworkProfile' :: Maybe Integer
downlinkBandwidthBits = Maybe Integer
a} :: NetworkProfile)

-- | Delay time for all packets to destination in milliseconds as an integer
-- from 0 to 2000.
networkProfile_downlinkDelayMs :: Lens.Lens' NetworkProfile (Prelude.Maybe Prelude.Integer)
networkProfile_downlinkDelayMs :: Lens' NetworkProfile (Maybe Integer)
networkProfile_downlinkDelayMs = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkProfile' {Maybe Integer
downlinkDelayMs :: Maybe Integer
$sel:downlinkDelayMs:NetworkProfile' :: NetworkProfile -> Maybe Integer
downlinkDelayMs} -> Maybe Integer
downlinkDelayMs) (\s :: NetworkProfile
s@NetworkProfile' {} Maybe Integer
a -> NetworkProfile
s {$sel:downlinkDelayMs:NetworkProfile' :: Maybe Integer
downlinkDelayMs = Maybe Integer
a} :: NetworkProfile)

-- | Time variation in the delay of received packets in milliseconds as an
-- integer from 0 to 2000.
networkProfile_downlinkJitterMs :: Lens.Lens' NetworkProfile (Prelude.Maybe Prelude.Integer)
networkProfile_downlinkJitterMs :: Lens' NetworkProfile (Maybe Integer)
networkProfile_downlinkJitterMs = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkProfile' {Maybe Integer
downlinkJitterMs :: Maybe Integer
$sel:downlinkJitterMs:NetworkProfile' :: NetworkProfile -> Maybe Integer
downlinkJitterMs} -> Maybe Integer
downlinkJitterMs) (\s :: NetworkProfile
s@NetworkProfile' {} Maybe Integer
a -> NetworkProfile
s {$sel:downlinkJitterMs:NetworkProfile' :: Maybe Integer
downlinkJitterMs = Maybe Integer
a} :: NetworkProfile)

-- | Proportion of received packets that fail to arrive from 0 to 100
-- percent.
networkProfile_downlinkLossPercent :: Lens.Lens' NetworkProfile (Prelude.Maybe Prelude.Natural)
networkProfile_downlinkLossPercent :: Lens' NetworkProfile (Maybe Natural)
networkProfile_downlinkLossPercent = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkProfile' {Maybe Natural
downlinkLossPercent :: Maybe Natural
$sel:downlinkLossPercent:NetworkProfile' :: NetworkProfile -> Maybe Natural
downlinkLossPercent} -> Maybe Natural
downlinkLossPercent) (\s :: NetworkProfile
s@NetworkProfile' {} Maybe Natural
a -> NetworkProfile
s {$sel:downlinkLossPercent:NetworkProfile' :: Maybe Natural
downlinkLossPercent = Maybe Natural
a} :: NetworkProfile)

-- | The name of the network profile.
networkProfile_name :: Lens.Lens' NetworkProfile (Prelude.Maybe Prelude.Text)
networkProfile_name :: Lens' NetworkProfile (Maybe Text)
networkProfile_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkProfile' {Maybe Text
name :: Maybe Text
$sel:name:NetworkProfile' :: NetworkProfile -> Maybe Text
name} -> Maybe Text
name) (\s :: NetworkProfile
s@NetworkProfile' {} Maybe Text
a -> NetworkProfile
s {$sel:name:NetworkProfile' :: Maybe Text
name = Maybe Text
a} :: NetworkProfile)

-- | The type of network profile. Valid values are listed here.
networkProfile_type :: Lens.Lens' NetworkProfile (Prelude.Maybe NetworkProfileType)
networkProfile_type :: Lens' NetworkProfile (Maybe NetworkProfileType)
networkProfile_type = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkProfile' {Maybe NetworkProfileType
type' :: Maybe NetworkProfileType
$sel:type':NetworkProfile' :: NetworkProfile -> Maybe NetworkProfileType
type'} -> Maybe NetworkProfileType
type') (\s :: NetworkProfile
s@NetworkProfile' {} Maybe NetworkProfileType
a -> NetworkProfile
s {$sel:type':NetworkProfile' :: Maybe NetworkProfileType
type' = Maybe NetworkProfileType
a} :: NetworkProfile)

-- | The data throughput rate in bits per second, as an integer from 0 to
-- 104857600.
networkProfile_uplinkBandwidthBits :: Lens.Lens' NetworkProfile (Prelude.Maybe Prelude.Integer)
networkProfile_uplinkBandwidthBits :: Lens' NetworkProfile (Maybe Integer)
networkProfile_uplinkBandwidthBits = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkProfile' {Maybe Integer
uplinkBandwidthBits :: Maybe Integer
$sel:uplinkBandwidthBits:NetworkProfile' :: NetworkProfile -> Maybe Integer
uplinkBandwidthBits} -> Maybe Integer
uplinkBandwidthBits) (\s :: NetworkProfile
s@NetworkProfile' {} Maybe Integer
a -> NetworkProfile
s {$sel:uplinkBandwidthBits:NetworkProfile' :: Maybe Integer
uplinkBandwidthBits = Maybe Integer
a} :: NetworkProfile)

-- | Delay time for all packets to destination in milliseconds as an integer
-- from 0 to 2000.
networkProfile_uplinkDelayMs :: Lens.Lens' NetworkProfile (Prelude.Maybe Prelude.Integer)
networkProfile_uplinkDelayMs :: Lens' NetworkProfile (Maybe Integer)
networkProfile_uplinkDelayMs = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkProfile' {Maybe Integer
uplinkDelayMs :: Maybe Integer
$sel:uplinkDelayMs:NetworkProfile' :: NetworkProfile -> Maybe Integer
uplinkDelayMs} -> Maybe Integer
uplinkDelayMs) (\s :: NetworkProfile
s@NetworkProfile' {} Maybe Integer
a -> NetworkProfile
s {$sel:uplinkDelayMs:NetworkProfile' :: Maybe Integer
uplinkDelayMs = Maybe Integer
a} :: NetworkProfile)

-- | Time variation in the delay of received packets in milliseconds as an
-- integer from 0 to 2000.
networkProfile_uplinkJitterMs :: Lens.Lens' NetworkProfile (Prelude.Maybe Prelude.Integer)
networkProfile_uplinkJitterMs :: Lens' NetworkProfile (Maybe Integer)
networkProfile_uplinkJitterMs = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkProfile' {Maybe Integer
uplinkJitterMs :: Maybe Integer
$sel:uplinkJitterMs:NetworkProfile' :: NetworkProfile -> Maybe Integer
uplinkJitterMs} -> Maybe Integer
uplinkJitterMs) (\s :: NetworkProfile
s@NetworkProfile' {} Maybe Integer
a -> NetworkProfile
s {$sel:uplinkJitterMs:NetworkProfile' :: Maybe Integer
uplinkJitterMs = Maybe Integer
a} :: NetworkProfile)

-- | Proportion of transmitted packets that fail to arrive from 0 to 100
-- percent.
networkProfile_uplinkLossPercent :: Lens.Lens' NetworkProfile (Prelude.Maybe Prelude.Natural)
networkProfile_uplinkLossPercent :: Lens' NetworkProfile (Maybe Natural)
networkProfile_uplinkLossPercent = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkProfile' {Maybe Natural
uplinkLossPercent :: Maybe Natural
$sel:uplinkLossPercent:NetworkProfile' :: NetworkProfile -> Maybe Natural
uplinkLossPercent} -> Maybe Natural
uplinkLossPercent) (\s :: NetworkProfile
s@NetworkProfile' {} Maybe Natural
a -> NetworkProfile
s {$sel:uplinkLossPercent:NetworkProfile' :: Maybe Natural
uplinkLossPercent = Maybe Natural
a} :: NetworkProfile)

instance Data.FromJSON NetworkProfile where
  parseJSON :: Value -> Parser NetworkProfile
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"NetworkProfile"
      ( \Object
x ->
          Maybe Text
-> Maybe Text
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Natural
-> Maybe Text
-> Maybe NetworkProfileType
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Natural
-> NetworkProfile
NetworkProfile'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"arn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"description")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"downlinkBandwidthBits")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"downlinkDelayMs")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"downlinkJitterMs")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"downlinkLossPercent")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"name")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"type")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"uplinkBandwidthBits")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"uplinkDelayMs")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"uplinkJitterMs")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"uplinkLossPercent")
      )

instance Prelude.Hashable NetworkProfile where
  hashWithSalt :: Int -> NetworkProfile -> Int
hashWithSalt Int
_salt NetworkProfile' {Maybe Integer
Maybe Natural
Maybe Text
Maybe NetworkProfileType
uplinkLossPercent :: Maybe Natural
uplinkJitterMs :: Maybe Integer
uplinkDelayMs :: Maybe Integer
uplinkBandwidthBits :: Maybe Integer
type' :: Maybe NetworkProfileType
name :: Maybe Text
downlinkLossPercent :: Maybe Natural
downlinkJitterMs :: Maybe Integer
downlinkDelayMs :: Maybe Integer
downlinkBandwidthBits :: Maybe Integer
description :: Maybe Text
arn :: Maybe Text
$sel:uplinkLossPercent:NetworkProfile' :: NetworkProfile -> Maybe Natural
$sel:uplinkJitterMs:NetworkProfile' :: NetworkProfile -> Maybe Integer
$sel:uplinkDelayMs:NetworkProfile' :: NetworkProfile -> Maybe Integer
$sel:uplinkBandwidthBits:NetworkProfile' :: NetworkProfile -> Maybe Integer
$sel:type':NetworkProfile' :: NetworkProfile -> Maybe NetworkProfileType
$sel:name:NetworkProfile' :: NetworkProfile -> Maybe Text
$sel:downlinkLossPercent:NetworkProfile' :: NetworkProfile -> Maybe Natural
$sel:downlinkJitterMs:NetworkProfile' :: NetworkProfile -> Maybe Integer
$sel:downlinkDelayMs:NetworkProfile' :: NetworkProfile -> Maybe Integer
$sel:downlinkBandwidthBits:NetworkProfile' :: NetworkProfile -> Maybe Integer
$sel:description:NetworkProfile' :: NetworkProfile -> Maybe Text
$sel:arn:NetworkProfile' :: NetworkProfile -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
arn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
downlinkBandwidthBits
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
downlinkDelayMs
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
downlinkJitterMs
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
downlinkLossPercent
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe NetworkProfileType
type'
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
uplinkBandwidthBits
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
uplinkDelayMs
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
uplinkJitterMs
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
uplinkLossPercent

instance Prelude.NFData NetworkProfile where
  rnf :: NetworkProfile -> ()
rnf NetworkProfile' {Maybe Integer
Maybe Natural
Maybe Text
Maybe NetworkProfileType
uplinkLossPercent :: Maybe Natural
uplinkJitterMs :: Maybe Integer
uplinkDelayMs :: Maybe Integer
uplinkBandwidthBits :: Maybe Integer
type' :: Maybe NetworkProfileType
name :: Maybe Text
downlinkLossPercent :: Maybe Natural
downlinkJitterMs :: Maybe Integer
downlinkDelayMs :: Maybe Integer
downlinkBandwidthBits :: Maybe Integer
description :: Maybe Text
arn :: Maybe Text
$sel:uplinkLossPercent:NetworkProfile' :: NetworkProfile -> Maybe Natural
$sel:uplinkJitterMs:NetworkProfile' :: NetworkProfile -> Maybe Integer
$sel:uplinkDelayMs:NetworkProfile' :: NetworkProfile -> Maybe Integer
$sel:uplinkBandwidthBits:NetworkProfile' :: NetworkProfile -> Maybe Integer
$sel:type':NetworkProfile' :: NetworkProfile -> Maybe NetworkProfileType
$sel:name:NetworkProfile' :: NetworkProfile -> Maybe Text
$sel:downlinkLossPercent:NetworkProfile' :: NetworkProfile -> Maybe Natural
$sel:downlinkJitterMs:NetworkProfile' :: NetworkProfile -> Maybe Integer
$sel:downlinkDelayMs:NetworkProfile' :: NetworkProfile -> Maybe Integer
$sel:downlinkBandwidthBits:NetworkProfile' :: NetworkProfile -> Maybe Integer
$sel:description:NetworkProfile' :: NetworkProfile -> Maybe Text
$sel:arn:NetworkProfile' :: NetworkProfile -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
arn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
downlinkBandwidthBits
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
downlinkDelayMs
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
downlinkJitterMs
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
downlinkLossPercent
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe NetworkProfileType
type'
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
uplinkBandwidthBits
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
uplinkDelayMs
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
uplinkJitterMs
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
uplinkLossPercent