{-# 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.KinesisAnalyticsV2.Types.ZeppelinApplicationConfigurationDescription
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.KinesisAnalyticsV2.Types.ZeppelinApplicationConfigurationDescription where

import qualified Amazonka.Core as Core
import Amazonka.KinesisAnalyticsV2.Types.CatalogConfigurationDescription
import Amazonka.KinesisAnalyticsV2.Types.CustomArtifactConfigurationDescription
import Amazonka.KinesisAnalyticsV2.Types.DeployAsApplicationConfigurationDescription
import Amazonka.KinesisAnalyticsV2.Types.ZeppelinMonitoringConfigurationDescription
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude

-- | The configuration of a Kinesis Data Analytics Studio notebook.
--
-- /See:/ 'newZeppelinApplicationConfigurationDescription' smart constructor.
data ZeppelinApplicationConfigurationDescription = ZeppelinApplicationConfigurationDescription'
  { -- | Custom artifacts are dependency JARs and user-defined functions (UDF).
    ZeppelinApplicationConfigurationDescription
-> Maybe [CustomArtifactConfigurationDescription]
customArtifactsConfigurationDescription :: Prelude.Maybe [CustomArtifactConfigurationDescription],
    -- | The parameters required to deploy a Kinesis Data Analytics Studio
    -- notebook as an application with durable state.
    ZeppelinApplicationConfigurationDescription
-> Maybe DeployAsApplicationConfigurationDescription
deployAsApplicationConfigurationDescription :: Prelude.Maybe DeployAsApplicationConfigurationDescription,
    -- | The Amazon Glue Data Catalog that is associated with the Kinesis Data
    -- Analytics Studio notebook.
    ZeppelinApplicationConfigurationDescription
-> Maybe CatalogConfigurationDescription
catalogConfigurationDescription :: Prelude.Maybe CatalogConfigurationDescription,
    -- | The monitoring configuration of a Kinesis Data Analytics Studio
    -- notebook.
    ZeppelinApplicationConfigurationDescription
-> ZeppelinMonitoringConfigurationDescription
monitoringConfigurationDescription :: ZeppelinMonitoringConfigurationDescription
  }
  deriving (ZeppelinApplicationConfigurationDescription
-> ZeppelinApplicationConfigurationDescription -> Bool
(ZeppelinApplicationConfigurationDescription
 -> ZeppelinApplicationConfigurationDescription -> Bool)
-> (ZeppelinApplicationConfigurationDescription
    -> ZeppelinApplicationConfigurationDescription -> Bool)
-> Eq ZeppelinApplicationConfigurationDescription
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ZeppelinApplicationConfigurationDescription
-> ZeppelinApplicationConfigurationDescription -> Bool
$c/= :: ZeppelinApplicationConfigurationDescription
-> ZeppelinApplicationConfigurationDescription -> Bool
== :: ZeppelinApplicationConfigurationDescription
-> ZeppelinApplicationConfigurationDescription -> Bool
$c== :: ZeppelinApplicationConfigurationDescription
-> ZeppelinApplicationConfigurationDescription -> Bool
Prelude.Eq, ReadPrec [ZeppelinApplicationConfigurationDescription]
ReadPrec ZeppelinApplicationConfigurationDescription
Int -> ReadS ZeppelinApplicationConfigurationDescription
ReadS [ZeppelinApplicationConfigurationDescription]
(Int -> ReadS ZeppelinApplicationConfigurationDescription)
-> ReadS [ZeppelinApplicationConfigurationDescription]
-> ReadPrec ZeppelinApplicationConfigurationDescription
-> ReadPrec [ZeppelinApplicationConfigurationDescription]
-> Read ZeppelinApplicationConfigurationDescription
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ZeppelinApplicationConfigurationDescription]
$creadListPrec :: ReadPrec [ZeppelinApplicationConfigurationDescription]
readPrec :: ReadPrec ZeppelinApplicationConfigurationDescription
$creadPrec :: ReadPrec ZeppelinApplicationConfigurationDescription
readList :: ReadS [ZeppelinApplicationConfigurationDescription]
$creadList :: ReadS [ZeppelinApplicationConfigurationDescription]
readsPrec :: Int -> ReadS ZeppelinApplicationConfigurationDescription
$creadsPrec :: Int -> ReadS ZeppelinApplicationConfigurationDescription
Prelude.Read, Int -> ZeppelinApplicationConfigurationDescription -> ShowS
[ZeppelinApplicationConfigurationDescription] -> ShowS
ZeppelinApplicationConfigurationDescription -> String
(Int -> ZeppelinApplicationConfigurationDescription -> ShowS)
-> (ZeppelinApplicationConfigurationDescription -> String)
-> ([ZeppelinApplicationConfigurationDescription] -> ShowS)
-> Show ZeppelinApplicationConfigurationDescription
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ZeppelinApplicationConfigurationDescription] -> ShowS
$cshowList :: [ZeppelinApplicationConfigurationDescription] -> ShowS
show :: ZeppelinApplicationConfigurationDescription -> String
$cshow :: ZeppelinApplicationConfigurationDescription -> String
showsPrec :: Int -> ZeppelinApplicationConfigurationDescription -> ShowS
$cshowsPrec :: Int -> ZeppelinApplicationConfigurationDescription -> ShowS
Prelude.Show, (forall x.
 ZeppelinApplicationConfigurationDescription
 -> Rep ZeppelinApplicationConfigurationDescription x)
-> (forall x.
    Rep ZeppelinApplicationConfigurationDescription x
    -> ZeppelinApplicationConfigurationDescription)
-> Generic ZeppelinApplicationConfigurationDescription
forall x.
Rep ZeppelinApplicationConfigurationDescription x
-> ZeppelinApplicationConfigurationDescription
forall x.
ZeppelinApplicationConfigurationDescription
-> Rep ZeppelinApplicationConfigurationDescription x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ZeppelinApplicationConfigurationDescription x
-> ZeppelinApplicationConfigurationDescription
$cfrom :: forall x.
ZeppelinApplicationConfigurationDescription
-> Rep ZeppelinApplicationConfigurationDescription x
Prelude.Generic)

-- |
-- Create a value of 'ZeppelinApplicationConfigurationDescription' 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:
--
-- 'customArtifactsConfigurationDescription', 'zeppelinApplicationConfigurationDescription_customArtifactsConfigurationDescription' - Custom artifacts are dependency JARs and user-defined functions (UDF).
--
-- 'deployAsApplicationConfigurationDescription', 'zeppelinApplicationConfigurationDescription_deployAsApplicationConfigurationDescription' - The parameters required to deploy a Kinesis Data Analytics Studio
-- notebook as an application with durable state.
--
-- 'catalogConfigurationDescription', 'zeppelinApplicationConfigurationDescription_catalogConfigurationDescription' - The Amazon Glue Data Catalog that is associated with the Kinesis Data
-- Analytics Studio notebook.
--
-- 'monitoringConfigurationDescription', 'zeppelinApplicationConfigurationDescription_monitoringConfigurationDescription' - The monitoring configuration of a Kinesis Data Analytics Studio
-- notebook.
newZeppelinApplicationConfigurationDescription ::
  -- | 'monitoringConfigurationDescription'
  ZeppelinMonitoringConfigurationDescription ->
  ZeppelinApplicationConfigurationDescription
newZeppelinApplicationConfigurationDescription :: ZeppelinMonitoringConfigurationDescription
-> ZeppelinApplicationConfigurationDescription
newZeppelinApplicationConfigurationDescription
  ZeppelinMonitoringConfigurationDescription
pMonitoringConfigurationDescription_ =
    ZeppelinApplicationConfigurationDescription' :: Maybe [CustomArtifactConfigurationDescription]
-> Maybe DeployAsApplicationConfigurationDescription
-> Maybe CatalogConfigurationDescription
-> ZeppelinMonitoringConfigurationDescription
-> ZeppelinApplicationConfigurationDescription
ZeppelinApplicationConfigurationDescription'
      { $sel:customArtifactsConfigurationDescription:ZeppelinApplicationConfigurationDescription' :: Maybe [CustomArtifactConfigurationDescription]
customArtifactsConfigurationDescription =
          Maybe [CustomArtifactConfigurationDescription]
forall a. Maybe a
Prelude.Nothing,
        $sel:deployAsApplicationConfigurationDescription:ZeppelinApplicationConfigurationDescription' :: Maybe DeployAsApplicationConfigurationDescription
deployAsApplicationConfigurationDescription =
          Maybe DeployAsApplicationConfigurationDescription
forall a. Maybe a
Prelude.Nothing,
        $sel:catalogConfigurationDescription:ZeppelinApplicationConfigurationDescription' :: Maybe CatalogConfigurationDescription
catalogConfigurationDescription =
          Maybe CatalogConfigurationDescription
forall a. Maybe a
Prelude.Nothing,
        $sel:monitoringConfigurationDescription:ZeppelinApplicationConfigurationDescription' :: ZeppelinMonitoringConfigurationDescription
monitoringConfigurationDescription =
          ZeppelinMonitoringConfigurationDescription
pMonitoringConfigurationDescription_
      }

-- | Custom artifacts are dependency JARs and user-defined functions (UDF).
zeppelinApplicationConfigurationDescription_customArtifactsConfigurationDescription :: Lens.Lens' ZeppelinApplicationConfigurationDescription (Prelude.Maybe [CustomArtifactConfigurationDescription])
zeppelinApplicationConfigurationDescription_customArtifactsConfigurationDescription :: (Maybe [CustomArtifactConfigurationDescription]
 -> f (Maybe [CustomArtifactConfigurationDescription]))
-> ZeppelinApplicationConfigurationDescription
-> f ZeppelinApplicationConfigurationDescription
zeppelinApplicationConfigurationDescription_customArtifactsConfigurationDescription = (ZeppelinApplicationConfigurationDescription
 -> Maybe [CustomArtifactConfigurationDescription])
-> (ZeppelinApplicationConfigurationDescription
    -> Maybe [CustomArtifactConfigurationDescription]
    -> ZeppelinApplicationConfigurationDescription)
-> Lens
     ZeppelinApplicationConfigurationDescription
     ZeppelinApplicationConfigurationDescription
     (Maybe [CustomArtifactConfigurationDescription])
     (Maybe [CustomArtifactConfigurationDescription])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ZeppelinApplicationConfigurationDescription' {Maybe [CustomArtifactConfigurationDescription]
customArtifactsConfigurationDescription :: Maybe [CustomArtifactConfigurationDescription]
$sel:customArtifactsConfigurationDescription:ZeppelinApplicationConfigurationDescription' :: ZeppelinApplicationConfigurationDescription
-> Maybe [CustomArtifactConfigurationDescription]
customArtifactsConfigurationDescription} -> Maybe [CustomArtifactConfigurationDescription]
customArtifactsConfigurationDescription) (\s :: ZeppelinApplicationConfigurationDescription
s@ZeppelinApplicationConfigurationDescription' {} Maybe [CustomArtifactConfigurationDescription]
a -> ZeppelinApplicationConfigurationDescription
s {$sel:customArtifactsConfigurationDescription:ZeppelinApplicationConfigurationDescription' :: Maybe [CustomArtifactConfigurationDescription]
customArtifactsConfigurationDescription = Maybe [CustomArtifactConfigurationDescription]
a} :: ZeppelinApplicationConfigurationDescription) ((Maybe [CustomArtifactConfigurationDescription]
  -> f (Maybe [CustomArtifactConfigurationDescription]))
 -> ZeppelinApplicationConfigurationDescription
 -> f ZeppelinApplicationConfigurationDescription)
-> ((Maybe [CustomArtifactConfigurationDescription]
     -> f (Maybe [CustomArtifactConfigurationDescription]))
    -> Maybe [CustomArtifactConfigurationDescription]
    -> f (Maybe [CustomArtifactConfigurationDescription]))
-> (Maybe [CustomArtifactConfigurationDescription]
    -> f (Maybe [CustomArtifactConfigurationDescription]))
-> ZeppelinApplicationConfigurationDescription
-> f ZeppelinApplicationConfigurationDescription
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [CustomArtifactConfigurationDescription]
  [CustomArtifactConfigurationDescription]
  [CustomArtifactConfigurationDescription]
  [CustomArtifactConfigurationDescription]
-> Iso
     (Maybe [CustomArtifactConfigurationDescription])
     (Maybe [CustomArtifactConfigurationDescription])
     (Maybe [CustomArtifactConfigurationDescription])
     (Maybe [CustomArtifactConfigurationDescription])
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 AnIso
  [CustomArtifactConfigurationDescription]
  [CustomArtifactConfigurationDescription]
  [CustomArtifactConfigurationDescription]
  [CustomArtifactConfigurationDescription]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The parameters required to deploy a Kinesis Data Analytics Studio
-- notebook as an application with durable state.
zeppelinApplicationConfigurationDescription_deployAsApplicationConfigurationDescription :: Lens.Lens' ZeppelinApplicationConfigurationDescription (Prelude.Maybe DeployAsApplicationConfigurationDescription)
zeppelinApplicationConfigurationDescription_deployAsApplicationConfigurationDescription :: (Maybe DeployAsApplicationConfigurationDescription
 -> f (Maybe DeployAsApplicationConfigurationDescription))
-> ZeppelinApplicationConfigurationDescription
-> f ZeppelinApplicationConfigurationDescription
zeppelinApplicationConfigurationDescription_deployAsApplicationConfigurationDescription = (ZeppelinApplicationConfigurationDescription
 -> Maybe DeployAsApplicationConfigurationDescription)
-> (ZeppelinApplicationConfigurationDescription
    -> Maybe DeployAsApplicationConfigurationDescription
    -> ZeppelinApplicationConfigurationDescription)
-> Lens
     ZeppelinApplicationConfigurationDescription
     ZeppelinApplicationConfigurationDescription
     (Maybe DeployAsApplicationConfigurationDescription)
     (Maybe DeployAsApplicationConfigurationDescription)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ZeppelinApplicationConfigurationDescription' {Maybe DeployAsApplicationConfigurationDescription
deployAsApplicationConfigurationDescription :: Maybe DeployAsApplicationConfigurationDescription
$sel:deployAsApplicationConfigurationDescription:ZeppelinApplicationConfigurationDescription' :: ZeppelinApplicationConfigurationDescription
-> Maybe DeployAsApplicationConfigurationDescription
deployAsApplicationConfigurationDescription} -> Maybe DeployAsApplicationConfigurationDescription
deployAsApplicationConfigurationDescription) (\s :: ZeppelinApplicationConfigurationDescription
s@ZeppelinApplicationConfigurationDescription' {} Maybe DeployAsApplicationConfigurationDescription
a -> ZeppelinApplicationConfigurationDescription
s {$sel:deployAsApplicationConfigurationDescription:ZeppelinApplicationConfigurationDescription' :: Maybe DeployAsApplicationConfigurationDescription
deployAsApplicationConfigurationDescription = Maybe DeployAsApplicationConfigurationDescription
a} :: ZeppelinApplicationConfigurationDescription)

-- | The Amazon Glue Data Catalog that is associated with the Kinesis Data
-- Analytics Studio notebook.
zeppelinApplicationConfigurationDescription_catalogConfigurationDescription :: Lens.Lens' ZeppelinApplicationConfigurationDescription (Prelude.Maybe CatalogConfigurationDescription)
zeppelinApplicationConfigurationDescription_catalogConfigurationDescription :: (Maybe CatalogConfigurationDescription
 -> f (Maybe CatalogConfigurationDescription))
-> ZeppelinApplicationConfigurationDescription
-> f ZeppelinApplicationConfigurationDescription
zeppelinApplicationConfigurationDescription_catalogConfigurationDescription = (ZeppelinApplicationConfigurationDescription
 -> Maybe CatalogConfigurationDescription)
-> (ZeppelinApplicationConfigurationDescription
    -> Maybe CatalogConfigurationDescription
    -> ZeppelinApplicationConfigurationDescription)
-> Lens
     ZeppelinApplicationConfigurationDescription
     ZeppelinApplicationConfigurationDescription
     (Maybe CatalogConfigurationDescription)
     (Maybe CatalogConfigurationDescription)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ZeppelinApplicationConfigurationDescription' {Maybe CatalogConfigurationDescription
catalogConfigurationDescription :: Maybe CatalogConfigurationDescription
$sel:catalogConfigurationDescription:ZeppelinApplicationConfigurationDescription' :: ZeppelinApplicationConfigurationDescription
-> Maybe CatalogConfigurationDescription
catalogConfigurationDescription} -> Maybe CatalogConfigurationDescription
catalogConfigurationDescription) (\s :: ZeppelinApplicationConfigurationDescription
s@ZeppelinApplicationConfigurationDescription' {} Maybe CatalogConfigurationDescription
a -> ZeppelinApplicationConfigurationDescription
s {$sel:catalogConfigurationDescription:ZeppelinApplicationConfigurationDescription' :: Maybe CatalogConfigurationDescription
catalogConfigurationDescription = Maybe CatalogConfigurationDescription
a} :: ZeppelinApplicationConfigurationDescription)

-- | The monitoring configuration of a Kinesis Data Analytics Studio
-- notebook.
zeppelinApplicationConfigurationDescription_monitoringConfigurationDescription :: Lens.Lens' ZeppelinApplicationConfigurationDescription ZeppelinMonitoringConfigurationDescription
zeppelinApplicationConfigurationDescription_monitoringConfigurationDescription :: (ZeppelinMonitoringConfigurationDescription
 -> f ZeppelinMonitoringConfigurationDescription)
-> ZeppelinApplicationConfigurationDescription
-> f ZeppelinApplicationConfigurationDescription
zeppelinApplicationConfigurationDescription_monitoringConfigurationDescription = (ZeppelinApplicationConfigurationDescription
 -> ZeppelinMonitoringConfigurationDescription)
-> (ZeppelinApplicationConfigurationDescription
    -> ZeppelinMonitoringConfigurationDescription
    -> ZeppelinApplicationConfigurationDescription)
-> Lens
     ZeppelinApplicationConfigurationDescription
     ZeppelinApplicationConfigurationDescription
     ZeppelinMonitoringConfigurationDescription
     ZeppelinMonitoringConfigurationDescription
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ZeppelinApplicationConfigurationDescription' {ZeppelinMonitoringConfigurationDescription
monitoringConfigurationDescription :: ZeppelinMonitoringConfigurationDescription
$sel:monitoringConfigurationDescription:ZeppelinApplicationConfigurationDescription' :: ZeppelinApplicationConfigurationDescription
-> ZeppelinMonitoringConfigurationDescription
monitoringConfigurationDescription} -> ZeppelinMonitoringConfigurationDescription
monitoringConfigurationDescription) (\s :: ZeppelinApplicationConfigurationDescription
s@ZeppelinApplicationConfigurationDescription' {} ZeppelinMonitoringConfigurationDescription
a -> ZeppelinApplicationConfigurationDescription
s {$sel:monitoringConfigurationDescription:ZeppelinApplicationConfigurationDescription' :: ZeppelinMonitoringConfigurationDescription
monitoringConfigurationDescription = ZeppelinMonitoringConfigurationDescription
a} :: ZeppelinApplicationConfigurationDescription)

instance
  Core.FromJSON
    ZeppelinApplicationConfigurationDescription
  where
  parseJSON :: Value -> Parser ZeppelinApplicationConfigurationDescription
parseJSON =
    String
-> (Object -> Parser ZeppelinApplicationConfigurationDescription)
-> Value
-> Parser ZeppelinApplicationConfigurationDescription
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"ZeppelinApplicationConfigurationDescription"
      ( \Object
x ->
          Maybe [CustomArtifactConfigurationDescription]
-> Maybe DeployAsApplicationConfigurationDescription
-> Maybe CatalogConfigurationDescription
-> ZeppelinMonitoringConfigurationDescription
-> ZeppelinApplicationConfigurationDescription
ZeppelinApplicationConfigurationDescription'
            (Maybe [CustomArtifactConfigurationDescription]
 -> Maybe DeployAsApplicationConfigurationDescription
 -> Maybe CatalogConfigurationDescription
 -> ZeppelinMonitoringConfigurationDescription
 -> ZeppelinApplicationConfigurationDescription)
-> Parser (Maybe [CustomArtifactConfigurationDescription])
-> Parser
     (Maybe DeployAsApplicationConfigurationDescription
      -> Maybe CatalogConfigurationDescription
      -> ZeppelinMonitoringConfigurationDescription
      -> ZeppelinApplicationConfigurationDescription)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ( Object
x Object
-> Text
-> Parser (Maybe (Maybe [CustomArtifactConfigurationDescription]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CustomArtifactsConfigurationDescription"
                            Parser (Maybe (Maybe [CustomArtifactConfigurationDescription]))
-> Maybe [CustomArtifactConfigurationDescription]
-> Parser (Maybe [CustomArtifactConfigurationDescription])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [CustomArtifactConfigurationDescription]
forall a. Monoid a => a
Prelude.mempty
                        )
              Parser
  (Maybe DeployAsApplicationConfigurationDescription
   -> Maybe CatalogConfigurationDescription
   -> ZeppelinMonitoringConfigurationDescription
   -> ZeppelinApplicationConfigurationDescription)
-> Parser (Maybe DeployAsApplicationConfigurationDescription)
-> Parser
     (Maybe CatalogConfigurationDescription
      -> ZeppelinMonitoringConfigurationDescription
      -> ZeppelinApplicationConfigurationDescription)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
                              Object
-> Text
-> Parser (Maybe DeployAsApplicationConfigurationDescription)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DeployAsApplicationConfigurationDescription"
                          )
              Parser
  (Maybe CatalogConfigurationDescription
   -> ZeppelinMonitoringConfigurationDescription
   -> ZeppelinApplicationConfigurationDescription)
-> Parser (Maybe CatalogConfigurationDescription)
-> Parser
     (ZeppelinMonitoringConfigurationDescription
      -> ZeppelinApplicationConfigurationDescription)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe CatalogConfigurationDescription)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CatalogConfigurationDescription")
              Parser
  (ZeppelinMonitoringConfigurationDescription
   -> ZeppelinApplicationConfigurationDescription)
-> Parser ZeppelinMonitoringConfigurationDescription
-> Parser ZeppelinApplicationConfigurationDescription
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser ZeppelinMonitoringConfigurationDescription
forall a. FromJSON a => Object -> Text -> Parser a
Core..: Text
"MonitoringConfigurationDescription")
      )

instance
  Prelude.Hashable
    ZeppelinApplicationConfigurationDescription

instance
  Prelude.NFData
    ZeppelinApplicationConfigurationDescription