{-# 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.Grafana.Types.WorkspaceSummary
-- 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.Grafana.Types.WorkspaceSummary where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Grafana.Types.AuthenticationSummary
import Amazonka.Grafana.Types.NotificationDestinationType
import Amazonka.Grafana.Types.WorkspaceStatus
import qualified Amazonka.Prelude as Prelude

-- | A structure that contains some information about one workspace in the
-- account.
--
-- /See:/ 'newWorkspaceSummary' smart constructor.
data WorkspaceSummary = WorkspaceSummary'
  { -- | The customer-entered description of the workspace.
    WorkspaceSummary -> Maybe (Sensitive Text)
description :: Prelude.Maybe (Data.Sensitive Prelude.Text),
    -- | The name of the workspace.
    WorkspaceSummary -> Maybe (Sensitive Text)
name :: Prelude.Maybe (Data.Sensitive Prelude.Text),
    -- | The Amazon Web Services notification channels that Amazon Managed
    -- Grafana can automatically create IAM roles and permissions for, which
    -- allows Amazon Managed Grafana to use these channels.
    WorkspaceSummary -> Maybe [NotificationDestinationType]
notificationDestinations :: Prelude.Maybe [NotificationDestinationType],
    -- | The list of tags associated with the workspace.
    WorkspaceSummary -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | A structure containing information about the authentication methods used
    -- in the workspace.
    WorkspaceSummary -> AuthenticationSummary
authentication :: AuthenticationSummary,
    -- | The date that the workspace was created.
    WorkspaceSummary -> POSIX
created :: Data.POSIX,
    -- | The URL endpoint to use to access the Grafana console in the workspace.
    WorkspaceSummary -> Text
endpoint :: Prelude.Text,
    -- | The Grafana version that the workspace is running.
    WorkspaceSummary -> Text
grafanaVersion :: Prelude.Text,
    -- | The unique ID of the workspace.
    WorkspaceSummary -> Text
id :: Prelude.Text,
    -- | The most recent date that the workspace was modified.
    WorkspaceSummary -> POSIX
modified :: Data.POSIX,
    -- | The current status of the workspace.
    WorkspaceSummary -> WorkspaceStatus
status :: WorkspaceStatus
  }
  deriving (WorkspaceSummary -> WorkspaceSummary -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: WorkspaceSummary -> WorkspaceSummary -> Bool
$c/= :: WorkspaceSummary -> WorkspaceSummary -> Bool
== :: WorkspaceSummary -> WorkspaceSummary -> Bool
$c== :: WorkspaceSummary -> WorkspaceSummary -> Bool
Prelude.Eq, Int -> WorkspaceSummary -> ShowS
[WorkspaceSummary] -> ShowS
WorkspaceSummary -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [WorkspaceSummary] -> ShowS
$cshowList :: [WorkspaceSummary] -> ShowS
show :: WorkspaceSummary -> String
$cshow :: WorkspaceSummary -> String
showsPrec :: Int -> WorkspaceSummary -> ShowS
$cshowsPrec :: Int -> WorkspaceSummary -> ShowS
Prelude.Show, forall x. Rep WorkspaceSummary x -> WorkspaceSummary
forall x. WorkspaceSummary -> Rep WorkspaceSummary x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep WorkspaceSummary x -> WorkspaceSummary
$cfrom :: forall x. WorkspaceSummary -> Rep WorkspaceSummary x
Prelude.Generic)

-- |
-- Create a value of 'WorkspaceSummary' 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:
--
-- 'description', 'workspaceSummary_description' - The customer-entered description of the workspace.
--
-- 'name', 'workspaceSummary_name' - The name of the workspace.
--
-- 'notificationDestinations', 'workspaceSummary_notificationDestinations' - The Amazon Web Services notification channels that Amazon Managed
-- Grafana can automatically create IAM roles and permissions for, which
-- allows Amazon Managed Grafana to use these channels.
--
-- 'tags', 'workspaceSummary_tags' - The list of tags associated with the workspace.
--
-- 'authentication', 'workspaceSummary_authentication' - A structure containing information about the authentication methods used
-- in the workspace.
--
-- 'created', 'workspaceSummary_created' - The date that the workspace was created.
--
-- 'endpoint', 'workspaceSummary_endpoint' - The URL endpoint to use to access the Grafana console in the workspace.
--
-- 'grafanaVersion', 'workspaceSummary_grafanaVersion' - The Grafana version that the workspace is running.
--
-- 'id', 'workspaceSummary_id' - The unique ID of the workspace.
--
-- 'modified', 'workspaceSummary_modified' - The most recent date that the workspace was modified.
--
-- 'status', 'workspaceSummary_status' - The current status of the workspace.
newWorkspaceSummary ::
  -- | 'authentication'
  AuthenticationSummary ->
  -- | 'created'
  Prelude.UTCTime ->
  -- | 'endpoint'
  Prelude.Text ->
  -- | 'grafanaVersion'
  Prelude.Text ->
  -- | 'id'
  Prelude.Text ->
  -- | 'modified'
  Prelude.UTCTime ->
  -- | 'status'
  WorkspaceStatus ->
  WorkspaceSummary
newWorkspaceSummary :: AuthenticationSummary
-> UTCTime
-> Text
-> Text
-> Text
-> UTCTime
-> WorkspaceStatus
-> WorkspaceSummary
newWorkspaceSummary
  AuthenticationSummary
pAuthentication_
  UTCTime
pCreated_
  Text
pEndpoint_
  Text
pGrafanaVersion_
  Text
pId_
  UTCTime
pModified_
  WorkspaceStatus
pStatus_ =
    WorkspaceSummary'
      { $sel:description:WorkspaceSummary' :: Maybe (Sensitive Text)
description = forall a. Maybe a
Prelude.Nothing,
        $sel:name:WorkspaceSummary' :: Maybe (Sensitive Text)
name = forall a. Maybe a
Prelude.Nothing,
        $sel:notificationDestinations:WorkspaceSummary' :: Maybe [NotificationDestinationType]
notificationDestinations = forall a. Maybe a
Prelude.Nothing,
        $sel:tags:WorkspaceSummary' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
        $sel:authentication:WorkspaceSummary' :: AuthenticationSummary
authentication = AuthenticationSummary
pAuthentication_,
        $sel:created:WorkspaceSummary' :: POSIX
created = forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pCreated_,
        $sel:endpoint:WorkspaceSummary' :: Text
endpoint = Text
pEndpoint_,
        $sel:grafanaVersion:WorkspaceSummary' :: Text
grafanaVersion = Text
pGrafanaVersion_,
        $sel:id:WorkspaceSummary' :: Text
id = Text
pId_,
        $sel:modified:WorkspaceSummary' :: POSIX
modified = forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pModified_,
        $sel:status:WorkspaceSummary' :: WorkspaceStatus
status = WorkspaceStatus
pStatus_
      }

-- | The customer-entered description of the workspace.
workspaceSummary_description :: Lens.Lens' WorkspaceSummary (Prelude.Maybe Prelude.Text)
workspaceSummary_description :: Lens' WorkspaceSummary (Maybe Text)
workspaceSummary_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\WorkspaceSummary' {Maybe (Sensitive Text)
description :: Maybe (Sensitive Text)
$sel:description:WorkspaceSummary' :: WorkspaceSummary -> Maybe (Sensitive Text)
description} -> Maybe (Sensitive Text)
description) (\s :: WorkspaceSummary
s@WorkspaceSummary' {} Maybe (Sensitive Text)
a -> WorkspaceSummary
s {$sel:description:WorkspaceSummary' :: Maybe (Sensitive Text)
description = Maybe (Sensitive Text)
a} :: WorkspaceSummary) 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 name of the workspace.
workspaceSummary_name :: Lens.Lens' WorkspaceSummary (Prelude.Maybe Prelude.Text)
workspaceSummary_name :: Lens' WorkspaceSummary (Maybe Text)
workspaceSummary_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\WorkspaceSummary' {Maybe (Sensitive Text)
name :: Maybe (Sensitive Text)
$sel:name:WorkspaceSummary' :: WorkspaceSummary -> Maybe (Sensitive Text)
name} -> Maybe (Sensitive Text)
name) (\s :: WorkspaceSummary
s@WorkspaceSummary' {} Maybe (Sensitive Text)
a -> WorkspaceSummary
s {$sel:name:WorkspaceSummary' :: Maybe (Sensitive Text)
name = Maybe (Sensitive Text)
a} :: WorkspaceSummary) 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 Amazon Web Services notification channels that Amazon Managed
-- Grafana can automatically create IAM roles and permissions for, which
-- allows Amazon Managed Grafana to use these channels.
workspaceSummary_notificationDestinations :: Lens.Lens' WorkspaceSummary (Prelude.Maybe [NotificationDestinationType])
workspaceSummary_notificationDestinations :: Lens' WorkspaceSummary (Maybe [NotificationDestinationType])
workspaceSummary_notificationDestinations = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\WorkspaceSummary' {Maybe [NotificationDestinationType]
notificationDestinations :: Maybe [NotificationDestinationType]
$sel:notificationDestinations:WorkspaceSummary' :: WorkspaceSummary -> Maybe [NotificationDestinationType]
notificationDestinations} -> Maybe [NotificationDestinationType]
notificationDestinations) (\s :: WorkspaceSummary
s@WorkspaceSummary' {} Maybe [NotificationDestinationType]
a -> WorkspaceSummary
s {$sel:notificationDestinations:WorkspaceSummary' :: Maybe [NotificationDestinationType]
notificationDestinations = Maybe [NotificationDestinationType]
a} :: WorkspaceSummary) 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

-- | The list of tags associated with the workspace.
workspaceSummary_tags :: Lens.Lens' WorkspaceSummary (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
workspaceSummary_tags :: Lens' WorkspaceSummary (Maybe (HashMap Text Text))
workspaceSummary_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\WorkspaceSummary' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:WorkspaceSummary' :: WorkspaceSummary -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: WorkspaceSummary
s@WorkspaceSummary' {} Maybe (HashMap Text Text)
a -> WorkspaceSummary
s {$sel:tags:WorkspaceSummary' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: WorkspaceSummary) 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

-- | A structure containing information about the authentication methods used
-- in the workspace.
workspaceSummary_authentication :: Lens.Lens' WorkspaceSummary AuthenticationSummary
workspaceSummary_authentication :: Lens' WorkspaceSummary AuthenticationSummary
workspaceSummary_authentication = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\WorkspaceSummary' {AuthenticationSummary
authentication :: AuthenticationSummary
$sel:authentication:WorkspaceSummary' :: WorkspaceSummary -> AuthenticationSummary
authentication} -> AuthenticationSummary
authentication) (\s :: WorkspaceSummary
s@WorkspaceSummary' {} AuthenticationSummary
a -> WorkspaceSummary
s {$sel:authentication:WorkspaceSummary' :: AuthenticationSummary
authentication = AuthenticationSummary
a} :: WorkspaceSummary)

-- | The date that the workspace was created.
workspaceSummary_created :: Lens.Lens' WorkspaceSummary Prelude.UTCTime
workspaceSummary_created :: Lens' WorkspaceSummary UTCTime
workspaceSummary_created = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\WorkspaceSummary' {POSIX
created :: POSIX
$sel:created:WorkspaceSummary' :: WorkspaceSummary -> POSIX
created} -> POSIX
created) (\s :: WorkspaceSummary
s@WorkspaceSummary' {} POSIX
a -> WorkspaceSummary
s {$sel:created:WorkspaceSummary' :: POSIX
created = POSIX
a} :: WorkspaceSummary) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The URL endpoint to use to access the Grafana console in the workspace.
workspaceSummary_endpoint :: Lens.Lens' WorkspaceSummary Prelude.Text
workspaceSummary_endpoint :: Lens' WorkspaceSummary Text
workspaceSummary_endpoint = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\WorkspaceSummary' {Text
endpoint :: Text
$sel:endpoint:WorkspaceSummary' :: WorkspaceSummary -> Text
endpoint} -> Text
endpoint) (\s :: WorkspaceSummary
s@WorkspaceSummary' {} Text
a -> WorkspaceSummary
s {$sel:endpoint:WorkspaceSummary' :: Text
endpoint = Text
a} :: WorkspaceSummary)

-- | The Grafana version that the workspace is running.
workspaceSummary_grafanaVersion :: Lens.Lens' WorkspaceSummary Prelude.Text
workspaceSummary_grafanaVersion :: Lens' WorkspaceSummary Text
workspaceSummary_grafanaVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\WorkspaceSummary' {Text
grafanaVersion :: Text
$sel:grafanaVersion:WorkspaceSummary' :: WorkspaceSummary -> Text
grafanaVersion} -> Text
grafanaVersion) (\s :: WorkspaceSummary
s@WorkspaceSummary' {} Text
a -> WorkspaceSummary
s {$sel:grafanaVersion:WorkspaceSummary' :: Text
grafanaVersion = Text
a} :: WorkspaceSummary)

-- | The unique ID of the workspace.
workspaceSummary_id :: Lens.Lens' WorkspaceSummary Prelude.Text
workspaceSummary_id :: Lens' WorkspaceSummary Text
workspaceSummary_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\WorkspaceSummary' {Text
id :: Text
$sel:id:WorkspaceSummary' :: WorkspaceSummary -> Text
id} -> Text
id) (\s :: WorkspaceSummary
s@WorkspaceSummary' {} Text
a -> WorkspaceSummary
s {$sel:id:WorkspaceSummary' :: Text
id = Text
a} :: WorkspaceSummary)

-- | The most recent date that the workspace was modified.
workspaceSummary_modified :: Lens.Lens' WorkspaceSummary Prelude.UTCTime
workspaceSummary_modified :: Lens' WorkspaceSummary UTCTime
workspaceSummary_modified = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\WorkspaceSummary' {POSIX
modified :: POSIX
$sel:modified:WorkspaceSummary' :: WorkspaceSummary -> POSIX
modified} -> POSIX
modified) (\s :: WorkspaceSummary
s@WorkspaceSummary' {} POSIX
a -> WorkspaceSummary
s {$sel:modified:WorkspaceSummary' :: POSIX
modified = POSIX
a} :: WorkspaceSummary) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The current status of the workspace.
workspaceSummary_status :: Lens.Lens' WorkspaceSummary WorkspaceStatus
workspaceSummary_status :: Lens' WorkspaceSummary WorkspaceStatus
workspaceSummary_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\WorkspaceSummary' {WorkspaceStatus
status :: WorkspaceStatus
$sel:status:WorkspaceSummary' :: WorkspaceSummary -> WorkspaceStatus
status} -> WorkspaceStatus
status) (\s :: WorkspaceSummary
s@WorkspaceSummary' {} WorkspaceStatus
a -> WorkspaceSummary
s {$sel:status:WorkspaceSummary' :: WorkspaceStatus
status = WorkspaceStatus
a} :: WorkspaceSummary)

instance Data.FromJSON WorkspaceSummary where
  parseJSON :: Value -> Parser WorkspaceSummary
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"WorkspaceSummary"
      ( \Object
x ->
          Maybe (Sensitive Text)
-> Maybe (Sensitive Text)
-> Maybe [NotificationDestinationType]
-> Maybe (HashMap Text Text)
-> AuthenticationSummary
-> POSIX
-> Text
-> Text
-> Text
-> POSIX
-> WorkspaceStatus
-> WorkspaceSummary
WorkspaceSummary'
            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
"description")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"name")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"notificationDestinations"
                            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
"tags" 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 a
Data..: Key
"authentication")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"created")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"endpoint")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"grafanaVersion")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"id")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"modified")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"status")
      )

instance Prelude.Hashable WorkspaceSummary where
  hashWithSalt :: Int -> WorkspaceSummary -> Int
hashWithSalt Int
_salt WorkspaceSummary' {Maybe [NotificationDestinationType]
Maybe (HashMap Text Text)
Maybe (Sensitive Text)
Text
POSIX
AuthenticationSummary
WorkspaceStatus
status :: WorkspaceStatus
modified :: POSIX
id :: Text
grafanaVersion :: Text
endpoint :: Text
created :: POSIX
authentication :: AuthenticationSummary
tags :: Maybe (HashMap Text Text)
notificationDestinations :: Maybe [NotificationDestinationType]
name :: Maybe (Sensitive Text)
description :: Maybe (Sensitive Text)
$sel:status:WorkspaceSummary' :: WorkspaceSummary -> WorkspaceStatus
$sel:modified:WorkspaceSummary' :: WorkspaceSummary -> POSIX
$sel:id:WorkspaceSummary' :: WorkspaceSummary -> Text
$sel:grafanaVersion:WorkspaceSummary' :: WorkspaceSummary -> Text
$sel:endpoint:WorkspaceSummary' :: WorkspaceSummary -> Text
$sel:created:WorkspaceSummary' :: WorkspaceSummary -> POSIX
$sel:authentication:WorkspaceSummary' :: WorkspaceSummary -> AuthenticationSummary
$sel:tags:WorkspaceSummary' :: WorkspaceSummary -> Maybe (HashMap Text Text)
$sel:notificationDestinations:WorkspaceSummary' :: WorkspaceSummary -> Maybe [NotificationDestinationType]
$sel:name:WorkspaceSummary' :: WorkspaceSummary -> Maybe (Sensitive Text)
$sel:description:WorkspaceSummary' :: WorkspaceSummary -> Maybe (Sensitive Text)
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive Text)
description
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive Text)
name
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [NotificationDestinationType]
notificationDestinations
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
tags
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` AuthenticationSummary
authentication
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` POSIX
created
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
endpoint
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
grafanaVersion
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
id
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` POSIX
modified
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` WorkspaceStatus
status

instance Prelude.NFData WorkspaceSummary where
  rnf :: WorkspaceSummary -> ()
rnf WorkspaceSummary' {Maybe [NotificationDestinationType]
Maybe (HashMap Text Text)
Maybe (Sensitive Text)
Text
POSIX
AuthenticationSummary
WorkspaceStatus
status :: WorkspaceStatus
modified :: POSIX
id :: Text
grafanaVersion :: Text
endpoint :: Text
created :: POSIX
authentication :: AuthenticationSummary
tags :: Maybe (HashMap Text Text)
notificationDestinations :: Maybe [NotificationDestinationType]
name :: Maybe (Sensitive Text)
description :: Maybe (Sensitive Text)
$sel:status:WorkspaceSummary' :: WorkspaceSummary -> WorkspaceStatus
$sel:modified:WorkspaceSummary' :: WorkspaceSummary -> POSIX
$sel:id:WorkspaceSummary' :: WorkspaceSummary -> Text
$sel:grafanaVersion:WorkspaceSummary' :: WorkspaceSummary -> Text
$sel:endpoint:WorkspaceSummary' :: WorkspaceSummary -> Text
$sel:created:WorkspaceSummary' :: WorkspaceSummary -> POSIX
$sel:authentication:WorkspaceSummary' :: WorkspaceSummary -> AuthenticationSummary
$sel:tags:WorkspaceSummary' :: WorkspaceSummary -> Maybe (HashMap Text Text)
$sel:notificationDestinations:WorkspaceSummary' :: WorkspaceSummary -> Maybe [NotificationDestinationType]
$sel:name:WorkspaceSummary' :: WorkspaceSummary -> Maybe (Sensitive Text)
$sel:description:WorkspaceSummary' :: WorkspaceSummary -> Maybe (Sensitive Text)
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
description
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
name
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [NotificationDestinationType]
notificationDestinations
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
tags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf AuthenticationSummary
authentication
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf POSIX
created
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
endpoint
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
grafanaVersion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
id
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf POSIX
modified
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf WorkspaceStatus
status