{-# 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.AccountSettings
-- 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.AccountSettings 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.DevicePlatform
import Amazonka.DeviceFarm.Types.TrialMinutes
import qualified Amazonka.Prelude as Prelude

-- | A container for account-level settings in AWS Device Farm.
--
-- /See:/ 'newAccountSettings' smart constructor.
data AccountSettings = AccountSettings'
  { -- | The AWS account number specified in the @AccountSettings@ container.
    AccountSettings -> Maybe Text
awsAccountNumber :: Prelude.Maybe Prelude.Text,
    -- | The default number of minutes (at the account level) a test run executes
    -- before it times out. The default value is 150 minutes.
    AccountSettings -> Maybe Int
defaultJobTimeoutMinutes :: Prelude.Maybe Prelude.Int,
    -- | The maximum number of minutes a test run executes before it times out.
    AccountSettings -> Maybe Int
maxJobTimeoutMinutes :: Prelude.Maybe Prelude.Int,
    -- | The maximum number of device slots that the AWS account can purchase.
    -- Each maximum is expressed as an @offering-id:number@ pair, where the
    -- @offering-id@ represents one of the IDs returned by the @ListOfferings@
    -- command.
    AccountSettings -> Maybe (HashMap Text Int)
maxSlots :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Int),
    -- | When set to @true@, for private devices, Device Farm does not sign your
    -- app again. For public devices, Device Farm always signs your apps again.
    --
    -- For more information about how Device Farm re-signs your apps, see
    -- <http://aws.amazon.com/device-farm/faqs/ Do you modify my app?> in the
    -- /AWS Device Farm FAQs/.
    AccountSettings -> Maybe Bool
skipAppResign :: Prelude.Maybe Prelude.Bool,
    -- | Information about an AWS account\'s usage of free trial device minutes.
    AccountSettings -> Maybe TrialMinutes
trialMinutes :: Prelude.Maybe TrialMinutes,
    -- | Returns the unmetered devices you have purchased or want to purchase.
    AccountSettings -> Maybe (HashMap DevicePlatform Int)
unmeteredDevices :: Prelude.Maybe (Prelude.HashMap DevicePlatform Prelude.Int),
    -- | Returns the unmetered remote access devices you have purchased or want
    -- to purchase.
    AccountSettings -> Maybe (HashMap DevicePlatform Int)
unmeteredRemoteAccessDevices :: Prelude.Maybe (Prelude.HashMap DevicePlatform Prelude.Int)
  }
  deriving (AccountSettings -> AccountSettings -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountSettings -> AccountSettings -> Bool
$c/= :: AccountSettings -> AccountSettings -> Bool
== :: AccountSettings -> AccountSettings -> Bool
$c== :: AccountSettings -> AccountSettings -> Bool
Prelude.Eq, ReadPrec [AccountSettings]
ReadPrec AccountSettings
Int -> ReadS AccountSettings
ReadS [AccountSettings]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AccountSettings]
$creadListPrec :: ReadPrec [AccountSettings]
readPrec :: ReadPrec AccountSettings
$creadPrec :: ReadPrec AccountSettings
readList :: ReadS [AccountSettings]
$creadList :: ReadS [AccountSettings]
readsPrec :: Int -> ReadS AccountSettings
$creadsPrec :: Int -> ReadS AccountSettings
Prelude.Read, Int -> AccountSettings -> ShowS
[AccountSettings] -> ShowS
AccountSettings -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountSettings] -> ShowS
$cshowList :: [AccountSettings] -> ShowS
show :: AccountSettings -> String
$cshow :: AccountSettings -> String
showsPrec :: Int -> AccountSettings -> ShowS
$cshowsPrec :: Int -> AccountSettings -> ShowS
Prelude.Show, forall x. Rep AccountSettings x -> AccountSettings
forall x. AccountSettings -> Rep AccountSettings x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AccountSettings x -> AccountSettings
$cfrom :: forall x. AccountSettings -> Rep AccountSettings x
Prelude.Generic)

-- |
-- Create a value of 'AccountSettings' 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:
--
-- 'awsAccountNumber', 'accountSettings_awsAccountNumber' - The AWS account number specified in the @AccountSettings@ container.
--
-- 'defaultJobTimeoutMinutes', 'accountSettings_defaultJobTimeoutMinutes' - The default number of minutes (at the account level) a test run executes
-- before it times out. The default value is 150 minutes.
--
-- 'maxJobTimeoutMinutes', 'accountSettings_maxJobTimeoutMinutes' - The maximum number of minutes a test run executes before it times out.
--
-- 'maxSlots', 'accountSettings_maxSlots' - The maximum number of device slots that the AWS account can purchase.
-- Each maximum is expressed as an @offering-id:number@ pair, where the
-- @offering-id@ represents one of the IDs returned by the @ListOfferings@
-- command.
--
-- 'skipAppResign', 'accountSettings_skipAppResign' - When set to @true@, for private devices, Device Farm does not sign your
-- app again. For public devices, Device Farm always signs your apps again.
--
-- For more information about how Device Farm re-signs your apps, see
-- <http://aws.amazon.com/device-farm/faqs/ Do you modify my app?> in the
-- /AWS Device Farm FAQs/.
--
-- 'trialMinutes', 'accountSettings_trialMinutes' - Information about an AWS account\'s usage of free trial device minutes.
--
-- 'unmeteredDevices', 'accountSettings_unmeteredDevices' - Returns the unmetered devices you have purchased or want to purchase.
--
-- 'unmeteredRemoteAccessDevices', 'accountSettings_unmeteredRemoteAccessDevices' - Returns the unmetered remote access devices you have purchased or want
-- to purchase.
newAccountSettings ::
  AccountSettings
newAccountSettings :: AccountSettings
newAccountSettings =
  AccountSettings'
    { $sel:awsAccountNumber:AccountSettings' :: Maybe Text
awsAccountNumber =
        forall a. Maybe a
Prelude.Nothing,
      $sel:defaultJobTimeoutMinutes:AccountSettings' :: Maybe Int
defaultJobTimeoutMinutes = forall a. Maybe a
Prelude.Nothing,
      $sel:maxJobTimeoutMinutes:AccountSettings' :: Maybe Int
maxJobTimeoutMinutes = forall a. Maybe a
Prelude.Nothing,
      $sel:maxSlots:AccountSettings' :: Maybe (HashMap Text Int)
maxSlots = forall a. Maybe a
Prelude.Nothing,
      $sel:skipAppResign:AccountSettings' :: Maybe Bool
skipAppResign = forall a. Maybe a
Prelude.Nothing,
      $sel:trialMinutes:AccountSettings' :: Maybe TrialMinutes
trialMinutes = forall a. Maybe a
Prelude.Nothing,
      $sel:unmeteredDevices:AccountSettings' :: Maybe (HashMap DevicePlatform Int)
unmeteredDevices = forall a. Maybe a
Prelude.Nothing,
      $sel:unmeteredRemoteAccessDevices:AccountSettings' :: Maybe (HashMap DevicePlatform Int)
unmeteredRemoteAccessDevices = forall a. Maybe a
Prelude.Nothing
    }

-- | The AWS account number specified in the @AccountSettings@ container.
accountSettings_awsAccountNumber :: Lens.Lens' AccountSettings (Prelude.Maybe Prelude.Text)
accountSettings_awsAccountNumber :: Lens' AccountSettings (Maybe Text)
accountSettings_awsAccountNumber = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AccountSettings' {Maybe Text
awsAccountNumber :: Maybe Text
$sel:awsAccountNumber:AccountSettings' :: AccountSettings -> Maybe Text
awsAccountNumber} -> Maybe Text
awsAccountNumber) (\s :: AccountSettings
s@AccountSettings' {} Maybe Text
a -> AccountSettings
s {$sel:awsAccountNumber:AccountSettings' :: Maybe Text
awsAccountNumber = Maybe Text
a} :: AccountSettings)

-- | The default number of minutes (at the account level) a test run executes
-- before it times out. The default value is 150 minutes.
accountSettings_defaultJobTimeoutMinutes :: Lens.Lens' AccountSettings (Prelude.Maybe Prelude.Int)
accountSettings_defaultJobTimeoutMinutes :: Lens' AccountSettings (Maybe Int)
accountSettings_defaultJobTimeoutMinutes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AccountSettings' {Maybe Int
defaultJobTimeoutMinutes :: Maybe Int
$sel:defaultJobTimeoutMinutes:AccountSettings' :: AccountSettings -> Maybe Int
defaultJobTimeoutMinutes} -> Maybe Int
defaultJobTimeoutMinutes) (\s :: AccountSettings
s@AccountSettings' {} Maybe Int
a -> AccountSettings
s {$sel:defaultJobTimeoutMinutes:AccountSettings' :: Maybe Int
defaultJobTimeoutMinutes = Maybe Int
a} :: AccountSettings)

-- | The maximum number of minutes a test run executes before it times out.
accountSettings_maxJobTimeoutMinutes :: Lens.Lens' AccountSettings (Prelude.Maybe Prelude.Int)
accountSettings_maxJobTimeoutMinutes :: Lens' AccountSettings (Maybe Int)
accountSettings_maxJobTimeoutMinutes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AccountSettings' {Maybe Int
maxJobTimeoutMinutes :: Maybe Int
$sel:maxJobTimeoutMinutes:AccountSettings' :: AccountSettings -> Maybe Int
maxJobTimeoutMinutes} -> Maybe Int
maxJobTimeoutMinutes) (\s :: AccountSettings
s@AccountSettings' {} Maybe Int
a -> AccountSettings
s {$sel:maxJobTimeoutMinutes:AccountSettings' :: Maybe Int
maxJobTimeoutMinutes = Maybe Int
a} :: AccountSettings)

-- | The maximum number of device slots that the AWS account can purchase.
-- Each maximum is expressed as an @offering-id:number@ pair, where the
-- @offering-id@ represents one of the IDs returned by the @ListOfferings@
-- command.
accountSettings_maxSlots :: Lens.Lens' AccountSettings (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Int))
accountSettings_maxSlots :: Lens' AccountSettings (Maybe (HashMap Text Int))
accountSettings_maxSlots = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AccountSettings' {Maybe (HashMap Text Int)
maxSlots :: Maybe (HashMap Text Int)
$sel:maxSlots:AccountSettings' :: AccountSettings -> Maybe (HashMap Text Int)
maxSlots} -> Maybe (HashMap Text Int)
maxSlots) (\s :: AccountSettings
s@AccountSettings' {} Maybe (HashMap Text Int)
a -> AccountSettings
s {$sel:maxSlots:AccountSettings' :: Maybe (HashMap Text Int)
maxSlots = Maybe (HashMap Text Int)
a} :: AccountSettings) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | When set to @true@, for private devices, Device Farm does not sign your
-- app again. For public devices, Device Farm always signs your apps again.
--
-- For more information about how Device Farm re-signs your apps, see
-- <http://aws.amazon.com/device-farm/faqs/ Do you modify my app?> in the
-- /AWS Device Farm FAQs/.
accountSettings_skipAppResign :: Lens.Lens' AccountSettings (Prelude.Maybe Prelude.Bool)
accountSettings_skipAppResign :: Lens' AccountSettings (Maybe Bool)
accountSettings_skipAppResign = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AccountSettings' {Maybe Bool
skipAppResign :: Maybe Bool
$sel:skipAppResign:AccountSettings' :: AccountSettings -> Maybe Bool
skipAppResign} -> Maybe Bool
skipAppResign) (\s :: AccountSettings
s@AccountSettings' {} Maybe Bool
a -> AccountSettings
s {$sel:skipAppResign:AccountSettings' :: Maybe Bool
skipAppResign = Maybe Bool
a} :: AccountSettings)

-- | Information about an AWS account\'s usage of free trial device minutes.
accountSettings_trialMinutes :: Lens.Lens' AccountSettings (Prelude.Maybe TrialMinutes)
accountSettings_trialMinutes :: Lens' AccountSettings (Maybe TrialMinutes)
accountSettings_trialMinutes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AccountSettings' {Maybe TrialMinutes
trialMinutes :: Maybe TrialMinutes
$sel:trialMinutes:AccountSettings' :: AccountSettings -> Maybe TrialMinutes
trialMinutes} -> Maybe TrialMinutes
trialMinutes) (\s :: AccountSettings
s@AccountSettings' {} Maybe TrialMinutes
a -> AccountSettings
s {$sel:trialMinutes:AccountSettings' :: Maybe TrialMinutes
trialMinutes = Maybe TrialMinutes
a} :: AccountSettings)

-- | Returns the unmetered devices you have purchased or want to purchase.
accountSettings_unmeteredDevices :: Lens.Lens' AccountSettings (Prelude.Maybe (Prelude.HashMap DevicePlatform Prelude.Int))
accountSettings_unmeteredDevices :: Lens' AccountSettings (Maybe (HashMap DevicePlatform Int))
accountSettings_unmeteredDevices = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AccountSettings' {Maybe (HashMap DevicePlatform Int)
unmeteredDevices :: Maybe (HashMap DevicePlatform Int)
$sel:unmeteredDevices:AccountSettings' :: AccountSettings -> Maybe (HashMap DevicePlatform Int)
unmeteredDevices} -> Maybe (HashMap DevicePlatform Int)
unmeteredDevices) (\s :: AccountSettings
s@AccountSettings' {} Maybe (HashMap DevicePlatform Int)
a -> AccountSettings
s {$sel:unmeteredDevices:AccountSettings' :: Maybe (HashMap DevicePlatform Int)
unmeteredDevices = Maybe (HashMap DevicePlatform Int)
a} :: AccountSettings) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Returns the unmetered remote access devices you have purchased or want
-- to purchase.
accountSettings_unmeteredRemoteAccessDevices :: Lens.Lens' AccountSettings (Prelude.Maybe (Prelude.HashMap DevicePlatform Prelude.Int))
accountSettings_unmeteredRemoteAccessDevices :: Lens' AccountSettings (Maybe (HashMap DevicePlatform Int))
accountSettings_unmeteredRemoteAccessDevices = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AccountSettings' {Maybe (HashMap DevicePlatform Int)
unmeteredRemoteAccessDevices :: Maybe (HashMap DevicePlatform Int)
$sel:unmeteredRemoteAccessDevices:AccountSettings' :: AccountSettings -> Maybe (HashMap DevicePlatform Int)
unmeteredRemoteAccessDevices} -> Maybe (HashMap DevicePlatform Int)
unmeteredRemoteAccessDevices) (\s :: AccountSettings
s@AccountSettings' {} Maybe (HashMap DevicePlatform Int)
a -> AccountSettings
s {$sel:unmeteredRemoteAccessDevices:AccountSettings' :: Maybe (HashMap DevicePlatform Int)
unmeteredRemoteAccessDevices = Maybe (HashMap DevicePlatform Int)
a} :: AccountSettings) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

instance Data.FromJSON AccountSettings where
  parseJSON :: Value -> Parser AccountSettings
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"AccountSettings"
      ( \Object
x ->
          Maybe Text
-> Maybe Int
-> Maybe Int
-> Maybe (HashMap Text Int)
-> Maybe Bool
-> Maybe TrialMinutes
-> Maybe (HashMap DevicePlatform Int)
-> Maybe (HashMap DevicePlatform Int)
-> AccountSettings
AccountSettings'
            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
"awsAccountNumber")
            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
"defaultJobTimeoutMinutes")
            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
"maxJobTimeoutMinutes")
            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
"maxSlots" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"skipAppResign")
            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
"trialMinutes")
            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
"unmeteredDevices"
                            forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"unmeteredRemoteAccessDevices"
                            forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty
                        )
      )

instance Prelude.Hashable AccountSettings where
  hashWithSalt :: Int -> AccountSettings -> Int
hashWithSalt Int
_salt AccountSettings' {Maybe Bool
Maybe Int
Maybe Text
Maybe (HashMap Text Int)
Maybe (HashMap DevicePlatform Int)
Maybe TrialMinutes
unmeteredRemoteAccessDevices :: Maybe (HashMap DevicePlatform Int)
unmeteredDevices :: Maybe (HashMap DevicePlatform Int)
trialMinutes :: Maybe TrialMinutes
skipAppResign :: Maybe Bool
maxSlots :: Maybe (HashMap Text Int)
maxJobTimeoutMinutes :: Maybe Int
defaultJobTimeoutMinutes :: Maybe Int
awsAccountNumber :: Maybe Text
$sel:unmeteredRemoteAccessDevices:AccountSettings' :: AccountSettings -> Maybe (HashMap DevicePlatform Int)
$sel:unmeteredDevices:AccountSettings' :: AccountSettings -> Maybe (HashMap DevicePlatform Int)
$sel:trialMinutes:AccountSettings' :: AccountSettings -> Maybe TrialMinutes
$sel:skipAppResign:AccountSettings' :: AccountSettings -> Maybe Bool
$sel:maxSlots:AccountSettings' :: AccountSettings -> Maybe (HashMap Text Int)
$sel:maxJobTimeoutMinutes:AccountSettings' :: AccountSettings -> Maybe Int
$sel:defaultJobTimeoutMinutes:AccountSettings' :: AccountSettings -> Maybe Int
$sel:awsAccountNumber:AccountSettings' :: AccountSettings -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
awsAccountNumber
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
defaultJobTimeoutMinutes
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
maxJobTimeoutMinutes
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Int)
maxSlots
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
skipAppResign
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TrialMinutes
trialMinutes
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap DevicePlatform Int)
unmeteredDevices
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap DevicePlatform Int)
unmeteredRemoteAccessDevices

instance Prelude.NFData AccountSettings where
  rnf :: AccountSettings -> ()
rnf AccountSettings' {Maybe Bool
Maybe Int
Maybe Text
Maybe (HashMap Text Int)
Maybe (HashMap DevicePlatform Int)
Maybe TrialMinutes
unmeteredRemoteAccessDevices :: Maybe (HashMap DevicePlatform Int)
unmeteredDevices :: Maybe (HashMap DevicePlatform Int)
trialMinutes :: Maybe TrialMinutes
skipAppResign :: Maybe Bool
maxSlots :: Maybe (HashMap Text Int)
maxJobTimeoutMinutes :: Maybe Int
defaultJobTimeoutMinutes :: Maybe Int
awsAccountNumber :: Maybe Text
$sel:unmeteredRemoteAccessDevices:AccountSettings' :: AccountSettings -> Maybe (HashMap DevicePlatform Int)
$sel:unmeteredDevices:AccountSettings' :: AccountSettings -> Maybe (HashMap DevicePlatform Int)
$sel:trialMinutes:AccountSettings' :: AccountSettings -> Maybe TrialMinutes
$sel:skipAppResign:AccountSettings' :: AccountSettings -> Maybe Bool
$sel:maxSlots:AccountSettings' :: AccountSettings -> Maybe (HashMap Text Int)
$sel:maxJobTimeoutMinutes:AccountSettings' :: AccountSettings -> Maybe Int
$sel:defaultJobTimeoutMinutes:AccountSettings' :: AccountSettings -> Maybe Int
$sel:awsAccountNumber:AccountSettings' :: AccountSettings -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
awsAccountNumber
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
defaultJobTimeoutMinutes
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
maxJobTimeoutMinutes
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Int)
maxSlots
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
skipAppResign
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TrialMinutes
trialMinutes
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap DevicePlatform Int)
unmeteredDevices
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap DevicePlatform Int)
unmeteredRemoteAccessDevices