{-# 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.AlexaBusiness.Types.Profile
-- 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.AlexaBusiness.Types.Profile where

import Amazonka.AlexaBusiness.Types.DistanceUnit
import Amazonka.AlexaBusiness.Types.MeetingRoomConfiguration
import Amazonka.AlexaBusiness.Types.TemperatureUnit
import Amazonka.AlexaBusiness.Types.WakeWord
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude

-- | A room profile with attributes.
--
-- /See:/ 'newProfile' smart constructor.
data Profile = Profile'
  { -- | The address of a room profile.
    Profile -> Maybe Text
address :: Prelude.Maybe Prelude.Text,
    -- | The ARN of the address book.
    Profile -> Maybe Text
addressBookArn :: Prelude.Maybe Prelude.Text,
    -- | Whether data retention of the profile is enabled.
    Profile -> Maybe Bool
dataRetentionOptIn :: Prelude.Maybe Prelude.Bool,
    -- | The distance unit of a room profile.
    Profile -> Maybe DistanceUnit
distanceUnit :: Prelude.Maybe DistanceUnit,
    -- | Retrieves if the profile is default or not.
    Profile -> Maybe Bool
isDefault :: Prelude.Maybe Prelude.Bool,
    -- | The locale of a room profile. (This is currently available only to a
    -- limited preview audience.)
    Profile -> Maybe Text
locale :: Prelude.Maybe Prelude.Text,
    -- | The max volume limit of a room profile.
    Profile -> Maybe Int
maxVolumeLimit :: Prelude.Maybe Prelude.Int,
    -- | Meeting room settings of a room profile.
    Profile -> Maybe MeetingRoomConfiguration
meetingRoomConfiguration :: Prelude.Maybe MeetingRoomConfiguration,
    -- | The PSTN setting of a room profile.
    Profile -> Maybe Bool
pSTNEnabled :: Prelude.Maybe Prelude.Bool,
    -- | The ARN of a room profile.
    Profile -> Maybe Text
profileArn :: Prelude.Maybe Prelude.Text,
    -- | The name of a room profile.
    Profile -> Maybe Text
profileName :: Prelude.Maybe Prelude.Text,
    -- | The setup mode of a room profile.
    Profile -> Maybe Bool
setupModeDisabled :: Prelude.Maybe Prelude.Bool,
    -- | The temperature unit of a room profile.
    Profile -> Maybe TemperatureUnit
temperatureUnit :: Prelude.Maybe TemperatureUnit,
    -- | The time zone of a room profile.
    Profile -> Maybe Text
timezone :: Prelude.Maybe Prelude.Text,
    -- | The wake word of a room profile.
    Profile -> Maybe WakeWord
wakeWord :: Prelude.Maybe WakeWord
  }
  deriving (Profile -> Profile -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Profile -> Profile -> Bool
$c/= :: Profile -> Profile -> Bool
== :: Profile -> Profile -> Bool
$c== :: Profile -> Profile -> Bool
Prelude.Eq, ReadPrec [Profile]
ReadPrec Profile
Int -> ReadS Profile
ReadS [Profile]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [Profile]
$creadListPrec :: ReadPrec [Profile]
readPrec :: ReadPrec Profile
$creadPrec :: ReadPrec Profile
readList :: ReadS [Profile]
$creadList :: ReadS [Profile]
readsPrec :: Int -> ReadS Profile
$creadsPrec :: Int -> ReadS Profile
Prelude.Read, Int -> Profile -> ShowS
[Profile] -> ShowS
Profile -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Profile] -> ShowS
$cshowList :: [Profile] -> ShowS
show :: Profile -> String
$cshow :: Profile -> String
showsPrec :: Int -> Profile -> ShowS
$cshowsPrec :: Int -> Profile -> ShowS
Prelude.Show, forall x. Rep Profile x -> Profile
forall x. Profile -> Rep Profile x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Profile x -> Profile
$cfrom :: forall x. Profile -> Rep Profile x
Prelude.Generic)

-- |
-- Create a value of 'Profile' 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:
--
-- 'address', 'profile_address' - The address of a room profile.
--
-- 'addressBookArn', 'profile_addressBookArn' - The ARN of the address book.
--
-- 'dataRetentionOptIn', 'profile_dataRetentionOptIn' - Whether data retention of the profile is enabled.
--
-- 'distanceUnit', 'profile_distanceUnit' - The distance unit of a room profile.
--
-- 'isDefault', 'profile_isDefault' - Retrieves if the profile is default or not.
--
-- 'locale', 'profile_locale' - The locale of a room profile. (This is currently available only to a
-- limited preview audience.)
--
-- 'maxVolumeLimit', 'profile_maxVolumeLimit' - The max volume limit of a room profile.
--
-- 'meetingRoomConfiguration', 'profile_meetingRoomConfiguration' - Meeting room settings of a room profile.
--
-- 'pSTNEnabled', 'profile_pSTNEnabled' - The PSTN setting of a room profile.
--
-- 'profileArn', 'profile_profileArn' - The ARN of a room profile.
--
-- 'profileName', 'profile_profileName' - The name of a room profile.
--
-- 'setupModeDisabled', 'profile_setupModeDisabled' - The setup mode of a room profile.
--
-- 'temperatureUnit', 'profile_temperatureUnit' - The temperature unit of a room profile.
--
-- 'timezone', 'profile_timezone' - The time zone of a room profile.
--
-- 'wakeWord', 'profile_wakeWord' - The wake word of a room profile.
newProfile ::
  Profile
newProfile :: Profile
newProfile =
  Profile'
    { $sel:address:Profile' :: Maybe Text
address = forall a. Maybe a
Prelude.Nothing,
      $sel:addressBookArn:Profile' :: Maybe Text
addressBookArn = forall a. Maybe a
Prelude.Nothing,
      $sel:dataRetentionOptIn:Profile' :: Maybe Bool
dataRetentionOptIn = forall a. Maybe a
Prelude.Nothing,
      $sel:distanceUnit:Profile' :: Maybe DistanceUnit
distanceUnit = forall a. Maybe a
Prelude.Nothing,
      $sel:isDefault:Profile' :: Maybe Bool
isDefault = forall a. Maybe a
Prelude.Nothing,
      $sel:locale:Profile' :: Maybe Text
locale = forall a. Maybe a
Prelude.Nothing,
      $sel:maxVolumeLimit:Profile' :: Maybe Int
maxVolumeLimit = forall a. Maybe a
Prelude.Nothing,
      $sel:meetingRoomConfiguration:Profile' :: Maybe MeetingRoomConfiguration
meetingRoomConfiguration = forall a. Maybe a
Prelude.Nothing,
      $sel:pSTNEnabled:Profile' :: Maybe Bool
pSTNEnabled = forall a. Maybe a
Prelude.Nothing,
      $sel:profileArn:Profile' :: Maybe Text
profileArn = forall a. Maybe a
Prelude.Nothing,
      $sel:profileName:Profile' :: Maybe Text
profileName = forall a. Maybe a
Prelude.Nothing,
      $sel:setupModeDisabled:Profile' :: Maybe Bool
setupModeDisabled = forall a. Maybe a
Prelude.Nothing,
      $sel:temperatureUnit:Profile' :: Maybe TemperatureUnit
temperatureUnit = forall a. Maybe a
Prelude.Nothing,
      $sel:timezone:Profile' :: Maybe Text
timezone = forall a. Maybe a
Prelude.Nothing,
      $sel:wakeWord:Profile' :: Maybe WakeWord
wakeWord = forall a. Maybe a
Prelude.Nothing
    }

-- | The address of a room profile.
profile_address :: Lens.Lens' Profile (Prelude.Maybe Prelude.Text)
profile_address :: Lens' Profile (Maybe Text)
profile_address = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Profile' {Maybe Text
address :: Maybe Text
$sel:address:Profile' :: Profile -> Maybe Text
address} -> Maybe Text
address) (\s :: Profile
s@Profile' {} Maybe Text
a -> Profile
s {$sel:address:Profile' :: Maybe Text
address = Maybe Text
a} :: Profile)

-- | The ARN of the address book.
profile_addressBookArn :: Lens.Lens' Profile (Prelude.Maybe Prelude.Text)
profile_addressBookArn :: Lens' Profile (Maybe Text)
profile_addressBookArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Profile' {Maybe Text
addressBookArn :: Maybe Text
$sel:addressBookArn:Profile' :: Profile -> Maybe Text
addressBookArn} -> Maybe Text
addressBookArn) (\s :: Profile
s@Profile' {} Maybe Text
a -> Profile
s {$sel:addressBookArn:Profile' :: Maybe Text
addressBookArn = Maybe Text
a} :: Profile)

-- | Whether data retention of the profile is enabled.
profile_dataRetentionOptIn :: Lens.Lens' Profile (Prelude.Maybe Prelude.Bool)
profile_dataRetentionOptIn :: Lens' Profile (Maybe Bool)
profile_dataRetentionOptIn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Profile' {Maybe Bool
dataRetentionOptIn :: Maybe Bool
$sel:dataRetentionOptIn:Profile' :: Profile -> Maybe Bool
dataRetentionOptIn} -> Maybe Bool
dataRetentionOptIn) (\s :: Profile
s@Profile' {} Maybe Bool
a -> Profile
s {$sel:dataRetentionOptIn:Profile' :: Maybe Bool
dataRetentionOptIn = Maybe Bool
a} :: Profile)

-- | The distance unit of a room profile.
profile_distanceUnit :: Lens.Lens' Profile (Prelude.Maybe DistanceUnit)
profile_distanceUnit :: Lens' Profile (Maybe DistanceUnit)
profile_distanceUnit = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Profile' {Maybe DistanceUnit
distanceUnit :: Maybe DistanceUnit
$sel:distanceUnit:Profile' :: Profile -> Maybe DistanceUnit
distanceUnit} -> Maybe DistanceUnit
distanceUnit) (\s :: Profile
s@Profile' {} Maybe DistanceUnit
a -> Profile
s {$sel:distanceUnit:Profile' :: Maybe DistanceUnit
distanceUnit = Maybe DistanceUnit
a} :: Profile)

-- | Retrieves if the profile is default or not.
profile_isDefault :: Lens.Lens' Profile (Prelude.Maybe Prelude.Bool)
profile_isDefault :: Lens' Profile (Maybe Bool)
profile_isDefault = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Profile' {Maybe Bool
isDefault :: Maybe Bool
$sel:isDefault:Profile' :: Profile -> Maybe Bool
isDefault} -> Maybe Bool
isDefault) (\s :: Profile
s@Profile' {} Maybe Bool
a -> Profile
s {$sel:isDefault:Profile' :: Maybe Bool
isDefault = Maybe Bool
a} :: Profile)

-- | The locale of a room profile. (This is currently available only to a
-- limited preview audience.)
profile_locale :: Lens.Lens' Profile (Prelude.Maybe Prelude.Text)
profile_locale :: Lens' Profile (Maybe Text)
profile_locale = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Profile' {Maybe Text
locale :: Maybe Text
$sel:locale:Profile' :: Profile -> Maybe Text
locale} -> Maybe Text
locale) (\s :: Profile
s@Profile' {} Maybe Text
a -> Profile
s {$sel:locale:Profile' :: Maybe Text
locale = Maybe Text
a} :: Profile)

-- | The max volume limit of a room profile.
profile_maxVolumeLimit :: Lens.Lens' Profile (Prelude.Maybe Prelude.Int)
profile_maxVolumeLimit :: Lens' Profile (Maybe Int)
profile_maxVolumeLimit = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Profile' {Maybe Int
maxVolumeLimit :: Maybe Int
$sel:maxVolumeLimit:Profile' :: Profile -> Maybe Int
maxVolumeLimit} -> Maybe Int
maxVolumeLimit) (\s :: Profile
s@Profile' {} Maybe Int
a -> Profile
s {$sel:maxVolumeLimit:Profile' :: Maybe Int
maxVolumeLimit = Maybe Int
a} :: Profile)

-- | Meeting room settings of a room profile.
profile_meetingRoomConfiguration :: Lens.Lens' Profile (Prelude.Maybe MeetingRoomConfiguration)
profile_meetingRoomConfiguration :: Lens' Profile (Maybe MeetingRoomConfiguration)
profile_meetingRoomConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Profile' {Maybe MeetingRoomConfiguration
meetingRoomConfiguration :: Maybe MeetingRoomConfiguration
$sel:meetingRoomConfiguration:Profile' :: Profile -> Maybe MeetingRoomConfiguration
meetingRoomConfiguration} -> Maybe MeetingRoomConfiguration
meetingRoomConfiguration) (\s :: Profile
s@Profile' {} Maybe MeetingRoomConfiguration
a -> Profile
s {$sel:meetingRoomConfiguration:Profile' :: Maybe MeetingRoomConfiguration
meetingRoomConfiguration = Maybe MeetingRoomConfiguration
a} :: Profile)

-- | The PSTN setting of a room profile.
profile_pSTNEnabled :: Lens.Lens' Profile (Prelude.Maybe Prelude.Bool)
profile_pSTNEnabled :: Lens' Profile (Maybe Bool)
profile_pSTNEnabled = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Profile' {Maybe Bool
pSTNEnabled :: Maybe Bool
$sel:pSTNEnabled:Profile' :: Profile -> Maybe Bool
pSTNEnabled} -> Maybe Bool
pSTNEnabled) (\s :: Profile
s@Profile' {} Maybe Bool
a -> Profile
s {$sel:pSTNEnabled:Profile' :: Maybe Bool
pSTNEnabled = Maybe Bool
a} :: Profile)

-- | The ARN of a room profile.
profile_profileArn :: Lens.Lens' Profile (Prelude.Maybe Prelude.Text)
profile_profileArn :: Lens' Profile (Maybe Text)
profile_profileArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Profile' {Maybe Text
profileArn :: Maybe Text
$sel:profileArn:Profile' :: Profile -> Maybe Text
profileArn} -> Maybe Text
profileArn) (\s :: Profile
s@Profile' {} Maybe Text
a -> Profile
s {$sel:profileArn:Profile' :: Maybe Text
profileArn = Maybe Text
a} :: Profile)

-- | The name of a room profile.
profile_profileName :: Lens.Lens' Profile (Prelude.Maybe Prelude.Text)
profile_profileName :: Lens' Profile (Maybe Text)
profile_profileName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Profile' {Maybe Text
profileName :: Maybe Text
$sel:profileName:Profile' :: Profile -> Maybe Text
profileName} -> Maybe Text
profileName) (\s :: Profile
s@Profile' {} Maybe Text
a -> Profile
s {$sel:profileName:Profile' :: Maybe Text
profileName = Maybe Text
a} :: Profile)

-- | The setup mode of a room profile.
profile_setupModeDisabled :: Lens.Lens' Profile (Prelude.Maybe Prelude.Bool)
profile_setupModeDisabled :: Lens' Profile (Maybe Bool)
profile_setupModeDisabled = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Profile' {Maybe Bool
setupModeDisabled :: Maybe Bool
$sel:setupModeDisabled:Profile' :: Profile -> Maybe Bool
setupModeDisabled} -> Maybe Bool
setupModeDisabled) (\s :: Profile
s@Profile' {} Maybe Bool
a -> Profile
s {$sel:setupModeDisabled:Profile' :: Maybe Bool
setupModeDisabled = Maybe Bool
a} :: Profile)

-- | The temperature unit of a room profile.
profile_temperatureUnit :: Lens.Lens' Profile (Prelude.Maybe TemperatureUnit)
profile_temperatureUnit :: Lens' Profile (Maybe TemperatureUnit)
profile_temperatureUnit = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Profile' {Maybe TemperatureUnit
temperatureUnit :: Maybe TemperatureUnit
$sel:temperatureUnit:Profile' :: Profile -> Maybe TemperatureUnit
temperatureUnit} -> Maybe TemperatureUnit
temperatureUnit) (\s :: Profile
s@Profile' {} Maybe TemperatureUnit
a -> Profile
s {$sel:temperatureUnit:Profile' :: Maybe TemperatureUnit
temperatureUnit = Maybe TemperatureUnit
a} :: Profile)

-- | The time zone of a room profile.
profile_timezone :: Lens.Lens' Profile (Prelude.Maybe Prelude.Text)
profile_timezone :: Lens' Profile (Maybe Text)
profile_timezone = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Profile' {Maybe Text
timezone :: Maybe Text
$sel:timezone:Profile' :: Profile -> Maybe Text
timezone} -> Maybe Text
timezone) (\s :: Profile
s@Profile' {} Maybe Text
a -> Profile
s {$sel:timezone:Profile' :: Maybe Text
timezone = Maybe Text
a} :: Profile)

-- | The wake word of a room profile.
profile_wakeWord :: Lens.Lens' Profile (Prelude.Maybe WakeWord)
profile_wakeWord :: Lens' Profile (Maybe WakeWord)
profile_wakeWord = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Profile' {Maybe WakeWord
wakeWord :: Maybe WakeWord
$sel:wakeWord:Profile' :: Profile -> Maybe WakeWord
wakeWord} -> Maybe WakeWord
wakeWord) (\s :: Profile
s@Profile' {} Maybe WakeWord
a -> Profile
s {$sel:wakeWord:Profile' :: Maybe WakeWord
wakeWord = Maybe WakeWord
a} :: Profile)

instance Data.FromJSON Profile where
  parseJSON :: Value -> Parser Profile
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"Profile"
      ( \Object
x ->
          Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe DistanceUnit
-> Maybe Bool
-> Maybe Text
-> Maybe Int
-> Maybe MeetingRoomConfiguration
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe TemperatureUnit
-> Maybe Text
-> Maybe WakeWord
-> Profile
Profile'
            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
"Address")
            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
"AddressBookArn")
            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
"DataRetentionOptIn")
            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
"DistanceUnit")
            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
"IsDefault")
            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
"Locale")
            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
"MaxVolumeLimit")
            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
"MeetingRoomConfiguration")
            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
"PSTNEnabled")
            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
"ProfileArn")
            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
"ProfileName")
            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
"SetupModeDisabled")
            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
"TemperatureUnit")
            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
"Timezone")
            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
"WakeWord")
      )

instance Prelude.Hashable Profile where
  hashWithSalt :: Int -> Profile -> Int
hashWithSalt Int
_salt Profile' {Maybe Bool
Maybe Int
Maybe Text
Maybe DistanceUnit
Maybe MeetingRoomConfiguration
Maybe TemperatureUnit
Maybe WakeWord
wakeWord :: Maybe WakeWord
timezone :: Maybe Text
temperatureUnit :: Maybe TemperatureUnit
setupModeDisabled :: Maybe Bool
profileName :: Maybe Text
profileArn :: Maybe Text
pSTNEnabled :: Maybe Bool
meetingRoomConfiguration :: Maybe MeetingRoomConfiguration
maxVolumeLimit :: Maybe Int
locale :: Maybe Text
isDefault :: Maybe Bool
distanceUnit :: Maybe DistanceUnit
dataRetentionOptIn :: Maybe Bool
addressBookArn :: Maybe Text
address :: Maybe Text
$sel:wakeWord:Profile' :: Profile -> Maybe WakeWord
$sel:timezone:Profile' :: Profile -> Maybe Text
$sel:temperatureUnit:Profile' :: Profile -> Maybe TemperatureUnit
$sel:setupModeDisabled:Profile' :: Profile -> Maybe Bool
$sel:profileName:Profile' :: Profile -> Maybe Text
$sel:profileArn:Profile' :: Profile -> Maybe Text
$sel:pSTNEnabled:Profile' :: Profile -> Maybe Bool
$sel:meetingRoomConfiguration:Profile' :: Profile -> Maybe MeetingRoomConfiguration
$sel:maxVolumeLimit:Profile' :: Profile -> Maybe Int
$sel:locale:Profile' :: Profile -> Maybe Text
$sel:isDefault:Profile' :: Profile -> Maybe Bool
$sel:distanceUnit:Profile' :: Profile -> Maybe DistanceUnit
$sel:dataRetentionOptIn:Profile' :: Profile -> Maybe Bool
$sel:addressBookArn:Profile' :: Profile -> Maybe Text
$sel:address:Profile' :: Profile -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
address
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
addressBookArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
dataRetentionOptIn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DistanceUnit
distanceUnit
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
isDefault
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
locale
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
maxVolumeLimit
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe MeetingRoomConfiguration
meetingRoomConfiguration
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
pSTNEnabled
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
profileArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
profileName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
setupModeDisabled
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TemperatureUnit
temperatureUnit
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
timezone
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe WakeWord
wakeWord

instance Prelude.NFData Profile where
  rnf :: Profile -> ()
rnf Profile' {Maybe Bool
Maybe Int
Maybe Text
Maybe DistanceUnit
Maybe MeetingRoomConfiguration
Maybe TemperatureUnit
Maybe WakeWord
wakeWord :: Maybe WakeWord
timezone :: Maybe Text
temperatureUnit :: Maybe TemperatureUnit
setupModeDisabled :: Maybe Bool
profileName :: Maybe Text
profileArn :: Maybe Text
pSTNEnabled :: Maybe Bool
meetingRoomConfiguration :: Maybe MeetingRoomConfiguration
maxVolumeLimit :: Maybe Int
locale :: Maybe Text
isDefault :: Maybe Bool
distanceUnit :: Maybe DistanceUnit
dataRetentionOptIn :: Maybe Bool
addressBookArn :: Maybe Text
address :: Maybe Text
$sel:wakeWord:Profile' :: Profile -> Maybe WakeWord
$sel:timezone:Profile' :: Profile -> Maybe Text
$sel:temperatureUnit:Profile' :: Profile -> Maybe TemperatureUnit
$sel:setupModeDisabled:Profile' :: Profile -> Maybe Bool
$sel:profileName:Profile' :: Profile -> Maybe Text
$sel:profileArn:Profile' :: Profile -> Maybe Text
$sel:pSTNEnabled:Profile' :: Profile -> Maybe Bool
$sel:meetingRoomConfiguration:Profile' :: Profile -> Maybe MeetingRoomConfiguration
$sel:maxVolumeLimit:Profile' :: Profile -> Maybe Int
$sel:locale:Profile' :: Profile -> Maybe Text
$sel:isDefault:Profile' :: Profile -> Maybe Bool
$sel:distanceUnit:Profile' :: Profile -> Maybe DistanceUnit
$sel:dataRetentionOptIn:Profile' :: Profile -> Maybe Bool
$sel:addressBookArn:Profile' :: Profile -> Maybe Text
$sel:address:Profile' :: Profile -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
address
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
addressBookArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
dataRetentionOptIn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DistanceUnit
distanceUnit
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
isDefault
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
locale
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
maxVolumeLimit
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe MeetingRoomConfiguration
meetingRoomConfiguration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
pSTNEnabled
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
profileArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
profileName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
setupModeDisabled
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TemperatureUnit
temperatureUnit
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
timezone
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe WakeWord
wakeWord