{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.WorkSpaces.ImportClientBranding
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Imports client branding. Client branding allows you to customize your
-- WorkSpace\'s client login portal. You can tailor your login portal
-- company logo, the support email address, support link, link to reset
-- password, and a custom message for users trying to sign in.
--
-- After you import client branding, the default branding experience for
-- the specified platform type is replaced with the imported experience
--
-- -   You must specify at least one platform type when importing client
--     branding.
--
-- -   You can import up to 6 MB of data with each request. If your request
--     exceeds this limit, you can import client branding for different
--     platform types using separate requests.
--
-- -   In each platform type, the @SupportEmail@ and @SupportLink@
--     parameters are mutually exclusive. You can specify only one
--     parameter for each platform type, but not both.
--
-- -   Imported data can take up to a minute to appear in the WorkSpaces
--     client.
module Amazonka.WorkSpaces.ImportClientBranding
  ( -- * Creating a Request
    ImportClientBranding (..),
    newImportClientBranding,

    -- * Request Lenses
    importClientBranding_deviceTypeAndroid,
    importClientBranding_deviceTypeIos,
    importClientBranding_deviceTypeLinux,
    importClientBranding_deviceTypeOsx,
    importClientBranding_deviceTypeWeb,
    importClientBranding_deviceTypeWindows,
    importClientBranding_resourceId,

    -- * Destructuring the Response
    ImportClientBrandingResponse (..),
    newImportClientBrandingResponse,

    -- * Response Lenses
    importClientBrandingResponse_deviceTypeAndroid,
    importClientBrandingResponse_deviceTypeIos,
    importClientBrandingResponse_deviceTypeLinux,
    importClientBrandingResponse_deviceTypeOsx,
    importClientBrandingResponse_deviceTypeWeb,
    importClientBrandingResponse_deviceTypeWindows,
    importClientBrandingResponse_httpStatus,
  )
where

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
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.WorkSpaces.Types

-- | /See:/ 'newImportClientBranding' smart constructor.
data ImportClientBranding = ImportClientBranding'
  { -- | The branding information to import for Android devices.
    ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
deviceTypeAndroid :: Prelude.Maybe DefaultImportClientBrandingAttributes,
    -- | The branding information to import for iOS devices.
    ImportClientBranding -> Maybe IosImportClientBrandingAttributes
deviceTypeIos :: Prelude.Maybe IosImportClientBrandingAttributes,
    -- | The branding information to import for Linux devices.
    ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
deviceTypeLinux :: Prelude.Maybe DefaultImportClientBrandingAttributes,
    -- | The branding information to import for macOS devices.
    ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
deviceTypeOsx :: Prelude.Maybe DefaultImportClientBrandingAttributes,
    -- | The branding information to import for web access.
    ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
deviceTypeWeb :: Prelude.Maybe DefaultImportClientBrandingAttributes,
    -- | The branding information to import for Windows devices.
    ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
deviceTypeWindows :: Prelude.Maybe DefaultImportClientBrandingAttributes,
    -- | The directory identifier of the WorkSpace for which you want to import
    -- client branding.
    ImportClientBranding -> Text
resourceId :: Prelude.Text
  }
  deriving (ImportClientBranding -> ImportClientBranding -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ImportClientBranding -> ImportClientBranding -> Bool
$c/= :: ImportClientBranding -> ImportClientBranding -> Bool
== :: ImportClientBranding -> ImportClientBranding -> Bool
$c== :: ImportClientBranding -> ImportClientBranding -> Bool
Prelude.Eq, ReadPrec [ImportClientBranding]
ReadPrec ImportClientBranding
Int -> ReadS ImportClientBranding
ReadS [ImportClientBranding]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ImportClientBranding]
$creadListPrec :: ReadPrec [ImportClientBranding]
readPrec :: ReadPrec ImportClientBranding
$creadPrec :: ReadPrec ImportClientBranding
readList :: ReadS [ImportClientBranding]
$creadList :: ReadS [ImportClientBranding]
readsPrec :: Int -> ReadS ImportClientBranding
$creadsPrec :: Int -> ReadS ImportClientBranding
Prelude.Read, Int -> ImportClientBranding -> ShowS
[ImportClientBranding] -> ShowS
ImportClientBranding -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ImportClientBranding] -> ShowS
$cshowList :: [ImportClientBranding] -> ShowS
show :: ImportClientBranding -> String
$cshow :: ImportClientBranding -> String
showsPrec :: Int -> ImportClientBranding -> ShowS
$cshowsPrec :: Int -> ImportClientBranding -> ShowS
Prelude.Show, forall x. Rep ImportClientBranding x -> ImportClientBranding
forall x. ImportClientBranding -> Rep ImportClientBranding x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ImportClientBranding x -> ImportClientBranding
$cfrom :: forall x. ImportClientBranding -> Rep ImportClientBranding x
Prelude.Generic)

-- |
-- Create a value of 'ImportClientBranding' 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:
--
-- 'deviceTypeAndroid', 'importClientBranding_deviceTypeAndroid' - The branding information to import for Android devices.
--
-- 'deviceTypeIos', 'importClientBranding_deviceTypeIos' - The branding information to import for iOS devices.
--
-- 'deviceTypeLinux', 'importClientBranding_deviceTypeLinux' - The branding information to import for Linux devices.
--
-- 'deviceTypeOsx', 'importClientBranding_deviceTypeOsx' - The branding information to import for macOS devices.
--
-- 'deviceTypeWeb', 'importClientBranding_deviceTypeWeb' - The branding information to import for web access.
--
-- 'deviceTypeWindows', 'importClientBranding_deviceTypeWindows' - The branding information to import for Windows devices.
--
-- 'resourceId', 'importClientBranding_resourceId' - The directory identifier of the WorkSpace for which you want to import
-- client branding.
newImportClientBranding ::
  -- | 'resourceId'
  Prelude.Text ->
  ImportClientBranding
newImportClientBranding :: Text -> ImportClientBranding
newImportClientBranding Text
pResourceId_ =
  ImportClientBranding'
    { $sel:deviceTypeAndroid:ImportClientBranding' :: Maybe DefaultImportClientBrandingAttributes
deviceTypeAndroid =
        forall a. Maybe a
Prelude.Nothing,
      $sel:deviceTypeIos:ImportClientBranding' :: Maybe IosImportClientBrandingAttributes
deviceTypeIos = forall a. Maybe a
Prelude.Nothing,
      $sel:deviceTypeLinux:ImportClientBranding' :: Maybe DefaultImportClientBrandingAttributes
deviceTypeLinux = forall a. Maybe a
Prelude.Nothing,
      $sel:deviceTypeOsx:ImportClientBranding' :: Maybe DefaultImportClientBrandingAttributes
deviceTypeOsx = forall a. Maybe a
Prelude.Nothing,
      $sel:deviceTypeWeb:ImportClientBranding' :: Maybe DefaultImportClientBrandingAttributes
deviceTypeWeb = forall a. Maybe a
Prelude.Nothing,
      $sel:deviceTypeWindows:ImportClientBranding' :: Maybe DefaultImportClientBrandingAttributes
deviceTypeWindows = forall a. Maybe a
Prelude.Nothing,
      $sel:resourceId:ImportClientBranding' :: Text
resourceId = Text
pResourceId_
    }

-- | The branding information to import for Android devices.
importClientBranding_deviceTypeAndroid :: Lens.Lens' ImportClientBranding (Prelude.Maybe DefaultImportClientBrandingAttributes)
importClientBranding_deviceTypeAndroid :: Lens'
  ImportClientBranding (Maybe DefaultImportClientBrandingAttributes)
importClientBranding_deviceTypeAndroid = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportClientBranding' {Maybe DefaultImportClientBrandingAttributes
deviceTypeAndroid :: Maybe DefaultImportClientBrandingAttributes
$sel:deviceTypeAndroid:ImportClientBranding' :: ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
deviceTypeAndroid} -> Maybe DefaultImportClientBrandingAttributes
deviceTypeAndroid) (\s :: ImportClientBranding
s@ImportClientBranding' {} Maybe DefaultImportClientBrandingAttributes
a -> ImportClientBranding
s {$sel:deviceTypeAndroid:ImportClientBranding' :: Maybe DefaultImportClientBrandingAttributes
deviceTypeAndroid = Maybe DefaultImportClientBrandingAttributes
a} :: ImportClientBranding)

-- | The branding information to import for iOS devices.
importClientBranding_deviceTypeIos :: Lens.Lens' ImportClientBranding (Prelude.Maybe IosImportClientBrandingAttributes)
importClientBranding_deviceTypeIos :: Lens'
  ImportClientBranding (Maybe IosImportClientBrandingAttributes)
importClientBranding_deviceTypeIos = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportClientBranding' {Maybe IosImportClientBrandingAttributes
deviceTypeIos :: Maybe IosImportClientBrandingAttributes
$sel:deviceTypeIos:ImportClientBranding' :: ImportClientBranding -> Maybe IosImportClientBrandingAttributes
deviceTypeIos} -> Maybe IosImportClientBrandingAttributes
deviceTypeIos) (\s :: ImportClientBranding
s@ImportClientBranding' {} Maybe IosImportClientBrandingAttributes
a -> ImportClientBranding
s {$sel:deviceTypeIos:ImportClientBranding' :: Maybe IosImportClientBrandingAttributes
deviceTypeIos = Maybe IosImportClientBrandingAttributes
a} :: ImportClientBranding)

-- | The branding information to import for Linux devices.
importClientBranding_deviceTypeLinux :: Lens.Lens' ImportClientBranding (Prelude.Maybe DefaultImportClientBrandingAttributes)
importClientBranding_deviceTypeLinux :: Lens'
  ImportClientBranding (Maybe DefaultImportClientBrandingAttributes)
importClientBranding_deviceTypeLinux = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportClientBranding' {Maybe DefaultImportClientBrandingAttributes
deviceTypeLinux :: Maybe DefaultImportClientBrandingAttributes
$sel:deviceTypeLinux:ImportClientBranding' :: ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
deviceTypeLinux} -> Maybe DefaultImportClientBrandingAttributes
deviceTypeLinux) (\s :: ImportClientBranding
s@ImportClientBranding' {} Maybe DefaultImportClientBrandingAttributes
a -> ImportClientBranding
s {$sel:deviceTypeLinux:ImportClientBranding' :: Maybe DefaultImportClientBrandingAttributes
deviceTypeLinux = Maybe DefaultImportClientBrandingAttributes
a} :: ImportClientBranding)

-- | The branding information to import for macOS devices.
importClientBranding_deviceTypeOsx :: Lens.Lens' ImportClientBranding (Prelude.Maybe DefaultImportClientBrandingAttributes)
importClientBranding_deviceTypeOsx :: Lens'
  ImportClientBranding (Maybe DefaultImportClientBrandingAttributes)
importClientBranding_deviceTypeOsx = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportClientBranding' {Maybe DefaultImportClientBrandingAttributes
deviceTypeOsx :: Maybe DefaultImportClientBrandingAttributes
$sel:deviceTypeOsx:ImportClientBranding' :: ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
deviceTypeOsx} -> Maybe DefaultImportClientBrandingAttributes
deviceTypeOsx) (\s :: ImportClientBranding
s@ImportClientBranding' {} Maybe DefaultImportClientBrandingAttributes
a -> ImportClientBranding
s {$sel:deviceTypeOsx:ImportClientBranding' :: Maybe DefaultImportClientBrandingAttributes
deviceTypeOsx = Maybe DefaultImportClientBrandingAttributes
a} :: ImportClientBranding)

-- | The branding information to import for web access.
importClientBranding_deviceTypeWeb :: Lens.Lens' ImportClientBranding (Prelude.Maybe DefaultImportClientBrandingAttributes)
importClientBranding_deviceTypeWeb :: Lens'
  ImportClientBranding (Maybe DefaultImportClientBrandingAttributes)
importClientBranding_deviceTypeWeb = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportClientBranding' {Maybe DefaultImportClientBrandingAttributes
deviceTypeWeb :: Maybe DefaultImportClientBrandingAttributes
$sel:deviceTypeWeb:ImportClientBranding' :: ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
deviceTypeWeb} -> Maybe DefaultImportClientBrandingAttributes
deviceTypeWeb) (\s :: ImportClientBranding
s@ImportClientBranding' {} Maybe DefaultImportClientBrandingAttributes
a -> ImportClientBranding
s {$sel:deviceTypeWeb:ImportClientBranding' :: Maybe DefaultImportClientBrandingAttributes
deviceTypeWeb = Maybe DefaultImportClientBrandingAttributes
a} :: ImportClientBranding)

-- | The branding information to import for Windows devices.
importClientBranding_deviceTypeWindows :: Lens.Lens' ImportClientBranding (Prelude.Maybe DefaultImportClientBrandingAttributes)
importClientBranding_deviceTypeWindows :: Lens'
  ImportClientBranding (Maybe DefaultImportClientBrandingAttributes)
importClientBranding_deviceTypeWindows = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportClientBranding' {Maybe DefaultImportClientBrandingAttributes
deviceTypeWindows :: Maybe DefaultImportClientBrandingAttributes
$sel:deviceTypeWindows:ImportClientBranding' :: ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
deviceTypeWindows} -> Maybe DefaultImportClientBrandingAttributes
deviceTypeWindows) (\s :: ImportClientBranding
s@ImportClientBranding' {} Maybe DefaultImportClientBrandingAttributes
a -> ImportClientBranding
s {$sel:deviceTypeWindows:ImportClientBranding' :: Maybe DefaultImportClientBrandingAttributes
deviceTypeWindows = Maybe DefaultImportClientBrandingAttributes
a} :: ImportClientBranding)

-- | The directory identifier of the WorkSpace for which you want to import
-- client branding.
importClientBranding_resourceId :: Lens.Lens' ImportClientBranding Prelude.Text
importClientBranding_resourceId :: Lens' ImportClientBranding Text
importClientBranding_resourceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportClientBranding' {Text
resourceId :: Text
$sel:resourceId:ImportClientBranding' :: ImportClientBranding -> Text
resourceId} -> Text
resourceId) (\s :: ImportClientBranding
s@ImportClientBranding' {} Text
a -> ImportClientBranding
s {$sel:resourceId:ImportClientBranding' :: Text
resourceId = Text
a} :: ImportClientBranding)

instance Core.AWSRequest ImportClientBranding where
  type
    AWSResponse ImportClientBranding =
      ImportClientBrandingResponse
  request :: (Service -> Service)
-> ImportClientBranding -> Request ImportClientBranding
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy ImportClientBranding
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse ImportClientBranding)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe DefaultClientBrandingAttributes
-> Maybe IosClientBrandingAttributes
-> Maybe DefaultClientBrandingAttributes
-> Maybe DefaultClientBrandingAttributes
-> Maybe DefaultClientBrandingAttributes
-> Maybe DefaultClientBrandingAttributes
-> Int
-> ImportClientBrandingResponse
ImportClientBrandingResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"DeviceTypeAndroid")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"DeviceTypeIos")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"DeviceTypeLinux")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"DeviceTypeOsx")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"DeviceTypeWeb")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"DeviceTypeWindows")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable ImportClientBranding where
  hashWithSalt :: Int -> ImportClientBranding -> Int
hashWithSalt Int
_salt ImportClientBranding' {Maybe DefaultImportClientBrandingAttributes
Maybe IosImportClientBrandingAttributes
Text
resourceId :: Text
deviceTypeWindows :: Maybe DefaultImportClientBrandingAttributes
deviceTypeWeb :: Maybe DefaultImportClientBrandingAttributes
deviceTypeOsx :: Maybe DefaultImportClientBrandingAttributes
deviceTypeLinux :: Maybe DefaultImportClientBrandingAttributes
deviceTypeIos :: Maybe IosImportClientBrandingAttributes
deviceTypeAndroid :: Maybe DefaultImportClientBrandingAttributes
$sel:resourceId:ImportClientBranding' :: ImportClientBranding -> Text
$sel:deviceTypeWindows:ImportClientBranding' :: ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
$sel:deviceTypeWeb:ImportClientBranding' :: ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
$sel:deviceTypeOsx:ImportClientBranding' :: ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
$sel:deviceTypeLinux:ImportClientBranding' :: ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
$sel:deviceTypeIos:ImportClientBranding' :: ImportClientBranding -> Maybe IosImportClientBrandingAttributes
$sel:deviceTypeAndroid:ImportClientBranding' :: ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DefaultImportClientBrandingAttributes
deviceTypeAndroid
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe IosImportClientBrandingAttributes
deviceTypeIos
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DefaultImportClientBrandingAttributes
deviceTypeLinux
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DefaultImportClientBrandingAttributes
deviceTypeOsx
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DefaultImportClientBrandingAttributes
deviceTypeWeb
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DefaultImportClientBrandingAttributes
deviceTypeWindows
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resourceId

instance Prelude.NFData ImportClientBranding where
  rnf :: ImportClientBranding -> ()
rnf ImportClientBranding' {Maybe DefaultImportClientBrandingAttributes
Maybe IosImportClientBrandingAttributes
Text
resourceId :: Text
deviceTypeWindows :: Maybe DefaultImportClientBrandingAttributes
deviceTypeWeb :: Maybe DefaultImportClientBrandingAttributes
deviceTypeOsx :: Maybe DefaultImportClientBrandingAttributes
deviceTypeLinux :: Maybe DefaultImportClientBrandingAttributes
deviceTypeIos :: Maybe IosImportClientBrandingAttributes
deviceTypeAndroid :: Maybe DefaultImportClientBrandingAttributes
$sel:resourceId:ImportClientBranding' :: ImportClientBranding -> Text
$sel:deviceTypeWindows:ImportClientBranding' :: ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
$sel:deviceTypeWeb:ImportClientBranding' :: ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
$sel:deviceTypeOsx:ImportClientBranding' :: ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
$sel:deviceTypeLinux:ImportClientBranding' :: ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
$sel:deviceTypeIos:ImportClientBranding' :: ImportClientBranding -> Maybe IosImportClientBrandingAttributes
$sel:deviceTypeAndroid:ImportClientBranding' :: ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe DefaultImportClientBrandingAttributes
deviceTypeAndroid
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe IosImportClientBrandingAttributes
deviceTypeIos
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DefaultImportClientBrandingAttributes
deviceTypeLinux
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DefaultImportClientBrandingAttributes
deviceTypeOsx
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DefaultImportClientBrandingAttributes
deviceTypeWeb
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DefaultImportClientBrandingAttributes
deviceTypeWindows
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
resourceId

instance Data.ToHeaders ImportClientBranding where
  toHeaders :: ImportClientBranding -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"WorkspacesService.ImportClientBranding" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON ImportClientBranding where
  toJSON :: ImportClientBranding -> Value
toJSON ImportClientBranding' {Maybe DefaultImportClientBrandingAttributes
Maybe IosImportClientBrandingAttributes
Text
resourceId :: Text
deviceTypeWindows :: Maybe DefaultImportClientBrandingAttributes
deviceTypeWeb :: Maybe DefaultImportClientBrandingAttributes
deviceTypeOsx :: Maybe DefaultImportClientBrandingAttributes
deviceTypeLinux :: Maybe DefaultImportClientBrandingAttributes
deviceTypeIos :: Maybe IosImportClientBrandingAttributes
deviceTypeAndroid :: Maybe DefaultImportClientBrandingAttributes
$sel:resourceId:ImportClientBranding' :: ImportClientBranding -> Text
$sel:deviceTypeWindows:ImportClientBranding' :: ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
$sel:deviceTypeWeb:ImportClientBranding' :: ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
$sel:deviceTypeOsx:ImportClientBranding' :: ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
$sel:deviceTypeLinux:ImportClientBranding' :: ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
$sel:deviceTypeIos:ImportClientBranding' :: ImportClientBranding -> Maybe IosImportClientBrandingAttributes
$sel:deviceTypeAndroid:ImportClientBranding' :: ImportClientBranding -> Maybe DefaultImportClientBrandingAttributes
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"DeviceTypeAndroid" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DefaultImportClientBrandingAttributes
deviceTypeAndroid,
            (Key
"DeviceTypeIos" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe IosImportClientBrandingAttributes
deviceTypeIos,
            (Key
"DeviceTypeLinux" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DefaultImportClientBrandingAttributes
deviceTypeLinux,
            (Key
"DeviceTypeOsx" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DefaultImportClientBrandingAttributes
deviceTypeOsx,
            (Key
"DeviceTypeWeb" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DefaultImportClientBrandingAttributes
deviceTypeWeb,
            (Key
"DeviceTypeWindows" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DefaultImportClientBrandingAttributes
deviceTypeWindows,
            forall a. a -> Maybe a
Prelude.Just (Key
"ResourceId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
resourceId)
          ]
      )

instance Data.ToPath ImportClientBranding where
  toPath :: ImportClientBranding -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

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

-- | /See:/ 'newImportClientBrandingResponse' smart constructor.
data ImportClientBrandingResponse = ImportClientBrandingResponse'
  { -- | The branding information configured for Android devices.
    ImportClientBrandingResponse
-> Maybe DefaultClientBrandingAttributes
deviceTypeAndroid :: Prelude.Maybe DefaultClientBrandingAttributes,
    -- | The branding information configured for iOS devices.
    ImportClientBrandingResponse -> Maybe IosClientBrandingAttributes
deviceTypeIos :: Prelude.Maybe IosClientBrandingAttributes,
    -- | The branding information configured for Linux devices.
    ImportClientBrandingResponse
-> Maybe DefaultClientBrandingAttributes
deviceTypeLinux :: Prelude.Maybe DefaultClientBrandingAttributes,
    -- | The branding information configured for macOS devices.
    ImportClientBrandingResponse
-> Maybe DefaultClientBrandingAttributes
deviceTypeOsx :: Prelude.Maybe DefaultClientBrandingAttributes,
    -- | The branding information configured for web access.
    ImportClientBrandingResponse
-> Maybe DefaultClientBrandingAttributes
deviceTypeWeb :: Prelude.Maybe DefaultClientBrandingAttributes,
    -- | The branding information configured for Windows devices.
    ImportClientBrandingResponse
-> Maybe DefaultClientBrandingAttributes
deviceTypeWindows :: Prelude.Maybe DefaultClientBrandingAttributes,
    -- | The response's http status code.
    ImportClientBrandingResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ImportClientBrandingResponse
-> ImportClientBrandingResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ImportClientBrandingResponse
-> ImportClientBrandingResponse -> Bool
$c/= :: ImportClientBrandingResponse
-> ImportClientBrandingResponse -> Bool
== :: ImportClientBrandingResponse
-> ImportClientBrandingResponse -> Bool
$c== :: ImportClientBrandingResponse
-> ImportClientBrandingResponse -> Bool
Prelude.Eq, ReadPrec [ImportClientBrandingResponse]
ReadPrec ImportClientBrandingResponse
Int -> ReadS ImportClientBrandingResponse
ReadS [ImportClientBrandingResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ImportClientBrandingResponse]
$creadListPrec :: ReadPrec [ImportClientBrandingResponse]
readPrec :: ReadPrec ImportClientBrandingResponse
$creadPrec :: ReadPrec ImportClientBrandingResponse
readList :: ReadS [ImportClientBrandingResponse]
$creadList :: ReadS [ImportClientBrandingResponse]
readsPrec :: Int -> ReadS ImportClientBrandingResponse
$creadsPrec :: Int -> ReadS ImportClientBrandingResponse
Prelude.Read, Int -> ImportClientBrandingResponse -> ShowS
[ImportClientBrandingResponse] -> ShowS
ImportClientBrandingResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ImportClientBrandingResponse] -> ShowS
$cshowList :: [ImportClientBrandingResponse] -> ShowS
show :: ImportClientBrandingResponse -> String
$cshow :: ImportClientBrandingResponse -> String
showsPrec :: Int -> ImportClientBrandingResponse -> ShowS
$cshowsPrec :: Int -> ImportClientBrandingResponse -> ShowS
Prelude.Show, forall x.
Rep ImportClientBrandingResponse x -> ImportClientBrandingResponse
forall x.
ImportClientBrandingResponse -> Rep ImportClientBrandingResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ImportClientBrandingResponse x -> ImportClientBrandingResponse
$cfrom :: forall x.
ImportClientBrandingResponse -> Rep ImportClientBrandingResponse x
Prelude.Generic)

-- |
-- Create a value of 'ImportClientBrandingResponse' 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:
--
-- 'deviceTypeAndroid', 'importClientBrandingResponse_deviceTypeAndroid' - The branding information configured for Android devices.
--
-- 'deviceTypeIos', 'importClientBrandingResponse_deviceTypeIos' - The branding information configured for iOS devices.
--
-- 'deviceTypeLinux', 'importClientBrandingResponse_deviceTypeLinux' - The branding information configured for Linux devices.
--
-- 'deviceTypeOsx', 'importClientBrandingResponse_deviceTypeOsx' - The branding information configured for macOS devices.
--
-- 'deviceTypeWeb', 'importClientBrandingResponse_deviceTypeWeb' - The branding information configured for web access.
--
-- 'deviceTypeWindows', 'importClientBrandingResponse_deviceTypeWindows' - The branding information configured for Windows devices.
--
-- 'httpStatus', 'importClientBrandingResponse_httpStatus' - The response's http status code.
newImportClientBrandingResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ImportClientBrandingResponse
newImportClientBrandingResponse :: Int -> ImportClientBrandingResponse
newImportClientBrandingResponse Int
pHttpStatus_ =
  ImportClientBrandingResponse'
    { $sel:deviceTypeAndroid:ImportClientBrandingResponse' :: Maybe DefaultClientBrandingAttributes
deviceTypeAndroid =
        forall a. Maybe a
Prelude.Nothing,
      $sel:deviceTypeIos:ImportClientBrandingResponse' :: Maybe IosClientBrandingAttributes
deviceTypeIos = forall a. Maybe a
Prelude.Nothing,
      $sel:deviceTypeLinux:ImportClientBrandingResponse' :: Maybe DefaultClientBrandingAttributes
deviceTypeLinux = forall a. Maybe a
Prelude.Nothing,
      $sel:deviceTypeOsx:ImportClientBrandingResponse' :: Maybe DefaultClientBrandingAttributes
deviceTypeOsx = forall a. Maybe a
Prelude.Nothing,
      $sel:deviceTypeWeb:ImportClientBrandingResponse' :: Maybe DefaultClientBrandingAttributes
deviceTypeWeb = forall a. Maybe a
Prelude.Nothing,
      $sel:deviceTypeWindows:ImportClientBrandingResponse' :: Maybe DefaultClientBrandingAttributes
deviceTypeWindows = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ImportClientBrandingResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The branding information configured for Android devices.
importClientBrandingResponse_deviceTypeAndroid :: Lens.Lens' ImportClientBrandingResponse (Prelude.Maybe DefaultClientBrandingAttributes)
importClientBrandingResponse_deviceTypeAndroid :: Lens'
  ImportClientBrandingResponse
  (Maybe DefaultClientBrandingAttributes)
importClientBrandingResponse_deviceTypeAndroid = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportClientBrandingResponse' {Maybe DefaultClientBrandingAttributes
deviceTypeAndroid :: Maybe DefaultClientBrandingAttributes
$sel:deviceTypeAndroid:ImportClientBrandingResponse' :: ImportClientBrandingResponse
-> Maybe DefaultClientBrandingAttributes
deviceTypeAndroid} -> Maybe DefaultClientBrandingAttributes
deviceTypeAndroid) (\s :: ImportClientBrandingResponse
s@ImportClientBrandingResponse' {} Maybe DefaultClientBrandingAttributes
a -> ImportClientBrandingResponse
s {$sel:deviceTypeAndroid:ImportClientBrandingResponse' :: Maybe DefaultClientBrandingAttributes
deviceTypeAndroid = Maybe DefaultClientBrandingAttributes
a} :: ImportClientBrandingResponse)

-- | The branding information configured for iOS devices.
importClientBrandingResponse_deviceTypeIos :: Lens.Lens' ImportClientBrandingResponse (Prelude.Maybe IosClientBrandingAttributes)
importClientBrandingResponse_deviceTypeIos :: Lens'
  ImportClientBrandingResponse (Maybe IosClientBrandingAttributes)
importClientBrandingResponse_deviceTypeIos = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportClientBrandingResponse' {Maybe IosClientBrandingAttributes
deviceTypeIos :: Maybe IosClientBrandingAttributes
$sel:deviceTypeIos:ImportClientBrandingResponse' :: ImportClientBrandingResponse -> Maybe IosClientBrandingAttributes
deviceTypeIos} -> Maybe IosClientBrandingAttributes
deviceTypeIos) (\s :: ImportClientBrandingResponse
s@ImportClientBrandingResponse' {} Maybe IosClientBrandingAttributes
a -> ImportClientBrandingResponse
s {$sel:deviceTypeIos:ImportClientBrandingResponse' :: Maybe IosClientBrandingAttributes
deviceTypeIos = Maybe IosClientBrandingAttributes
a} :: ImportClientBrandingResponse)

-- | The branding information configured for Linux devices.
importClientBrandingResponse_deviceTypeLinux :: Lens.Lens' ImportClientBrandingResponse (Prelude.Maybe DefaultClientBrandingAttributes)
importClientBrandingResponse_deviceTypeLinux :: Lens'
  ImportClientBrandingResponse
  (Maybe DefaultClientBrandingAttributes)
importClientBrandingResponse_deviceTypeLinux = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportClientBrandingResponse' {Maybe DefaultClientBrandingAttributes
deviceTypeLinux :: Maybe DefaultClientBrandingAttributes
$sel:deviceTypeLinux:ImportClientBrandingResponse' :: ImportClientBrandingResponse
-> Maybe DefaultClientBrandingAttributes
deviceTypeLinux} -> Maybe DefaultClientBrandingAttributes
deviceTypeLinux) (\s :: ImportClientBrandingResponse
s@ImportClientBrandingResponse' {} Maybe DefaultClientBrandingAttributes
a -> ImportClientBrandingResponse
s {$sel:deviceTypeLinux:ImportClientBrandingResponse' :: Maybe DefaultClientBrandingAttributes
deviceTypeLinux = Maybe DefaultClientBrandingAttributes
a} :: ImportClientBrandingResponse)

-- | The branding information configured for macOS devices.
importClientBrandingResponse_deviceTypeOsx :: Lens.Lens' ImportClientBrandingResponse (Prelude.Maybe DefaultClientBrandingAttributes)
importClientBrandingResponse_deviceTypeOsx :: Lens'
  ImportClientBrandingResponse
  (Maybe DefaultClientBrandingAttributes)
importClientBrandingResponse_deviceTypeOsx = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportClientBrandingResponse' {Maybe DefaultClientBrandingAttributes
deviceTypeOsx :: Maybe DefaultClientBrandingAttributes
$sel:deviceTypeOsx:ImportClientBrandingResponse' :: ImportClientBrandingResponse
-> Maybe DefaultClientBrandingAttributes
deviceTypeOsx} -> Maybe DefaultClientBrandingAttributes
deviceTypeOsx) (\s :: ImportClientBrandingResponse
s@ImportClientBrandingResponse' {} Maybe DefaultClientBrandingAttributes
a -> ImportClientBrandingResponse
s {$sel:deviceTypeOsx:ImportClientBrandingResponse' :: Maybe DefaultClientBrandingAttributes
deviceTypeOsx = Maybe DefaultClientBrandingAttributes
a} :: ImportClientBrandingResponse)

-- | The branding information configured for web access.
importClientBrandingResponse_deviceTypeWeb :: Lens.Lens' ImportClientBrandingResponse (Prelude.Maybe DefaultClientBrandingAttributes)
importClientBrandingResponse_deviceTypeWeb :: Lens'
  ImportClientBrandingResponse
  (Maybe DefaultClientBrandingAttributes)
importClientBrandingResponse_deviceTypeWeb = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportClientBrandingResponse' {Maybe DefaultClientBrandingAttributes
deviceTypeWeb :: Maybe DefaultClientBrandingAttributes
$sel:deviceTypeWeb:ImportClientBrandingResponse' :: ImportClientBrandingResponse
-> Maybe DefaultClientBrandingAttributes
deviceTypeWeb} -> Maybe DefaultClientBrandingAttributes
deviceTypeWeb) (\s :: ImportClientBrandingResponse
s@ImportClientBrandingResponse' {} Maybe DefaultClientBrandingAttributes
a -> ImportClientBrandingResponse
s {$sel:deviceTypeWeb:ImportClientBrandingResponse' :: Maybe DefaultClientBrandingAttributes
deviceTypeWeb = Maybe DefaultClientBrandingAttributes
a} :: ImportClientBrandingResponse)

-- | The branding information configured for Windows devices.
importClientBrandingResponse_deviceTypeWindows :: Lens.Lens' ImportClientBrandingResponse (Prelude.Maybe DefaultClientBrandingAttributes)
importClientBrandingResponse_deviceTypeWindows :: Lens'
  ImportClientBrandingResponse
  (Maybe DefaultClientBrandingAttributes)
importClientBrandingResponse_deviceTypeWindows = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportClientBrandingResponse' {Maybe DefaultClientBrandingAttributes
deviceTypeWindows :: Maybe DefaultClientBrandingAttributes
$sel:deviceTypeWindows:ImportClientBrandingResponse' :: ImportClientBrandingResponse
-> Maybe DefaultClientBrandingAttributes
deviceTypeWindows} -> Maybe DefaultClientBrandingAttributes
deviceTypeWindows) (\s :: ImportClientBrandingResponse
s@ImportClientBrandingResponse' {} Maybe DefaultClientBrandingAttributes
a -> ImportClientBrandingResponse
s {$sel:deviceTypeWindows:ImportClientBrandingResponse' :: Maybe DefaultClientBrandingAttributes
deviceTypeWindows = Maybe DefaultClientBrandingAttributes
a} :: ImportClientBrandingResponse)

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

instance Prelude.NFData ImportClientBrandingResponse where
  rnf :: ImportClientBrandingResponse -> ()
rnf ImportClientBrandingResponse' {Int
Maybe DefaultClientBrandingAttributes
Maybe IosClientBrandingAttributes
httpStatus :: Int
deviceTypeWindows :: Maybe DefaultClientBrandingAttributes
deviceTypeWeb :: Maybe DefaultClientBrandingAttributes
deviceTypeOsx :: Maybe DefaultClientBrandingAttributes
deviceTypeLinux :: Maybe DefaultClientBrandingAttributes
deviceTypeIos :: Maybe IosClientBrandingAttributes
deviceTypeAndroid :: Maybe DefaultClientBrandingAttributes
$sel:httpStatus:ImportClientBrandingResponse' :: ImportClientBrandingResponse -> Int
$sel:deviceTypeWindows:ImportClientBrandingResponse' :: ImportClientBrandingResponse
-> Maybe DefaultClientBrandingAttributes
$sel:deviceTypeWeb:ImportClientBrandingResponse' :: ImportClientBrandingResponse
-> Maybe DefaultClientBrandingAttributes
$sel:deviceTypeOsx:ImportClientBrandingResponse' :: ImportClientBrandingResponse
-> Maybe DefaultClientBrandingAttributes
$sel:deviceTypeLinux:ImportClientBrandingResponse' :: ImportClientBrandingResponse
-> Maybe DefaultClientBrandingAttributes
$sel:deviceTypeIos:ImportClientBrandingResponse' :: ImportClientBrandingResponse -> Maybe IosClientBrandingAttributes
$sel:deviceTypeAndroid:ImportClientBrandingResponse' :: ImportClientBrandingResponse
-> Maybe DefaultClientBrandingAttributes
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe DefaultClientBrandingAttributes
deviceTypeAndroid
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe IosClientBrandingAttributes
deviceTypeIos
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DefaultClientBrandingAttributes
deviceTypeLinux
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DefaultClientBrandingAttributes
deviceTypeOsx
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DefaultClientBrandingAttributes
deviceTypeWeb
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DefaultClientBrandingAttributes
deviceTypeWindows
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus