{-# 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.QuickSight.Types.Analysis
-- 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.QuickSight.Types.Analysis 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.QuickSight.Types.AnalysisError
import Amazonka.QuickSight.Types.ResourceStatus
import Amazonka.QuickSight.Types.Sheet

-- | Metadata structure for an analysis in Amazon QuickSight
--
-- /See:/ 'newAnalysis' smart constructor.
data Analysis = Analysis'
  { -- | The ID of the analysis.
    Analysis -> Maybe Text
analysisId :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) of the analysis.
    Analysis -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
    -- | The time that the analysis was created.
    Analysis -> Maybe POSIX
createdTime :: Prelude.Maybe Data.POSIX,
    -- | The ARNs of the datasets of the analysis.
    Analysis -> Maybe [Text]
dataSetArns :: Prelude.Maybe [Prelude.Text],
    -- | Errors associated with the analysis.
    Analysis -> Maybe (NonEmpty AnalysisError)
errors :: Prelude.Maybe (Prelude.NonEmpty AnalysisError),
    -- | The time that the analysis was last updated.
    Analysis -> Maybe POSIX
lastUpdatedTime :: Prelude.Maybe Data.POSIX,
    -- | The descriptive name of the analysis.
    Analysis -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    -- | A list of the associated sheets with the unique identifier and name of
    -- each sheet.
    Analysis -> Maybe [Sheet]
sheets :: Prelude.Maybe [Sheet],
    -- | Status associated with the analysis.
    Analysis -> Maybe ResourceStatus
status :: Prelude.Maybe ResourceStatus,
    -- | The ARN of the theme of the analysis.
    Analysis -> Maybe Text
themeArn :: Prelude.Maybe Prelude.Text
  }
  deriving (Analysis -> Analysis -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Analysis -> Analysis -> Bool
$c/= :: Analysis -> Analysis -> Bool
== :: Analysis -> Analysis -> Bool
$c== :: Analysis -> Analysis -> Bool
Prelude.Eq, ReadPrec [Analysis]
ReadPrec Analysis
Int -> ReadS Analysis
ReadS [Analysis]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [Analysis]
$creadListPrec :: ReadPrec [Analysis]
readPrec :: ReadPrec Analysis
$creadPrec :: ReadPrec Analysis
readList :: ReadS [Analysis]
$creadList :: ReadS [Analysis]
readsPrec :: Int -> ReadS Analysis
$creadsPrec :: Int -> ReadS Analysis
Prelude.Read, Int -> Analysis -> ShowS
[Analysis] -> ShowS
Analysis -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Analysis] -> ShowS
$cshowList :: [Analysis] -> ShowS
show :: Analysis -> String
$cshow :: Analysis -> String
showsPrec :: Int -> Analysis -> ShowS
$cshowsPrec :: Int -> Analysis -> ShowS
Prelude.Show, forall x. Rep Analysis x -> Analysis
forall x. Analysis -> Rep Analysis x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Analysis x -> Analysis
$cfrom :: forall x. Analysis -> Rep Analysis x
Prelude.Generic)

-- |
-- Create a value of 'Analysis' 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:
--
-- 'analysisId', 'analysis_analysisId' - The ID of the analysis.
--
-- 'arn', 'analysis_arn' - The Amazon Resource Name (ARN) of the analysis.
--
-- 'createdTime', 'analysis_createdTime' - The time that the analysis was created.
--
-- 'dataSetArns', 'analysis_dataSetArns' - The ARNs of the datasets of the analysis.
--
-- 'errors', 'analysis_errors' - Errors associated with the analysis.
--
-- 'lastUpdatedTime', 'analysis_lastUpdatedTime' - The time that the analysis was last updated.
--
-- 'name', 'analysis_name' - The descriptive name of the analysis.
--
-- 'sheets', 'analysis_sheets' - A list of the associated sheets with the unique identifier and name of
-- each sheet.
--
-- 'status', 'analysis_status' - Status associated with the analysis.
--
-- 'themeArn', 'analysis_themeArn' - The ARN of the theme of the analysis.
newAnalysis ::
  Analysis
newAnalysis :: Analysis
newAnalysis =
  Analysis'
    { $sel:analysisId:Analysis' :: Maybe Text
analysisId = forall a. Maybe a
Prelude.Nothing,
      $sel:arn:Analysis' :: Maybe Text
arn = forall a. Maybe a
Prelude.Nothing,
      $sel:createdTime:Analysis' :: Maybe POSIX
createdTime = forall a. Maybe a
Prelude.Nothing,
      $sel:dataSetArns:Analysis' :: Maybe [Text]
dataSetArns = forall a. Maybe a
Prelude.Nothing,
      $sel:errors:Analysis' :: Maybe (NonEmpty AnalysisError)
errors = forall a. Maybe a
Prelude.Nothing,
      $sel:lastUpdatedTime:Analysis' :: Maybe POSIX
lastUpdatedTime = forall a. Maybe a
Prelude.Nothing,
      $sel:name:Analysis' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
      $sel:sheets:Analysis' :: Maybe [Sheet]
sheets = forall a. Maybe a
Prelude.Nothing,
      $sel:status:Analysis' :: Maybe ResourceStatus
status = forall a. Maybe a
Prelude.Nothing,
      $sel:themeArn:Analysis' :: Maybe Text
themeArn = forall a. Maybe a
Prelude.Nothing
    }

-- | The ID of the analysis.
analysis_analysisId :: Lens.Lens' Analysis (Prelude.Maybe Prelude.Text)
analysis_analysisId :: Lens' Analysis (Maybe Text)
analysis_analysisId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Analysis' {Maybe Text
analysisId :: Maybe Text
$sel:analysisId:Analysis' :: Analysis -> Maybe Text
analysisId} -> Maybe Text
analysisId) (\s :: Analysis
s@Analysis' {} Maybe Text
a -> Analysis
s {$sel:analysisId:Analysis' :: Maybe Text
analysisId = Maybe Text
a} :: Analysis)

-- | The Amazon Resource Name (ARN) of the analysis.
analysis_arn :: Lens.Lens' Analysis (Prelude.Maybe Prelude.Text)
analysis_arn :: Lens' Analysis (Maybe Text)
analysis_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Analysis' {Maybe Text
arn :: Maybe Text
$sel:arn:Analysis' :: Analysis -> Maybe Text
arn} -> Maybe Text
arn) (\s :: Analysis
s@Analysis' {} Maybe Text
a -> Analysis
s {$sel:arn:Analysis' :: Maybe Text
arn = Maybe Text
a} :: Analysis)

-- | The time that the analysis was created.
analysis_createdTime :: Lens.Lens' Analysis (Prelude.Maybe Prelude.UTCTime)
analysis_createdTime :: Lens' Analysis (Maybe UTCTime)
analysis_createdTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Analysis' {Maybe POSIX
createdTime :: Maybe POSIX
$sel:createdTime:Analysis' :: Analysis -> Maybe POSIX
createdTime} -> Maybe POSIX
createdTime) (\s :: Analysis
s@Analysis' {} Maybe POSIX
a -> Analysis
s {$sel:createdTime:Analysis' :: Maybe POSIX
createdTime = Maybe POSIX
a} :: Analysis) 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 ARNs of the datasets of the analysis.
analysis_dataSetArns :: Lens.Lens' Analysis (Prelude.Maybe [Prelude.Text])
analysis_dataSetArns :: Lens' Analysis (Maybe [Text])
analysis_dataSetArns = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Analysis' {Maybe [Text]
dataSetArns :: Maybe [Text]
$sel:dataSetArns:Analysis' :: Analysis -> Maybe [Text]
dataSetArns} -> Maybe [Text]
dataSetArns) (\s :: Analysis
s@Analysis' {} Maybe [Text]
a -> Analysis
s {$sel:dataSetArns:Analysis' :: Maybe [Text]
dataSetArns = Maybe [Text]
a} :: Analysis) 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

-- | Errors associated with the analysis.
analysis_errors :: Lens.Lens' Analysis (Prelude.Maybe (Prelude.NonEmpty AnalysisError))
analysis_errors :: Lens' Analysis (Maybe (NonEmpty AnalysisError))
analysis_errors = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Analysis' {Maybe (NonEmpty AnalysisError)
errors :: Maybe (NonEmpty AnalysisError)
$sel:errors:Analysis' :: Analysis -> Maybe (NonEmpty AnalysisError)
errors} -> Maybe (NonEmpty AnalysisError)
errors) (\s :: Analysis
s@Analysis' {} Maybe (NonEmpty AnalysisError)
a -> Analysis
s {$sel:errors:Analysis' :: Maybe (NonEmpty AnalysisError)
errors = Maybe (NonEmpty AnalysisError)
a} :: Analysis) 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 time that the analysis was last updated.
analysis_lastUpdatedTime :: Lens.Lens' Analysis (Prelude.Maybe Prelude.UTCTime)
analysis_lastUpdatedTime :: Lens' Analysis (Maybe UTCTime)
analysis_lastUpdatedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Analysis' {Maybe POSIX
lastUpdatedTime :: Maybe POSIX
$sel:lastUpdatedTime:Analysis' :: Analysis -> Maybe POSIX
lastUpdatedTime} -> Maybe POSIX
lastUpdatedTime) (\s :: Analysis
s@Analysis' {} Maybe POSIX
a -> Analysis
s {$sel:lastUpdatedTime:Analysis' :: Maybe POSIX
lastUpdatedTime = Maybe POSIX
a} :: Analysis) 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 descriptive name of the analysis.
analysis_name :: Lens.Lens' Analysis (Prelude.Maybe Prelude.Text)
analysis_name :: Lens' Analysis (Maybe Text)
analysis_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Analysis' {Maybe Text
name :: Maybe Text
$sel:name:Analysis' :: Analysis -> Maybe Text
name} -> Maybe Text
name) (\s :: Analysis
s@Analysis' {} Maybe Text
a -> Analysis
s {$sel:name:Analysis' :: Maybe Text
name = Maybe Text
a} :: Analysis)

-- | A list of the associated sheets with the unique identifier and name of
-- each sheet.
analysis_sheets :: Lens.Lens' Analysis (Prelude.Maybe [Sheet])
analysis_sheets :: Lens' Analysis (Maybe [Sheet])
analysis_sheets = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Analysis' {Maybe [Sheet]
sheets :: Maybe [Sheet]
$sel:sheets:Analysis' :: Analysis -> Maybe [Sheet]
sheets} -> Maybe [Sheet]
sheets) (\s :: Analysis
s@Analysis' {} Maybe [Sheet]
a -> Analysis
s {$sel:sheets:Analysis' :: Maybe [Sheet]
sheets = Maybe [Sheet]
a} :: Analysis) 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

-- | Status associated with the analysis.
analysis_status :: Lens.Lens' Analysis (Prelude.Maybe ResourceStatus)
analysis_status :: Lens' Analysis (Maybe ResourceStatus)
analysis_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Analysis' {Maybe ResourceStatus
status :: Maybe ResourceStatus
$sel:status:Analysis' :: Analysis -> Maybe ResourceStatus
status} -> Maybe ResourceStatus
status) (\s :: Analysis
s@Analysis' {} Maybe ResourceStatus
a -> Analysis
s {$sel:status:Analysis' :: Maybe ResourceStatus
status = Maybe ResourceStatus
a} :: Analysis)

-- | The ARN of the theme of the analysis.
analysis_themeArn :: Lens.Lens' Analysis (Prelude.Maybe Prelude.Text)
analysis_themeArn :: Lens' Analysis (Maybe Text)
analysis_themeArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Analysis' {Maybe Text
themeArn :: Maybe Text
$sel:themeArn:Analysis' :: Analysis -> Maybe Text
themeArn} -> Maybe Text
themeArn) (\s :: Analysis
s@Analysis' {} Maybe Text
a -> Analysis
s {$sel:themeArn:Analysis' :: Maybe Text
themeArn = Maybe Text
a} :: Analysis)

instance Data.FromJSON Analysis where
  parseJSON :: Value -> Parser Analysis
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"Analysis"
      ( \Object
x ->
          Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe [Text]
-> Maybe (NonEmpty AnalysisError)
-> Maybe POSIX
-> Maybe Text
-> Maybe [Sheet]
-> Maybe ResourceStatus
-> Maybe Text
-> Analysis
Analysis'
            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
"AnalysisId")
            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
"Arn")
            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
"CreatedTime")
            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
"DataSetArns" 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
"Errors")
            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
"LastUpdatedTime")
            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
"Sheets" 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
"Status")
            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
"ThemeArn")
      )

instance Prelude.Hashable Analysis where
  hashWithSalt :: Int -> Analysis -> Int
hashWithSalt Int
_salt Analysis' {Maybe [Text]
Maybe [Sheet]
Maybe (NonEmpty AnalysisError)
Maybe Text
Maybe POSIX
Maybe ResourceStatus
themeArn :: Maybe Text
status :: Maybe ResourceStatus
sheets :: Maybe [Sheet]
name :: Maybe Text
lastUpdatedTime :: Maybe POSIX
errors :: Maybe (NonEmpty AnalysisError)
dataSetArns :: Maybe [Text]
createdTime :: Maybe POSIX
arn :: Maybe Text
analysisId :: Maybe Text
$sel:themeArn:Analysis' :: Analysis -> Maybe Text
$sel:status:Analysis' :: Analysis -> Maybe ResourceStatus
$sel:sheets:Analysis' :: Analysis -> Maybe [Sheet]
$sel:name:Analysis' :: Analysis -> Maybe Text
$sel:lastUpdatedTime:Analysis' :: Analysis -> Maybe POSIX
$sel:errors:Analysis' :: Analysis -> Maybe (NonEmpty AnalysisError)
$sel:dataSetArns:Analysis' :: Analysis -> Maybe [Text]
$sel:createdTime:Analysis' :: Analysis -> Maybe POSIX
$sel:arn:Analysis' :: Analysis -> Maybe Text
$sel:analysisId:Analysis' :: Analysis -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
analysisId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
arn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
createdTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
dataSetArns
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty AnalysisError)
errors
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
lastUpdatedTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Sheet]
sheets
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ResourceStatus
status
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
themeArn

instance Prelude.NFData Analysis where
  rnf :: Analysis -> ()
rnf Analysis' {Maybe [Text]
Maybe [Sheet]
Maybe (NonEmpty AnalysisError)
Maybe Text
Maybe POSIX
Maybe ResourceStatus
themeArn :: Maybe Text
status :: Maybe ResourceStatus
sheets :: Maybe [Sheet]
name :: Maybe Text
lastUpdatedTime :: Maybe POSIX
errors :: Maybe (NonEmpty AnalysisError)
dataSetArns :: Maybe [Text]
createdTime :: Maybe POSIX
arn :: Maybe Text
analysisId :: Maybe Text
$sel:themeArn:Analysis' :: Analysis -> Maybe Text
$sel:status:Analysis' :: Analysis -> Maybe ResourceStatus
$sel:sheets:Analysis' :: Analysis -> Maybe [Sheet]
$sel:name:Analysis' :: Analysis -> Maybe Text
$sel:lastUpdatedTime:Analysis' :: Analysis -> Maybe POSIX
$sel:errors:Analysis' :: Analysis -> Maybe (NonEmpty AnalysisError)
$sel:dataSetArns:Analysis' :: Analysis -> Maybe [Text]
$sel:createdTime:Analysis' :: Analysis -> Maybe POSIX
$sel:arn:Analysis' :: Analysis -> Maybe Text
$sel:analysisId:Analysis' :: Analysis -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
analysisId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
arn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
createdTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
dataSetArns
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty AnalysisError)
errors
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastUpdatedTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Sheet]
sheets
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ResourceStatus
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
themeArn