{-# 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.QuickSight.UpdateDashboard
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Updates a dashboard in an Amazon Web Services account.
--
-- Updating a Dashboard creates a new dashboard version but does not
-- immediately publish the new version. You can update the published
-- version of a dashboard by using the
-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateDashboardPublishedVersion.html UpdateDashboardPublishedVersion>@ @
-- API operation.
module Amazonka.QuickSight.UpdateDashboard
  ( -- * Creating a Request
    UpdateDashboard (..),
    newUpdateDashboard,

    -- * Request Lenses
    updateDashboard_dashboardPublishOptions,
    updateDashboard_definition,
    updateDashboard_parameters,
    updateDashboard_sourceEntity,
    updateDashboard_themeArn,
    updateDashboard_versionDescription,
    updateDashboard_awsAccountId,
    updateDashboard_dashboardId,
    updateDashboard_name,

    -- * Destructuring the Response
    UpdateDashboardResponse (..),
    newUpdateDashboardResponse,

    -- * Response Lenses
    updateDashboardResponse_arn,
    updateDashboardResponse_creationStatus,
    updateDashboardResponse_dashboardId,
    updateDashboardResponse_requestId,
    updateDashboardResponse_status,
    updateDashboardResponse_versionArn,
    updateDashboardResponse_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 Amazonka.QuickSight.Types
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newUpdateDashboard' smart constructor.
data UpdateDashboard = UpdateDashboard'
  { -- | Options for publishing the dashboard when you create it:
    --
    -- -   @AvailabilityStatus@ for @AdHocFilteringOption@ - This status can be
    --     either @ENABLED@ or @DISABLED@. When this is set to @DISABLED@,
    --     Amazon QuickSight disables the left filter pane on the published
    --     dashboard, which can be used for ad hoc (one-time) filtering. This
    --     option is @ENABLED@ by default.
    --
    -- -   @AvailabilityStatus@ for @ExportToCSVOption@ - This status can be
    --     either @ENABLED@ or @DISABLED@. The visual option to export data to
    --     .CSV format isn\'t enabled when this is set to @DISABLED@. This
    --     option is @ENABLED@ by default.
    --
    -- -   @VisibilityState@ for @SheetControlsOption@ - This visibility state
    --     can be either @COLLAPSED@ or @EXPANDED@. This option is @COLLAPSED@
    --     by default.
    UpdateDashboard -> Maybe DashboardPublishOptions
dashboardPublishOptions :: Prelude.Maybe DashboardPublishOptions,
    -- | The definition of a dashboard.
    --
    -- A definition is the data model of all features in a Dashboard, Template,
    -- or Analysis.
    UpdateDashboard -> Maybe DashboardVersionDefinition
definition :: Prelude.Maybe DashboardVersionDefinition,
    -- | A structure that contains the parameters of the dashboard. These are
    -- parameter overrides for a dashboard. A dashboard can have any type of
    -- parameters, and some parameters might accept multiple values.
    UpdateDashboard -> Maybe Parameters
parameters :: Prelude.Maybe Parameters,
    -- | The entity that you are using as a source when you update the dashboard.
    -- In @SourceEntity@, you specify the type of object you\'re using as
    -- source. You can only update a dashboard from a template, so you use a
    -- @SourceTemplate@ entity. If you need to update a dashboard from an
    -- analysis, first convert the analysis to a template by using the
    -- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateTemplate.html CreateTemplate>@ @
    -- API operation. For @SourceTemplate@, specify the Amazon Resource Name
    -- (ARN) of the source template. The @SourceTemplate@ ARN can contain any
    -- Amazon Web Services account and any Amazon QuickSight-supported Amazon
    -- Web Services Region.
    --
    -- Use the @DataSetReferences@ entity within @SourceTemplate@ to list the
    -- replacement datasets for the placeholders listed in the original. The
    -- schema in each dataset must match its placeholder.
    UpdateDashboard -> Maybe DashboardSourceEntity
sourceEntity :: Prelude.Maybe DashboardSourceEntity,
    -- | The Amazon Resource Name (ARN) of the theme that is being used for this
    -- dashboard. If you add a value for this field, it overrides the value
    -- that was originally associated with the entity. The theme ARN must exist
    -- in the same Amazon Web Services account where you create the dashboard.
    UpdateDashboard -> Maybe Text
themeArn :: Prelude.Maybe Prelude.Text,
    -- | A description for the first version of the dashboard being created.
    UpdateDashboard -> Maybe Text
versionDescription :: Prelude.Maybe Prelude.Text,
    -- | The ID of the Amazon Web Services account that contains the dashboard
    -- that you\'re updating.
    UpdateDashboard -> Text
awsAccountId :: Prelude.Text,
    -- | The ID for the dashboard.
    UpdateDashboard -> Text
dashboardId :: Prelude.Text,
    -- | The display name of the dashboard.
    UpdateDashboard -> Text
name :: Prelude.Text
  }
  deriving (UpdateDashboard -> UpdateDashboard -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateDashboard -> UpdateDashboard -> Bool
$c/= :: UpdateDashboard -> UpdateDashboard -> Bool
== :: UpdateDashboard -> UpdateDashboard -> Bool
$c== :: UpdateDashboard -> UpdateDashboard -> Bool
Prelude.Eq, Int -> UpdateDashboard -> ShowS
[UpdateDashboard] -> ShowS
UpdateDashboard -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateDashboard] -> ShowS
$cshowList :: [UpdateDashboard] -> ShowS
show :: UpdateDashboard -> String
$cshow :: UpdateDashboard -> String
showsPrec :: Int -> UpdateDashboard -> ShowS
$cshowsPrec :: Int -> UpdateDashboard -> ShowS
Prelude.Show, forall x. Rep UpdateDashboard x -> UpdateDashboard
forall x. UpdateDashboard -> Rep UpdateDashboard x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateDashboard x -> UpdateDashboard
$cfrom :: forall x. UpdateDashboard -> Rep UpdateDashboard x
Prelude.Generic)

-- |
-- Create a value of 'UpdateDashboard' 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:
--
-- 'dashboardPublishOptions', 'updateDashboard_dashboardPublishOptions' - Options for publishing the dashboard when you create it:
--
-- -   @AvailabilityStatus@ for @AdHocFilteringOption@ - This status can be
--     either @ENABLED@ or @DISABLED@. When this is set to @DISABLED@,
--     Amazon QuickSight disables the left filter pane on the published
--     dashboard, which can be used for ad hoc (one-time) filtering. This
--     option is @ENABLED@ by default.
--
-- -   @AvailabilityStatus@ for @ExportToCSVOption@ - This status can be
--     either @ENABLED@ or @DISABLED@. The visual option to export data to
--     .CSV format isn\'t enabled when this is set to @DISABLED@. This
--     option is @ENABLED@ by default.
--
-- -   @VisibilityState@ for @SheetControlsOption@ - This visibility state
--     can be either @COLLAPSED@ or @EXPANDED@. This option is @COLLAPSED@
--     by default.
--
-- 'definition', 'updateDashboard_definition' - The definition of a dashboard.
--
-- A definition is the data model of all features in a Dashboard, Template,
-- or Analysis.
--
-- 'parameters', 'updateDashboard_parameters' - A structure that contains the parameters of the dashboard. These are
-- parameter overrides for a dashboard. A dashboard can have any type of
-- parameters, and some parameters might accept multiple values.
--
-- 'sourceEntity', 'updateDashboard_sourceEntity' - The entity that you are using as a source when you update the dashboard.
-- In @SourceEntity@, you specify the type of object you\'re using as
-- source. You can only update a dashboard from a template, so you use a
-- @SourceTemplate@ entity. If you need to update a dashboard from an
-- analysis, first convert the analysis to a template by using the
-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateTemplate.html CreateTemplate>@ @
-- API operation. For @SourceTemplate@, specify the Amazon Resource Name
-- (ARN) of the source template. The @SourceTemplate@ ARN can contain any
-- Amazon Web Services account and any Amazon QuickSight-supported Amazon
-- Web Services Region.
--
-- Use the @DataSetReferences@ entity within @SourceTemplate@ to list the
-- replacement datasets for the placeholders listed in the original. The
-- schema in each dataset must match its placeholder.
--
-- 'themeArn', 'updateDashboard_themeArn' - The Amazon Resource Name (ARN) of the theme that is being used for this
-- dashboard. If you add a value for this field, it overrides the value
-- that was originally associated with the entity. The theme ARN must exist
-- in the same Amazon Web Services account where you create the dashboard.
--
-- 'versionDescription', 'updateDashboard_versionDescription' - A description for the first version of the dashboard being created.
--
-- 'awsAccountId', 'updateDashboard_awsAccountId' - The ID of the Amazon Web Services account that contains the dashboard
-- that you\'re updating.
--
-- 'dashboardId', 'updateDashboard_dashboardId' - The ID for the dashboard.
--
-- 'name', 'updateDashboard_name' - The display name of the dashboard.
newUpdateDashboard ::
  -- | 'awsAccountId'
  Prelude.Text ->
  -- | 'dashboardId'
  Prelude.Text ->
  -- | 'name'
  Prelude.Text ->
  UpdateDashboard
newUpdateDashboard :: Text -> Text -> Text -> UpdateDashboard
newUpdateDashboard
  Text
pAwsAccountId_
  Text
pDashboardId_
  Text
pName_ =
    UpdateDashboard'
      { $sel:dashboardPublishOptions:UpdateDashboard' :: Maybe DashboardPublishOptions
dashboardPublishOptions =
          forall a. Maybe a
Prelude.Nothing,
        $sel:definition:UpdateDashboard' :: Maybe DashboardVersionDefinition
definition = forall a. Maybe a
Prelude.Nothing,
        $sel:parameters:UpdateDashboard' :: Maybe Parameters
parameters = forall a. Maybe a
Prelude.Nothing,
        $sel:sourceEntity:UpdateDashboard' :: Maybe DashboardSourceEntity
sourceEntity = forall a. Maybe a
Prelude.Nothing,
        $sel:themeArn:UpdateDashboard' :: Maybe Text
themeArn = forall a. Maybe a
Prelude.Nothing,
        $sel:versionDescription:UpdateDashboard' :: Maybe Text
versionDescription = forall a. Maybe a
Prelude.Nothing,
        $sel:awsAccountId:UpdateDashboard' :: Text
awsAccountId = Text
pAwsAccountId_,
        $sel:dashboardId:UpdateDashboard' :: Text
dashboardId = Text
pDashboardId_,
        $sel:name:UpdateDashboard' :: Text
name = Text
pName_
      }

-- | Options for publishing the dashboard when you create it:
--
-- -   @AvailabilityStatus@ for @AdHocFilteringOption@ - This status can be
--     either @ENABLED@ or @DISABLED@. When this is set to @DISABLED@,
--     Amazon QuickSight disables the left filter pane on the published
--     dashboard, which can be used for ad hoc (one-time) filtering. This
--     option is @ENABLED@ by default.
--
-- -   @AvailabilityStatus@ for @ExportToCSVOption@ - This status can be
--     either @ENABLED@ or @DISABLED@. The visual option to export data to
--     .CSV format isn\'t enabled when this is set to @DISABLED@. This
--     option is @ENABLED@ by default.
--
-- -   @VisibilityState@ for @SheetControlsOption@ - This visibility state
--     can be either @COLLAPSED@ or @EXPANDED@. This option is @COLLAPSED@
--     by default.
updateDashboard_dashboardPublishOptions :: Lens.Lens' UpdateDashboard (Prelude.Maybe DashboardPublishOptions)
updateDashboard_dashboardPublishOptions :: Lens' UpdateDashboard (Maybe DashboardPublishOptions)
updateDashboard_dashboardPublishOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDashboard' {Maybe DashboardPublishOptions
dashboardPublishOptions :: Maybe DashboardPublishOptions
$sel:dashboardPublishOptions:UpdateDashboard' :: UpdateDashboard -> Maybe DashboardPublishOptions
dashboardPublishOptions} -> Maybe DashboardPublishOptions
dashboardPublishOptions) (\s :: UpdateDashboard
s@UpdateDashboard' {} Maybe DashboardPublishOptions
a -> UpdateDashboard
s {$sel:dashboardPublishOptions:UpdateDashboard' :: Maybe DashboardPublishOptions
dashboardPublishOptions = Maybe DashboardPublishOptions
a} :: UpdateDashboard)

-- | The definition of a dashboard.
--
-- A definition is the data model of all features in a Dashboard, Template,
-- or Analysis.
updateDashboard_definition :: Lens.Lens' UpdateDashboard (Prelude.Maybe DashboardVersionDefinition)
updateDashboard_definition :: Lens' UpdateDashboard (Maybe DashboardVersionDefinition)
updateDashboard_definition = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDashboard' {Maybe DashboardVersionDefinition
definition :: Maybe DashboardVersionDefinition
$sel:definition:UpdateDashboard' :: UpdateDashboard -> Maybe DashboardVersionDefinition
definition} -> Maybe DashboardVersionDefinition
definition) (\s :: UpdateDashboard
s@UpdateDashboard' {} Maybe DashboardVersionDefinition
a -> UpdateDashboard
s {$sel:definition:UpdateDashboard' :: Maybe DashboardVersionDefinition
definition = Maybe DashboardVersionDefinition
a} :: UpdateDashboard)

-- | A structure that contains the parameters of the dashboard. These are
-- parameter overrides for a dashboard. A dashboard can have any type of
-- parameters, and some parameters might accept multiple values.
updateDashboard_parameters :: Lens.Lens' UpdateDashboard (Prelude.Maybe Parameters)
updateDashboard_parameters :: Lens' UpdateDashboard (Maybe Parameters)
updateDashboard_parameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDashboard' {Maybe Parameters
parameters :: Maybe Parameters
$sel:parameters:UpdateDashboard' :: UpdateDashboard -> Maybe Parameters
parameters} -> Maybe Parameters
parameters) (\s :: UpdateDashboard
s@UpdateDashboard' {} Maybe Parameters
a -> UpdateDashboard
s {$sel:parameters:UpdateDashboard' :: Maybe Parameters
parameters = Maybe Parameters
a} :: UpdateDashboard)

-- | The entity that you are using as a source when you update the dashboard.
-- In @SourceEntity@, you specify the type of object you\'re using as
-- source. You can only update a dashboard from a template, so you use a
-- @SourceTemplate@ entity. If you need to update a dashboard from an
-- analysis, first convert the analysis to a template by using the
-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateTemplate.html CreateTemplate>@ @
-- API operation. For @SourceTemplate@, specify the Amazon Resource Name
-- (ARN) of the source template. The @SourceTemplate@ ARN can contain any
-- Amazon Web Services account and any Amazon QuickSight-supported Amazon
-- Web Services Region.
--
-- Use the @DataSetReferences@ entity within @SourceTemplate@ to list the
-- replacement datasets for the placeholders listed in the original. The
-- schema in each dataset must match its placeholder.
updateDashboard_sourceEntity :: Lens.Lens' UpdateDashboard (Prelude.Maybe DashboardSourceEntity)
updateDashboard_sourceEntity :: Lens' UpdateDashboard (Maybe DashboardSourceEntity)
updateDashboard_sourceEntity = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDashboard' {Maybe DashboardSourceEntity
sourceEntity :: Maybe DashboardSourceEntity
$sel:sourceEntity:UpdateDashboard' :: UpdateDashboard -> Maybe DashboardSourceEntity
sourceEntity} -> Maybe DashboardSourceEntity
sourceEntity) (\s :: UpdateDashboard
s@UpdateDashboard' {} Maybe DashboardSourceEntity
a -> UpdateDashboard
s {$sel:sourceEntity:UpdateDashboard' :: Maybe DashboardSourceEntity
sourceEntity = Maybe DashboardSourceEntity
a} :: UpdateDashboard)

-- | The Amazon Resource Name (ARN) of the theme that is being used for this
-- dashboard. If you add a value for this field, it overrides the value
-- that was originally associated with the entity. The theme ARN must exist
-- in the same Amazon Web Services account where you create the dashboard.
updateDashboard_themeArn :: Lens.Lens' UpdateDashboard (Prelude.Maybe Prelude.Text)
updateDashboard_themeArn :: Lens' UpdateDashboard (Maybe Text)
updateDashboard_themeArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDashboard' {Maybe Text
themeArn :: Maybe Text
$sel:themeArn:UpdateDashboard' :: UpdateDashboard -> Maybe Text
themeArn} -> Maybe Text
themeArn) (\s :: UpdateDashboard
s@UpdateDashboard' {} Maybe Text
a -> UpdateDashboard
s {$sel:themeArn:UpdateDashboard' :: Maybe Text
themeArn = Maybe Text
a} :: UpdateDashboard)

-- | A description for the first version of the dashboard being created.
updateDashboard_versionDescription :: Lens.Lens' UpdateDashboard (Prelude.Maybe Prelude.Text)
updateDashboard_versionDescription :: Lens' UpdateDashboard (Maybe Text)
updateDashboard_versionDescription = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDashboard' {Maybe Text
versionDescription :: Maybe Text
$sel:versionDescription:UpdateDashboard' :: UpdateDashboard -> Maybe Text
versionDescription} -> Maybe Text
versionDescription) (\s :: UpdateDashboard
s@UpdateDashboard' {} Maybe Text
a -> UpdateDashboard
s {$sel:versionDescription:UpdateDashboard' :: Maybe Text
versionDescription = Maybe Text
a} :: UpdateDashboard)

-- | The ID of the Amazon Web Services account that contains the dashboard
-- that you\'re updating.
updateDashboard_awsAccountId :: Lens.Lens' UpdateDashboard Prelude.Text
updateDashboard_awsAccountId :: Lens' UpdateDashboard Text
updateDashboard_awsAccountId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDashboard' {Text
awsAccountId :: Text
$sel:awsAccountId:UpdateDashboard' :: UpdateDashboard -> Text
awsAccountId} -> Text
awsAccountId) (\s :: UpdateDashboard
s@UpdateDashboard' {} Text
a -> UpdateDashboard
s {$sel:awsAccountId:UpdateDashboard' :: Text
awsAccountId = Text
a} :: UpdateDashboard)

-- | The ID for the dashboard.
updateDashboard_dashboardId :: Lens.Lens' UpdateDashboard Prelude.Text
updateDashboard_dashboardId :: Lens' UpdateDashboard Text
updateDashboard_dashboardId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDashboard' {Text
dashboardId :: Text
$sel:dashboardId:UpdateDashboard' :: UpdateDashboard -> Text
dashboardId} -> Text
dashboardId) (\s :: UpdateDashboard
s@UpdateDashboard' {} Text
a -> UpdateDashboard
s {$sel:dashboardId:UpdateDashboard' :: Text
dashboardId = Text
a} :: UpdateDashboard)

-- | The display name of the dashboard.
updateDashboard_name :: Lens.Lens' UpdateDashboard Prelude.Text
updateDashboard_name :: Lens' UpdateDashboard Text
updateDashboard_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDashboard' {Text
name :: Text
$sel:name:UpdateDashboard' :: UpdateDashboard -> Text
name} -> Text
name) (\s :: UpdateDashboard
s@UpdateDashboard' {} Text
a -> UpdateDashboard
s {$sel:name:UpdateDashboard' :: Text
name = Text
a} :: UpdateDashboard)

instance Core.AWSRequest UpdateDashboard where
  type
    AWSResponse UpdateDashboard =
      UpdateDashboardResponse
  request :: (Service -> Service) -> UpdateDashboard -> Request UpdateDashboard
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateDashboard
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse UpdateDashboard)))
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 Text
-> Maybe ResourceStatus
-> Maybe Text
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Int
-> UpdateDashboardResponse
UpdateDashboardResponse'
            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
"Arn")
            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
"CreationStatus")
            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
"DashboardId")
            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
"RequestId")
            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
"Status")
            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
"VersionArn")
            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 UpdateDashboard where
  hashWithSalt :: Int -> UpdateDashboard -> Int
hashWithSalt Int
_salt UpdateDashboard' {Maybe Text
Maybe DashboardSourceEntity
Maybe DashboardPublishOptions
Maybe Parameters
Maybe DashboardVersionDefinition
Text
name :: Text
dashboardId :: Text
awsAccountId :: Text
versionDescription :: Maybe Text
themeArn :: Maybe Text
sourceEntity :: Maybe DashboardSourceEntity
parameters :: Maybe Parameters
definition :: Maybe DashboardVersionDefinition
dashboardPublishOptions :: Maybe DashboardPublishOptions
$sel:name:UpdateDashboard' :: UpdateDashboard -> Text
$sel:dashboardId:UpdateDashboard' :: UpdateDashboard -> Text
$sel:awsAccountId:UpdateDashboard' :: UpdateDashboard -> Text
$sel:versionDescription:UpdateDashboard' :: UpdateDashboard -> Maybe Text
$sel:themeArn:UpdateDashboard' :: UpdateDashboard -> Maybe Text
$sel:sourceEntity:UpdateDashboard' :: UpdateDashboard -> Maybe DashboardSourceEntity
$sel:parameters:UpdateDashboard' :: UpdateDashboard -> Maybe Parameters
$sel:definition:UpdateDashboard' :: UpdateDashboard -> Maybe DashboardVersionDefinition
$sel:dashboardPublishOptions:UpdateDashboard' :: UpdateDashboard -> Maybe DashboardPublishOptions
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DashboardPublishOptions
dashboardPublishOptions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DashboardVersionDefinition
definition
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Parameters
parameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DashboardSourceEntity
sourceEntity
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
themeArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
versionDescription
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
awsAccountId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
dashboardId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name

instance Prelude.NFData UpdateDashboard where
  rnf :: UpdateDashboard -> ()
rnf UpdateDashboard' {Maybe Text
Maybe DashboardSourceEntity
Maybe DashboardPublishOptions
Maybe Parameters
Maybe DashboardVersionDefinition
Text
name :: Text
dashboardId :: Text
awsAccountId :: Text
versionDescription :: Maybe Text
themeArn :: Maybe Text
sourceEntity :: Maybe DashboardSourceEntity
parameters :: Maybe Parameters
definition :: Maybe DashboardVersionDefinition
dashboardPublishOptions :: Maybe DashboardPublishOptions
$sel:name:UpdateDashboard' :: UpdateDashboard -> Text
$sel:dashboardId:UpdateDashboard' :: UpdateDashboard -> Text
$sel:awsAccountId:UpdateDashboard' :: UpdateDashboard -> Text
$sel:versionDescription:UpdateDashboard' :: UpdateDashboard -> Maybe Text
$sel:themeArn:UpdateDashboard' :: UpdateDashboard -> Maybe Text
$sel:sourceEntity:UpdateDashboard' :: UpdateDashboard -> Maybe DashboardSourceEntity
$sel:parameters:UpdateDashboard' :: UpdateDashboard -> Maybe Parameters
$sel:definition:UpdateDashboard' :: UpdateDashboard -> Maybe DashboardVersionDefinition
$sel:dashboardPublishOptions:UpdateDashboard' :: UpdateDashboard -> Maybe DashboardPublishOptions
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe DashboardPublishOptions
dashboardPublishOptions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DashboardVersionDefinition
definition
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Parameters
parameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DashboardSourceEntity
sourceEntity
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
themeArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
versionDescription
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
awsAccountId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
dashboardId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
name

instance Data.ToHeaders UpdateDashboard where
  toHeaders :: UpdateDashboard -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.0" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON UpdateDashboard where
  toJSON :: UpdateDashboard -> Value
toJSON UpdateDashboard' {Maybe Text
Maybe DashboardSourceEntity
Maybe DashboardPublishOptions
Maybe Parameters
Maybe DashboardVersionDefinition
Text
name :: Text
dashboardId :: Text
awsAccountId :: Text
versionDescription :: Maybe Text
themeArn :: Maybe Text
sourceEntity :: Maybe DashboardSourceEntity
parameters :: Maybe Parameters
definition :: Maybe DashboardVersionDefinition
dashboardPublishOptions :: Maybe DashboardPublishOptions
$sel:name:UpdateDashboard' :: UpdateDashboard -> Text
$sel:dashboardId:UpdateDashboard' :: UpdateDashboard -> Text
$sel:awsAccountId:UpdateDashboard' :: UpdateDashboard -> Text
$sel:versionDescription:UpdateDashboard' :: UpdateDashboard -> Maybe Text
$sel:themeArn:UpdateDashboard' :: UpdateDashboard -> Maybe Text
$sel:sourceEntity:UpdateDashboard' :: UpdateDashboard -> Maybe DashboardSourceEntity
$sel:parameters:UpdateDashboard' :: UpdateDashboard -> Maybe Parameters
$sel:definition:UpdateDashboard' :: UpdateDashboard -> Maybe DashboardVersionDefinition
$sel:dashboardPublishOptions:UpdateDashboard' :: UpdateDashboard -> Maybe DashboardPublishOptions
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"DashboardPublishOptions" 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 DashboardPublishOptions
dashboardPublishOptions,
            (Key
"Definition" 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 DashboardVersionDefinition
definition,
            (Key
"Parameters" 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 Parameters
parameters,
            (Key
"SourceEntity" 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 DashboardSourceEntity
sourceEntity,
            (Key
"ThemeArn" 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 Text
themeArn,
            (Key
"VersionDescription" 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 Text
versionDescription,
            forall a. a -> Maybe a
Prelude.Just (Key
"Name" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
name)
          ]
      )

instance Data.ToPath UpdateDashboard where
  toPath :: UpdateDashboard -> ByteString
toPath UpdateDashboard' {Maybe Text
Maybe DashboardSourceEntity
Maybe DashboardPublishOptions
Maybe Parameters
Maybe DashboardVersionDefinition
Text
name :: Text
dashboardId :: Text
awsAccountId :: Text
versionDescription :: Maybe Text
themeArn :: Maybe Text
sourceEntity :: Maybe DashboardSourceEntity
parameters :: Maybe Parameters
definition :: Maybe DashboardVersionDefinition
dashboardPublishOptions :: Maybe DashboardPublishOptions
$sel:name:UpdateDashboard' :: UpdateDashboard -> Text
$sel:dashboardId:UpdateDashboard' :: UpdateDashboard -> Text
$sel:awsAccountId:UpdateDashboard' :: UpdateDashboard -> Text
$sel:versionDescription:UpdateDashboard' :: UpdateDashboard -> Maybe Text
$sel:themeArn:UpdateDashboard' :: UpdateDashboard -> Maybe Text
$sel:sourceEntity:UpdateDashboard' :: UpdateDashboard -> Maybe DashboardSourceEntity
$sel:parameters:UpdateDashboard' :: UpdateDashboard -> Maybe Parameters
$sel:definition:UpdateDashboard' :: UpdateDashboard -> Maybe DashboardVersionDefinition
$sel:dashboardPublishOptions:UpdateDashboard' :: UpdateDashboard -> Maybe DashboardPublishOptions
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/accounts/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
awsAccountId,
        ByteString
"/dashboards/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
dashboardId
      ]

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

-- | /See:/ 'newUpdateDashboardResponse' smart constructor.
data UpdateDashboardResponse = UpdateDashboardResponse'
  { -- | The Amazon Resource Name (ARN) of the resource.
    UpdateDashboardResponse -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
    -- | The creation status of the request.
    UpdateDashboardResponse -> Maybe ResourceStatus
creationStatus :: Prelude.Maybe ResourceStatus,
    -- | The ID for the dashboard.
    UpdateDashboardResponse -> Maybe Text
dashboardId :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Web Services request ID for this operation.
    UpdateDashboardResponse -> Maybe Text
requestId :: Prelude.Maybe Prelude.Text,
    -- | The HTTP status of the request.
    UpdateDashboardResponse -> Maybe Int
status :: Prelude.Maybe Prelude.Int,
    -- | The ARN of the dashboard, including the version number.
    UpdateDashboardResponse -> Maybe Text
versionArn :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    UpdateDashboardResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (UpdateDashboardResponse -> UpdateDashboardResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateDashboardResponse -> UpdateDashboardResponse -> Bool
$c/= :: UpdateDashboardResponse -> UpdateDashboardResponse -> Bool
== :: UpdateDashboardResponse -> UpdateDashboardResponse -> Bool
$c== :: UpdateDashboardResponse -> UpdateDashboardResponse -> Bool
Prelude.Eq, ReadPrec [UpdateDashboardResponse]
ReadPrec UpdateDashboardResponse
Int -> ReadS UpdateDashboardResponse
ReadS [UpdateDashboardResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateDashboardResponse]
$creadListPrec :: ReadPrec [UpdateDashboardResponse]
readPrec :: ReadPrec UpdateDashboardResponse
$creadPrec :: ReadPrec UpdateDashboardResponse
readList :: ReadS [UpdateDashboardResponse]
$creadList :: ReadS [UpdateDashboardResponse]
readsPrec :: Int -> ReadS UpdateDashboardResponse
$creadsPrec :: Int -> ReadS UpdateDashboardResponse
Prelude.Read, Int -> UpdateDashboardResponse -> ShowS
[UpdateDashboardResponse] -> ShowS
UpdateDashboardResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateDashboardResponse] -> ShowS
$cshowList :: [UpdateDashboardResponse] -> ShowS
show :: UpdateDashboardResponse -> String
$cshow :: UpdateDashboardResponse -> String
showsPrec :: Int -> UpdateDashboardResponse -> ShowS
$cshowsPrec :: Int -> UpdateDashboardResponse -> ShowS
Prelude.Show, forall x. Rep UpdateDashboardResponse x -> UpdateDashboardResponse
forall x. UpdateDashboardResponse -> Rep UpdateDashboardResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateDashboardResponse x -> UpdateDashboardResponse
$cfrom :: forall x. UpdateDashboardResponse -> Rep UpdateDashboardResponse x
Prelude.Generic)

-- |
-- Create a value of 'UpdateDashboardResponse' 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:
--
-- 'arn', 'updateDashboardResponse_arn' - The Amazon Resource Name (ARN) of the resource.
--
-- 'creationStatus', 'updateDashboardResponse_creationStatus' - The creation status of the request.
--
-- 'dashboardId', 'updateDashboardResponse_dashboardId' - The ID for the dashboard.
--
-- 'requestId', 'updateDashboardResponse_requestId' - The Amazon Web Services request ID for this operation.
--
-- 'status', 'updateDashboardResponse_status' - The HTTP status of the request.
--
-- 'versionArn', 'updateDashboardResponse_versionArn' - The ARN of the dashboard, including the version number.
--
-- 'httpStatus', 'updateDashboardResponse_httpStatus' - The response's http status code.
newUpdateDashboardResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  UpdateDashboardResponse
newUpdateDashboardResponse :: Int -> UpdateDashboardResponse
newUpdateDashboardResponse Int
pHttpStatus_ =
  UpdateDashboardResponse'
    { $sel:arn:UpdateDashboardResponse' :: Maybe Text
arn = forall a. Maybe a
Prelude.Nothing,
      $sel:creationStatus:UpdateDashboardResponse' :: Maybe ResourceStatus
creationStatus = forall a. Maybe a
Prelude.Nothing,
      $sel:dashboardId:UpdateDashboardResponse' :: Maybe Text
dashboardId = forall a. Maybe a
Prelude.Nothing,
      $sel:requestId:UpdateDashboardResponse' :: Maybe Text
requestId = forall a. Maybe a
Prelude.Nothing,
      $sel:status:UpdateDashboardResponse' :: Maybe Int
status = forall a. Maybe a
Prelude.Nothing,
      $sel:versionArn:UpdateDashboardResponse' :: Maybe Text
versionArn = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:UpdateDashboardResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

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

-- | The creation status of the request.
updateDashboardResponse_creationStatus :: Lens.Lens' UpdateDashboardResponse (Prelude.Maybe ResourceStatus)
updateDashboardResponse_creationStatus :: Lens' UpdateDashboardResponse (Maybe ResourceStatus)
updateDashboardResponse_creationStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDashboardResponse' {Maybe ResourceStatus
creationStatus :: Maybe ResourceStatus
$sel:creationStatus:UpdateDashboardResponse' :: UpdateDashboardResponse -> Maybe ResourceStatus
creationStatus} -> Maybe ResourceStatus
creationStatus) (\s :: UpdateDashboardResponse
s@UpdateDashboardResponse' {} Maybe ResourceStatus
a -> UpdateDashboardResponse
s {$sel:creationStatus:UpdateDashboardResponse' :: Maybe ResourceStatus
creationStatus = Maybe ResourceStatus
a} :: UpdateDashboardResponse)

-- | The ID for the dashboard.
updateDashboardResponse_dashboardId :: Lens.Lens' UpdateDashboardResponse (Prelude.Maybe Prelude.Text)
updateDashboardResponse_dashboardId :: Lens' UpdateDashboardResponse (Maybe Text)
updateDashboardResponse_dashboardId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDashboardResponse' {Maybe Text
dashboardId :: Maybe Text
$sel:dashboardId:UpdateDashboardResponse' :: UpdateDashboardResponse -> Maybe Text
dashboardId} -> Maybe Text
dashboardId) (\s :: UpdateDashboardResponse
s@UpdateDashboardResponse' {} Maybe Text
a -> UpdateDashboardResponse
s {$sel:dashboardId:UpdateDashboardResponse' :: Maybe Text
dashboardId = Maybe Text
a} :: UpdateDashboardResponse)

-- | The Amazon Web Services request ID for this operation.
updateDashboardResponse_requestId :: Lens.Lens' UpdateDashboardResponse (Prelude.Maybe Prelude.Text)
updateDashboardResponse_requestId :: Lens' UpdateDashboardResponse (Maybe Text)
updateDashboardResponse_requestId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDashboardResponse' {Maybe Text
requestId :: Maybe Text
$sel:requestId:UpdateDashboardResponse' :: UpdateDashboardResponse -> Maybe Text
requestId} -> Maybe Text
requestId) (\s :: UpdateDashboardResponse
s@UpdateDashboardResponse' {} Maybe Text
a -> UpdateDashboardResponse
s {$sel:requestId:UpdateDashboardResponse' :: Maybe Text
requestId = Maybe Text
a} :: UpdateDashboardResponse)

-- | The HTTP status of the request.
updateDashboardResponse_status :: Lens.Lens' UpdateDashboardResponse (Prelude.Maybe Prelude.Int)
updateDashboardResponse_status :: Lens' UpdateDashboardResponse (Maybe Int)
updateDashboardResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDashboardResponse' {Maybe Int
status :: Maybe Int
$sel:status:UpdateDashboardResponse' :: UpdateDashboardResponse -> Maybe Int
status} -> Maybe Int
status) (\s :: UpdateDashboardResponse
s@UpdateDashboardResponse' {} Maybe Int
a -> UpdateDashboardResponse
s {$sel:status:UpdateDashboardResponse' :: Maybe Int
status = Maybe Int
a} :: UpdateDashboardResponse)

-- | The ARN of the dashboard, including the version number.
updateDashboardResponse_versionArn :: Lens.Lens' UpdateDashboardResponse (Prelude.Maybe Prelude.Text)
updateDashboardResponse_versionArn :: Lens' UpdateDashboardResponse (Maybe Text)
updateDashboardResponse_versionArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDashboardResponse' {Maybe Text
versionArn :: Maybe Text
$sel:versionArn:UpdateDashboardResponse' :: UpdateDashboardResponse -> Maybe Text
versionArn} -> Maybe Text
versionArn) (\s :: UpdateDashboardResponse
s@UpdateDashboardResponse' {} Maybe Text
a -> UpdateDashboardResponse
s {$sel:versionArn:UpdateDashboardResponse' :: Maybe Text
versionArn = Maybe Text
a} :: UpdateDashboardResponse)

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

instance Prelude.NFData UpdateDashboardResponse where
  rnf :: UpdateDashboardResponse -> ()
rnf UpdateDashboardResponse' {Int
Maybe Int
Maybe Text
Maybe ResourceStatus
httpStatus :: Int
versionArn :: Maybe Text
status :: Maybe Int
requestId :: Maybe Text
dashboardId :: Maybe Text
creationStatus :: Maybe ResourceStatus
arn :: Maybe Text
$sel:httpStatus:UpdateDashboardResponse' :: UpdateDashboardResponse -> Int
$sel:versionArn:UpdateDashboardResponse' :: UpdateDashboardResponse -> Maybe Text
$sel:status:UpdateDashboardResponse' :: UpdateDashboardResponse -> Maybe Int
$sel:requestId:UpdateDashboardResponse' :: UpdateDashboardResponse -> Maybe Text
$sel:dashboardId:UpdateDashboardResponse' :: UpdateDashboardResponse -> Maybe Text
$sel:creationStatus:UpdateDashboardResponse' :: UpdateDashboardResponse -> Maybe ResourceStatus
$sel:arn:UpdateDashboardResponse' :: UpdateDashboardResponse -> Maybe Text
..} =
    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 ResourceStatus
creationStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
dashboardId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
requestId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
versionArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus