{-# 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.WorkSpacesWeb.Types.Portal
-- 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.WorkSpacesWeb.Types.Portal 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 Amazonka.WorkSpacesWeb.Types.BrowserType
import Amazonka.WorkSpacesWeb.Types.PortalStatus
import Amazonka.WorkSpacesWeb.Types.RendererType

-- | The web portal.
--
-- /See:/ 'newPortal' smart constructor.
data Portal = Portal'
  { -- | The ARN of the browser settings that is associated with this web portal.
    Portal -> Maybe Text
browserSettingsArn :: Prelude.Maybe Prelude.Text,
    -- | The browser that users see when using a streaming session.
    Portal -> Maybe BrowserType
browserType :: Prelude.Maybe BrowserType,
    -- | The creation date of the web portal.
    Portal -> Maybe POSIX
creationDate :: Prelude.Maybe Data.POSIX,
    -- | The name of the web portal.
    Portal -> Maybe (Sensitive Text)
displayName :: Prelude.Maybe (Data.Sensitive Prelude.Text),
    -- | The ARN of the network settings that is associated with the web portal.
    Portal -> Maybe Text
networkSettingsArn :: Prelude.Maybe Prelude.Text,
    -- | The ARN of the web portal.
    Portal -> Maybe Text
portalArn :: Prelude.Maybe Prelude.Text,
    -- | The endpoint URL of the web portal that users access in order to start
    -- streaming sessions.
    Portal -> Maybe Text
portalEndpoint :: Prelude.Maybe Prelude.Text,
    -- | The status of the web portal.
    Portal -> Maybe PortalStatus
portalStatus :: Prelude.Maybe PortalStatus,
    -- | The renderer that is used in streaming sessions.
    Portal -> Maybe RendererType
rendererType :: Prelude.Maybe RendererType,
    -- | A message that explains why the web portal is in its current status.
    Portal -> Maybe Text
statusReason :: Prelude.Maybe Prelude.Text,
    -- | The ARN of the trust store that is associated with the web portal.
    Portal -> Maybe Text
trustStoreArn :: Prelude.Maybe Prelude.Text,
    -- | The ARN of the user access logging settings that is associated with the
    -- web portal.
    Portal -> Maybe Text
userAccessLoggingSettingsArn :: Prelude.Maybe Prelude.Text,
    -- | The ARN of the user settings that is associated with the web portal.
    Portal -> Maybe Text
userSettingsArn :: Prelude.Maybe Prelude.Text
  }
  deriving (Portal -> Portal -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Portal -> Portal -> Bool
$c/= :: Portal -> Portal -> Bool
== :: Portal -> Portal -> Bool
$c== :: Portal -> Portal -> Bool
Prelude.Eq, Int -> Portal -> ShowS
[Portal] -> ShowS
Portal -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Portal] -> ShowS
$cshowList :: [Portal] -> ShowS
show :: Portal -> String
$cshow :: Portal -> String
showsPrec :: Int -> Portal -> ShowS
$cshowsPrec :: Int -> Portal -> ShowS
Prelude.Show, forall x. Rep Portal x -> Portal
forall x. Portal -> Rep Portal x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Portal x -> Portal
$cfrom :: forall x. Portal -> Rep Portal x
Prelude.Generic)

-- |
-- Create a value of 'Portal' 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:
--
-- 'browserSettingsArn', 'portal_browserSettingsArn' - The ARN of the browser settings that is associated with this web portal.
--
-- 'browserType', 'portal_browserType' - The browser that users see when using a streaming session.
--
-- 'creationDate', 'portal_creationDate' - The creation date of the web portal.
--
-- 'displayName', 'portal_displayName' - The name of the web portal.
--
-- 'networkSettingsArn', 'portal_networkSettingsArn' - The ARN of the network settings that is associated with the web portal.
--
-- 'portalArn', 'portal_portalArn' - The ARN of the web portal.
--
-- 'portalEndpoint', 'portal_portalEndpoint' - The endpoint URL of the web portal that users access in order to start
-- streaming sessions.
--
-- 'portalStatus', 'portal_portalStatus' - The status of the web portal.
--
-- 'rendererType', 'portal_rendererType' - The renderer that is used in streaming sessions.
--
-- 'statusReason', 'portal_statusReason' - A message that explains why the web portal is in its current status.
--
-- 'trustStoreArn', 'portal_trustStoreArn' - The ARN of the trust store that is associated with the web portal.
--
-- 'userAccessLoggingSettingsArn', 'portal_userAccessLoggingSettingsArn' - The ARN of the user access logging settings that is associated with the
-- web portal.
--
-- 'userSettingsArn', 'portal_userSettingsArn' - The ARN of the user settings that is associated with the web portal.
newPortal ::
  Portal
newPortal :: Portal
newPortal =
  Portal'
    { $sel:browserSettingsArn:Portal' :: Maybe Text
browserSettingsArn = forall a. Maybe a
Prelude.Nothing,
      $sel:browserType:Portal' :: Maybe BrowserType
browserType = forall a. Maybe a
Prelude.Nothing,
      $sel:creationDate:Portal' :: Maybe POSIX
creationDate = forall a. Maybe a
Prelude.Nothing,
      $sel:displayName:Portal' :: Maybe (Sensitive Text)
displayName = forall a. Maybe a
Prelude.Nothing,
      $sel:networkSettingsArn:Portal' :: Maybe Text
networkSettingsArn = forall a. Maybe a
Prelude.Nothing,
      $sel:portalArn:Portal' :: Maybe Text
portalArn = forall a. Maybe a
Prelude.Nothing,
      $sel:portalEndpoint:Portal' :: Maybe Text
portalEndpoint = forall a. Maybe a
Prelude.Nothing,
      $sel:portalStatus:Portal' :: Maybe PortalStatus
portalStatus = forall a. Maybe a
Prelude.Nothing,
      $sel:rendererType:Portal' :: Maybe RendererType
rendererType = forall a. Maybe a
Prelude.Nothing,
      $sel:statusReason:Portal' :: Maybe Text
statusReason = forall a. Maybe a
Prelude.Nothing,
      $sel:trustStoreArn:Portal' :: Maybe Text
trustStoreArn = forall a. Maybe a
Prelude.Nothing,
      $sel:userAccessLoggingSettingsArn:Portal' :: Maybe Text
userAccessLoggingSettingsArn = forall a. Maybe a
Prelude.Nothing,
      $sel:userSettingsArn:Portal' :: Maybe Text
userSettingsArn = forall a. Maybe a
Prelude.Nothing
    }

-- | The ARN of the browser settings that is associated with this web portal.
portal_browserSettingsArn :: Lens.Lens' Portal (Prelude.Maybe Prelude.Text)
portal_browserSettingsArn :: Lens' Portal (Maybe Text)
portal_browserSettingsArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Portal' {Maybe Text
browserSettingsArn :: Maybe Text
$sel:browserSettingsArn:Portal' :: Portal -> Maybe Text
browserSettingsArn} -> Maybe Text
browserSettingsArn) (\s :: Portal
s@Portal' {} Maybe Text
a -> Portal
s {$sel:browserSettingsArn:Portal' :: Maybe Text
browserSettingsArn = Maybe Text
a} :: Portal)

-- | The browser that users see when using a streaming session.
portal_browserType :: Lens.Lens' Portal (Prelude.Maybe BrowserType)
portal_browserType :: Lens' Portal (Maybe BrowserType)
portal_browserType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Portal' {Maybe BrowserType
browserType :: Maybe BrowserType
$sel:browserType:Portal' :: Portal -> Maybe BrowserType
browserType} -> Maybe BrowserType
browserType) (\s :: Portal
s@Portal' {} Maybe BrowserType
a -> Portal
s {$sel:browserType:Portal' :: Maybe BrowserType
browserType = Maybe BrowserType
a} :: Portal)

-- | The creation date of the web portal.
portal_creationDate :: Lens.Lens' Portal (Prelude.Maybe Prelude.UTCTime)
portal_creationDate :: Lens' Portal (Maybe UTCTime)
portal_creationDate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Portal' {Maybe POSIX
creationDate :: Maybe POSIX
$sel:creationDate:Portal' :: Portal -> Maybe POSIX
creationDate} -> Maybe POSIX
creationDate) (\s :: Portal
s@Portal' {} Maybe POSIX
a -> Portal
s {$sel:creationDate:Portal' :: Maybe POSIX
creationDate = Maybe POSIX
a} :: Portal) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The name of the web portal.
portal_displayName :: Lens.Lens' Portal (Prelude.Maybe Prelude.Text)
portal_displayName :: Lens' Portal (Maybe Text)
portal_displayName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Portal' {Maybe (Sensitive Text)
displayName :: Maybe (Sensitive Text)
$sel:displayName:Portal' :: Portal -> Maybe (Sensitive Text)
displayName} -> Maybe (Sensitive Text)
displayName) (\s :: Portal
s@Portal' {} Maybe (Sensitive Text)
a -> Portal
s {$sel:displayName:Portal' :: Maybe (Sensitive Text)
displayName = Maybe (Sensitive Text)
a} :: Portal) 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 a. Iso' (Sensitive a) a
Data._Sensitive

-- | The ARN of the network settings that is associated with the web portal.
portal_networkSettingsArn :: Lens.Lens' Portal (Prelude.Maybe Prelude.Text)
portal_networkSettingsArn :: Lens' Portal (Maybe Text)
portal_networkSettingsArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Portal' {Maybe Text
networkSettingsArn :: Maybe Text
$sel:networkSettingsArn:Portal' :: Portal -> Maybe Text
networkSettingsArn} -> Maybe Text
networkSettingsArn) (\s :: Portal
s@Portal' {} Maybe Text
a -> Portal
s {$sel:networkSettingsArn:Portal' :: Maybe Text
networkSettingsArn = Maybe Text
a} :: Portal)

-- | The ARN of the web portal.
portal_portalArn :: Lens.Lens' Portal (Prelude.Maybe Prelude.Text)
portal_portalArn :: Lens' Portal (Maybe Text)
portal_portalArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Portal' {Maybe Text
portalArn :: Maybe Text
$sel:portalArn:Portal' :: Portal -> Maybe Text
portalArn} -> Maybe Text
portalArn) (\s :: Portal
s@Portal' {} Maybe Text
a -> Portal
s {$sel:portalArn:Portal' :: Maybe Text
portalArn = Maybe Text
a} :: Portal)

-- | The endpoint URL of the web portal that users access in order to start
-- streaming sessions.
portal_portalEndpoint :: Lens.Lens' Portal (Prelude.Maybe Prelude.Text)
portal_portalEndpoint :: Lens' Portal (Maybe Text)
portal_portalEndpoint = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Portal' {Maybe Text
portalEndpoint :: Maybe Text
$sel:portalEndpoint:Portal' :: Portal -> Maybe Text
portalEndpoint} -> Maybe Text
portalEndpoint) (\s :: Portal
s@Portal' {} Maybe Text
a -> Portal
s {$sel:portalEndpoint:Portal' :: Maybe Text
portalEndpoint = Maybe Text
a} :: Portal)

-- | The status of the web portal.
portal_portalStatus :: Lens.Lens' Portal (Prelude.Maybe PortalStatus)
portal_portalStatus :: Lens' Portal (Maybe PortalStatus)
portal_portalStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Portal' {Maybe PortalStatus
portalStatus :: Maybe PortalStatus
$sel:portalStatus:Portal' :: Portal -> Maybe PortalStatus
portalStatus} -> Maybe PortalStatus
portalStatus) (\s :: Portal
s@Portal' {} Maybe PortalStatus
a -> Portal
s {$sel:portalStatus:Portal' :: Maybe PortalStatus
portalStatus = Maybe PortalStatus
a} :: Portal)

-- | The renderer that is used in streaming sessions.
portal_rendererType :: Lens.Lens' Portal (Prelude.Maybe RendererType)
portal_rendererType :: Lens' Portal (Maybe RendererType)
portal_rendererType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Portal' {Maybe RendererType
rendererType :: Maybe RendererType
$sel:rendererType:Portal' :: Portal -> Maybe RendererType
rendererType} -> Maybe RendererType
rendererType) (\s :: Portal
s@Portal' {} Maybe RendererType
a -> Portal
s {$sel:rendererType:Portal' :: Maybe RendererType
rendererType = Maybe RendererType
a} :: Portal)

-- | A message that explains why the web portal is in its current status.
portal_statusReason :: Lens.Lens' Portal (Prelude.Maybe Prelude.Text)
portal_statusReason :: Lens' Portal (Maybe Text)
portal_statusReason = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Portal' {Maybe Text
statusReason :: Maybe Text
$sel:statusReason:Portal' :: Portal -> Maybe Text
statusReason} -> Maybe Text
statusReason) (\s :: Portal
s@Portal' {} Maybe Text
a -> Portal
s {$sel:statusReason:Portal' :: Maybe Text
statusReason = Maybe Text
a} :: Portal)

-- | The ARN of the trust store that is associated with the web portal.
portal_trustStoreArn :: Lens.Lens' Portal (Prelude.Maybe Prelude.Text)
portal_trustStoreArn :: Lens' Portal (Maybe Text)
portal_trustStoreArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Portal' {Maybe Text
trustStoreArn :: Maybe Text
$sel:trustStoreArn:Portal' :: Portal -> Maybe Text
trustStoreArn} -> Maybe Text
trustStoreArn) (\s :: Portal
s@Portal' {} Maybe Text
a -> Portal
s {$sel:trustStoreArn:Portal' :: Maybe Text
trustStoreArn = Maybe Text
a} :: Portal)

-- | The ARN of the user access logging settings that is associated with the
-- web portal.
portal_userAccessLoggingSettingsArn :: Lens.Lens' Portal (Prelude.Maybe Prelude.Text)
portal_userAccessLoggingSettingsArn :: Lens' Portal (Maybe Text)
portal_userAccessLoggingSettingsArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Portal' {Maybe Text
userAccessLoggingSettingsArn :: Maybe Text
$sel:userAccessLoggingSettingsArn:Portal' :: Portal -> Maybe Text
userAccessLoggingSettingsArn} -> Maybe Text
userAccessLoggingSettingsArn) (\s :: Portal
s@Portal' {} Maybe Text
a -> Portal
s {$sel:userAccessLoggingSettingsArn:Portal' :: Maybe Text
userAccessLoggingSettingsArn = Maybe Text
a} :: Portal)

-- | The ARN of the user settings that is associated with the web portal.
portal_userSettingsArn :: Lens.Lens' Portal (Prelude.Maybe Prelude.Text)
portal_userSettingsArn :: Lens' Portal (Maybe Text)
portal_userSettingsArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Portal' {Maybe Text
userSettingsArn :: Maybe Text
$sel:userSettingsArn:Portal' :: Portal -> Maybe Text
userSettingsArn} -> Maybe Text
userSettingsArn) (\s :: Portal
s@Portal' {} Maybe Text
a -> Portal
s {$sel:userSettingsArn:Portal' :: Maybe Text
userSettingsArn = Maybe Text
a} :: Portal)

instance Data.FromJSON Portal where
  parseJSON :: Value -> Parser Portal
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"Portal"
      ( \Object
x ->
          Maybe Text
-> Maybe BrowserType
-> Maybe POSIX
-> Maybe (Sensitive Text)
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PortalStatus
-> Maybe RendererType
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Portal
Portal'
            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
"browserSettingsArn")
            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
"browserType")
            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
"creationDate")
            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
"displayName")
            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
"networkSettingsArn")
            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
"portalArn")
            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
"portalEndpoint")
            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
"portalStatus")
            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
"rendererType")
            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
"statusReason")
            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
"trustStoreArn")
            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
"userAccessLoggingSettingsArn")
            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
"userSettingsArn")
      )

instance Prelude.Hashable Portal where
  hashWithSalt :: Int -> Portal -> Int
hashWithSalt Int
_salt Portal' {Maybe Text
Maybe (Sensitive Text)
Maybe POSIX
Maybe BrowserType
Maybe PortalStatus
Maybe RendererType
userSettingsArn :: Maybe Text
userAccessLoggingSettingsArn :: Maybe Text
trustStoreArn :: Maybe Text
statusReason :: Maybe Text
rendererType :: Maybe RendererType
portalStatus :: Maybe PortalStatus
portalEndpoint :: Maybe Text
portalArn :: Maybe Text
networkSettingsArn :: Maybe Text
displayName :: Maybe (Sensitive Text)
creationDate :: Maybe POSIX
browserType :: Maybe BrowserType
browserSettingsArn :: Maybe Text
$sel:userSettingsArn:Portal' :: Portal -> Maybe Text
$sel:userAccessLoggingSettingsArn:Portal' :: Portal -> Maybe Text
$sel:trustStoreArn:Portal' :: Portal -> Maybe Text
$sel:statusReason:Portal' :: Portal -> Maybe Text
$sel:rendererType:Portal' :: Portal -> Maybe RendererType
$sel:portalStatus:Portal' :: Portal -> Maybe PortalStatus
$sel:portalEndpoint:Portal' :: Portal -> Maybe Text
$sel:portalArn:Portal' :: Portal -> Maybe Text
$sel:networkSettingsArn:Portal' :: Portal -> Maybe Text
$sel:displayName:Portal' :: Portal -> Maybe (Sensitive Text)
$sel:creationDate:Portal' :: Portal -> Maybe POSIX
$sel:browserType:Portal' :: Portal -> Maybe BrowserType
$sel:browserSettingsArn:Portal' :: Portal -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
browserSettingsArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe BrowserType
browserType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
creationDate
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive Text)
displayName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
networkSettingsArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
portalArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
portalEndpoint
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PortalStatus
portalStatus
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RendererType
rendererType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
statusReason
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
trustStoreArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
userAccessLoggingSettingsArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
userSettingsArn

instance Prelude.NFData Portal where
  rnf :: Portal -> ()
rnf Portal' {Maybe Text
Maybe (Sensitive Text)
Maybe POSIX
Maybe BrowserType
Maybe PortalStatus
Maybe RendererType
userSettingsArn :: Maybe Text
userAccessLoggingSettingsArn :: Maybe Text
trustStoreArn :: Maybe Text
statusReason :: Maybe Text
rendererType :: Maybe RendererType
portalStatus :: Maybe PortalStatus
portalEndpoint :: Maybe Text
portalArn :: Maybe Text
networkSettingsArn :: Maybe Text
displayName :: Maybe (Sensitive Text)
creationDate :: Maybe POSIX
browserType :: Maybe BrowserType
browserSettingsArn :: Maybe Text
$sel:userSettingsArn:Portal' :: Portal -> Maybe Text
$sel:userAccessLoggingSettingsArn:Portal' :: Portal -> Maybe Text
$sel:trustStoreArn:Portal' :: Portal -> Maybe Text
$sel:statusReason:Portal' :: Portal -> Maybe Text
$sel:rendererType:Portal' :: Portal -> Maybe RendererType
$sel:portalStatus:Portal' :: Portal -> Maybe PortalStatus
$sel:portalEndpoint:Portal' :: Portal -> Maybe Text
$sel:portalArn:Portal' :: Portal -> Maybe Text
$sel:networkSettingsArn:Portal' :: Portal -> Maybe Text
$sel:displayName:Portal' :: Portal -> Maybe (Sensitive Text)
$sel:creationDate:Portal' :: Portal -> Maybe POSIX
$sel:browserType:Portal' :: Portal -> Maybe BrowserType
$sel:browserSettingsArn:Portal' :: Portal -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
browserSettingsArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe BrowserType
browserType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
creationDate
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
displayName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
networkSettingsArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
portalArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
portalEndpoint
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PortalStatus
portalStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RendererType
rendererType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
statusReason
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
trustStoreArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
userAccessLoggingSettingsArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
userSettingsArn