{-# 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.ECRPublic.Types.RepositoryCatalogData
-- 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.ECRPublic.Types.RepositoryCatalogData where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude

-- | The catalog data for a repository. This data is publicly visible in the
-- Amazon ECR Public Gallery.
--
-- /See:/ 'newRepositoryCatalogData' smart constructor.
data RepositoryCatalogData = RepositoryCatalogData'
  { -- | The URL containing the logo associated with the repository.
    RepositoryCatalogData -> Maybe Text
logoUrl :: Prelude.Maybe Prelude.Text,
    -- | The architecture tags that are associated with the repository.
    --
    -- Only supported operating system tags appear publicly in the Amazon ECR
    -- Public Gallery. For more information, see RepositoryCatalogDataInput.
    RepositoryCatalogData -> Maybe [Text]
architectures :: Prelude.Maybe [Prelude.Text],
    -- | The longform usage details of the contents of the repository. The usage
    -- text provides context for users of the repository.
    RepositoryCatalogData -> Maybe Text
usageText :: Prelude.Maybe Prelude.Text,
    -- | Whether or not the repository is certified by AWS Marketplace.
    RepositoryCatalogData -> Maybe Bool
marketplaceCertified :: Prelude.Maybe Prelude.Bool,
    -- | The longform description of the contents of the repository. This text
    -- appears in the repository details on the Amazon ECR Public Gallery.
    RepositoryCatalogData -> Maybe Text
aboutText :: Prelude.Maybe Prelude.Text,
    -- | The operating system tags that are associated with the repository.
    --
    -- Only supported operating system tags appear publicly in the Amazon ECR
    -- Public Gallery. For more information, see RepositoryCatalogDataInput.
    RepositoryCatalogData -> Maybe [Text]
operatingSystems :: Prelude.Maybe [Prelude.Text],
    -- | The short description of the repository.
    RepositoryCatalogData -> Maybe Text
description :: Prelude.Maybe Prelude.Text
  }
  deriving (RepositoryCatalogData -> RepositoryCatalogData -> Bool
(RepositoryCatalogData -> RepositoryCatalogData -> Bool)
-> (RepositoryCatalogData -> RepositoryCatalogData -> Bool)
-> Eq RepositoryCatalogData
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RepositoryCatalogData -> RepositoryCatalogData -> Bool
$c/= :: RepositoryCatalogData -> RepositoryCatalogData -> Bool
== :: RepositoryCatalogData -> RepositoryCatalogData -> Bool
$c== :: RepositoryCatalogData -> RepositoryCatalogData -> Bool
Prelude.Eq, ReadPrec [RepositoryCatalogData]
ReadPrec RepositoryCatalogData
Int -> ReadS RepositoryCatalogData
ReadS [RepositoryCatalogData]
(Int -> ReadS RepositoryCatalogData)
-> ReadS [RepositoryCatalogData]
-> ReadPrec RepositoryCatalogData
-> ReadPrec [RepositoryCatalogData]
-> Read RepositoryCatalogData
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RepositoryCatalogData]
$creadListPrec :: ReadPrec [RepositoryCatalogData]
readPrec :: ReadPrec RepositoryCatalogData
$creadPrec :: ReadPrec RepositoryCatalogData
readList :: ReadS [RepositoryCatalogData]
$creadList :: ReadS [RepositoryCatalogData]
readsPrec :: Int -> ReadS RepositoryCatalogData
$creadsPrec :: Int -> ReadS RepositoryCatalogData
Prelude.Read, Int -> RepositoryCatalogData -> ShowS
[RepositoryCatalogData] -> ShowS
RepositoryCatalogData -> String
(Int -> RepositoryCatalogData -> ShowS)
-> (RepositoryCatalogData -> String)
-> ([RepositoryCatalogData] -> ShowS)
-> Show RepositoryCatalogData
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RepositoryCatalogData] -> ShowS
$cshowList :: [RepositoryCatalogData] -> ShowS
show :: RepositoryCatalogData -> String
$cshow :: RepositoryCatalogData -> String
showsPrec :: Int -> RepositoryCatalogData -> ShowS
$cshowsPrec :: Int -> RepositoryCatalogData -> ShowS
Prelude.Show, (forall x. RepositoryCatalogData -> Rep RepositoryCatalogData x)
-> (forall x. Rep RepositoryCatalogData x -> RepositoryCatalogData)
-> Generic RepositoryCatalogData
forall x. Rep RepositoryCatalogData x -> RepositoryCatalogData
forall x. RepositoryCatalogData -> Rep RepositoryCatalogData x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep RepositoryCatalogData x -> RepositoryCatalogData
$cfrom :: forall x. RepositoryCatalogData -> Rep RepositoryCatalogData x
Prelude.Generic)

-- |
-- Create a value of 'RepositoryCatalogData' 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:
--
-- 'logoUrl', 'repositoryCatalogData_logoUrl' - The URL containing the logo associated with the repository.
--
-- 'architectures', 'repositoryCatalogData_architectures' - The architecture tags that are associated with the repository.
--
-- Only supported operating system tags appear publicly in the Amazon ECR
-- Public Gallery. For more information, see RepositoryCatalogDataInput.
--
-- 'usageText', 'repositoryCatalogData_usageText' - The longform usage details of the contents of the repository. The usage
-- text provides context for users of the repository.
--
-- 'marketplaceCertified', 'repositoryCatalogData_marketplaceCertified' - Whether or not the repository is certified by AWS Marketplace.
--
-- 'aboutText', 'repositoryCatalogData_aboutText' - The longform description of the contents of the repository. This text
-- appears in the repository details on the Amazon ECR Public Gallery.
--
-- 'operatingSystems', 'repositoryCatalogData_operatingSystems' - The operating system tags that are associated with the repository.
--
-- Only supported operating system tags appear publicly in the Amazon ECR
-- Public Gallery. For more information, see RepositoryCatalogDataInput.
--
-- 'description', 'repositoryCatalogData_description' - The short description of the repository.
newRepositoryCatalogData ::
  RepositoryCatalogData
newRepositoryCatalogData :: RepositoryCatalogData
newRepositoryCatalogData =
  RepositoryCatalogData' :: Maybe Text
-> Maybe [Text]
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe [Text]
-> Maybe Text
-> RepositoryCatalogData
RepositoryCatalogData'
    { $sel:logoUrl:RepositoryCatalogData' :: Maybe Text
logoUrl = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:architectures:RepositoryCatalogData' :: Maybe [Text]
architectures = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:usageText:RepositoryCatalogData' :: Maybe Text
usageText = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:marketplaceCertified:RepositoryCatalogData' :: Maybe Bool
marketplaceCertified = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:aboutText:RepositoryCatalogData' :: Maybe Text
aboutText = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:operatingSystems:RepositoryCatalogData' :: Maybe [Text]
operatingSystems = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:description:RepositoryCatalogData' :: Maybe Text
description = Maybe Text
forall a. Maybe a
Prelude.Nothing
    }

-- | The URL containing the logo associated with the repository.
repositoryCatalogData_logoUrl :: Lens.Lens' RepositoryCatalogData (Prelude.Maybe Prelude.Text)
repositoryCatalogData_logoUrl :: (Maybe Text -> f (Maybe Text))
-> RepositoryCatalogData -> f RepositoryCatalogData
repositoryCatalogData_logoUrl = (RepositoryCatalogData -> Maybe Text)
-> (RepositoryCatalogData -> Maybe Text -> RepositoryCatalogData)
-> Lens
     RepositoryCatalogData
     RepositoryCatalogData
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RepositoryCatalogData' {Maybe Text
logoUrl :: Maybe Text
$sel:logoUrl:RepositoryCatalogData' :: RepositoryCatalogData -> Maybe Text
logoUrl} -> Maybe Text
logoUrl) (\s :: RepositoryCatalogData
s@RepositoryCatalogData' {} Maybe Text
a -> RepositoryCatalogData
s {$sel:logoUrl:RepositoryCatalogData' :: Maybe Text
logoUrl = Maybe Text
a} :: RepositoryCatalogData)

-- | The architecture tags that are associated with the repository.
--
-- Only supported operating system tags appear publicly in the Amazon ECR
-- Public Gallery. For more information, see RepositoryCatalogDataInput.
repositoryCatalogData_architectures :: Lens.Lens' RepositoryCatalogData (Prelude.Maybe [Prelude.Text])
repositoryCatalogData_architectures :: (Maybe [Text] -> f (Maybe [Text]))
-> RepositoryCatalogData -> f RepositoryCatalogData
repositoryCatalogData_architectures = (RepositoryCatalogData -> Maybe [Text])
-> (RepositoryCatalogData -> Maybe [Text] -> RepositoryCatalogData)
-> Lens
     RepositoryCatalogData
     RepositoryCatalogData
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RepositoryCatalogData' {Maybe [Text]
architectures :: Maybe [Text]
$sel:architectures:RepositoryCatalogData' :: RepositoryCatalogData -> Maybe [Text]
architectures} -> Maybe [Text]
architectures) (\s :: RepositoryCatalogData
s@RepositoryCatalogData' {} Maybe [Text]
a -> RepositoryCatalogData
s {$sel:architectures:RepositoryCatalogData' :: Maybe [Text]
architectures = Maybe [Text]
a} :: RepositoryCatalogData) ((Maybe [Text] -> f (Maybe [Text]))
 -> RepositoryCatalogData -> f RepositoryCatalogData)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> RepositoryCatalogData
-> f RepositoryCatalogData
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
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 [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The longform usage details of the contents of the repository. The usage
-- text provides context for users of the repository.
repositoryCatalogData_usageText :: Lens.Lens' RepositoryCatalogData (Prelude.Maybe Prelude.Text)
repositoryCatalogData_usageText :: (Maybe Text -> f (Maybe Text))
-> RepositoryCatalogData -> f RepositoryCatalogData
repositoryCatalogData_usageText = (RepositoryCatalogData -> Maybe Text)
-> (RepositoryCatalogData -> Maybe Text -> RepositoryCatalogData)
-> Lens
     RepositoryCatalogData
     RepositoryCatalogData
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RepositoryCatalogData' {Maybe Text
usageText :: Maybe Text
$sel:usageText:RepositoryCatalogData' :: RepositoryCatalogData -> Maybe Text
usageText} -> Maybe Text
usageText) (\s :: RepositoryCatalogData
s@RepositoryCatalogData' {} Maybe Text
a -> RepositoryCatalogData
s {$sel:usageText:RepositoryCatalogData' :: Maybe Text
usageText = Maybe Text
a} :: RepositoryCatalogData)

-- | Whether or not the repository is certified by AWS Marketplace.
repositoryCatalogData_marketplaceCertified :: Lens.Lens' RepositoryCatalogData (Prelude.Maybe Prelude.Bool)
repositoryCatalogData_marketplaceCertified :: (Maybe Bool -> f (Maybe Bool))
-> RepositoryCatalogData -> f RepositoryCatalogData
repositoryCatalogData_marketplaceCertified = (RepositoryCatalogData -> Maybe Bool)
-> (RepositoryCatalogData -> Maybe Bool -> RepositoryCatalogData)
-> Lens
     RepositoryCatalogData
     RepositoryCatalogData
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RepositoryCatalogData' {Maybe Bool
marketplaceCertified :: Maybe Bool
$sel:marketplaceCertified:RepositoryCatalogData' :: RepositoryCatalogData -> Maybe Bool
marketplaceCertified} -> Maybe Bool
marketplaceCertified) (\s :: RepositoryCatalogData
s@RepositoryCatalogData' {} Maybe Bool
a -> RepositoryCatalogData
s {$sel:marketplaceCertified:RepositoryCatalogData' :: Maybe Bool
marketplaceCertified = Maybe Bool
a} :: RepositoryCatalogData)

-- | The longform description of the contents of the repository. This text
-- appears in the repository details on the Amazon ECR Public Gallery.
repositoryCatalogData_aboutText :: Lens.Lens' RepositoryCatalogData (Prelude.Maybe Prelude.Text)
repositoryCatalogData_aboutText :: (Maybe Text -> f (Maybe Text))
-> RepositoryCatalogData -> f RepositoryCatalogData
repositoryCatalogData_aboutText = (RepositoryCatalogData -> Maybe Text)
-> (RepositoryCatalogData -> Maybe Text -> RepositoryCatalogData)
-> Lens
     RepositoryCatalogData
     RepositoryCatalogData
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RepositoryCatalogData' {Maybe Text
aboutText :: Maybe Text
$sel:aboutText:RepositoryCatalogData' :: RepositoryCatalogData -> Maybe Text
aboutText} -> Maybe Text
aboutText) (\s :: RepositoryCatalogData
s@RepositoryCatalogData' {} Maybe Text
a -> RepositoryCatalogData
s {$sel:aboutText:RepositoryCatalogData' :: Maybe Text
aboutText = Maybe Text
a} :: RepositoryCatalogData)

-- | The operating system tags that are associated with the repository.
--
-- Only supported operating system tags appear publicly in the Amazon ECR
-- Public Gallery. For more information, see RepositoryCatalogDataInput.
repositoryCatalogData_operatingSystems :: Lens.Lens' RepositoryCatalogData (Prelude.Maybe [Prelude.Text])
repositoryCatalogData_operatingSystems :: (Maybe [Text] -> f (Maybe [Text]))
-> RepositoryCatalogData -> f RepositoryCatalogData
repositoryCatalogData_operatingSystems = (RepositoryCatalogData -> Maybe [Text])
-> (RepositoryCatalogData -> Maybe [Text] -> RepositoryCatalogData)
-> Lens
     RepositoryCatalogData
     RepositoryCatalogData
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RepositoryCatalogData' {Maybe [Text]
operatingSystems :: Maybe [Text]
$sel:operatingSystems:RepositoryCatalogData' :: RepositoryCatalogData -> Maybe [Text]
operatingSystems} -> Maybe [Text]
operatingSystems) (\s :: RepositoryCatalogData
s@RepositoryCatalogData' {} Maybe [Text]
a -> RepositoryCatalogData
s {$sel:operatingSystems:RepositoryCatalogData' :: Maybe [Text]
operatingSystems = Maybe [Text]
a} :: RepositoryCatalogData) ((Maybe [Text] -> f (Maybe [Text]))
 -> RepositoryCatalogData -> f RepositoryCatalogData)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> RepositoryCatalogData
-> f RepositoryCatalogData
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
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 [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The short description of the repository.
repositoryCatalogData_description :: Lens.Lens' RepositoryCatalogData (Prelude.Maybe Prelude.Text)
repositoryCatalogData_description :: (Maybe Text -> f (Maybe Text))
-> RepositoryCatalogData -> f RepositoryCatalogData
repositoryCatalogData_description = (RepositoryCatalogData -> Maybe Text)
-> (RepositoryCatalogData -> Maybe Text -> RepositoryCatalogData)
-> Lens
     RepositoryCatalogData
     RepositoryCatalogData
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RepositoryCatalogData' {Maybe Text
description :: Maybe Text
$sel:description:RepositoryCatalogData' :: RepositoryCatalogData -> Maybe Text
description} -> Maybe Text
description) (\s :: RepositoryCatalogData
s@RepositoryCatalogData' {} Maybe Text
a -> RepositoryCatalogData
s {$sel:description:RepositoryCatalogData' :: Maybe Text
description = Maybe Text
a} :: RepositoryCatalogData)

instance Core.FromJSON RepositoryCatalogData where
  parseJSON :: Value -> Parser RepositoryCatalogData
parseJSON =
    String
-> (Object -> Parser RepositoryCatalogData)
-> Value
-> Parser RepositoryCatalogData
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"RepositoryCatalogData"
      ( \Object
x ->
          Maybe Text
-> Maybe [Text]
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe [Text]
-> Maybe Text
-> RepositoryCatalogData
RepositoryCatalogData'
            (Maybe Text
 -> Maybe [Text]
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Text
 -> Maybe [Text]
 -> Maybe Text
 -> RepositoryCatalogData)
-> Parser (Maybe Text)
-> Parser
     (Maybe [Text]
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> RepositoryCatalogData)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"logoUrl")
            Parser
  (Maybe [Text]
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> RepositoryCatalogData)
-> Parser (Maybe [Text])
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> RepositoryCatalogData)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"architectures" Parser (Maybe (Maybe [Text]))
-> Maybe [Text] -> Parser (Maybe [Text])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [Text]
forall a. Monoid a => a
Prelude.mempty)
            Parser
  (Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> RepositoryCatalogData)
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> RepositoryCatalogData)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"usageText")
            Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> RepositoryCatalogData)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text -> Maybe [Text] -> Maybe Text -> RepositoryCatalogData)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"marketplaceCertified")
            Parser
  (Maybe Text -> Maybe [Text] -> Maybe Text -> RepositoryCatalogData)
-> Parser (Maybe Text)
-> Parser (Maybe [Text] -> Maybe Text -> RepositoryCatalogData)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"aboutText")
            Parser (Maybe [Text] -> Maybe Text -> RepositoryCatalogData)
-> Parser (Maybe [Text])
-> Parser (Maybe Text -> RepositoryCatalogData)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object -> Text -> Parser (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"operatingSystems"
                            Parser (Maybe (Maybe [Text]))
-> Maybe [Text] -> Parser (Maybe [Text])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [Text]
forall a. Monoid a => a
Prelude.mempty
                        )
            Parser (Maybe Text -> RepositoryCatalogData)
-> Parser (Maybe Text) -> Parser RepositoryCatalogData
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"description")
      )

instance Prelude.Hashable RepositoryCatalogData

instance Prelude.NFData RepositoryCatalogData