{-# 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.Wisdom.Types.KnowledgeBaseSummary
-- 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.Wisdom.Types.KnowledgeBaseSummary 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.Wisdom.Types.KnowledgeBaseStatus
import Amazonka.Wisdom.Types.KnowledgeBaseType
import Amazonka.Wisdom.Types.RenderingConfiguration
import Amazonka.Wisdom.Types.ServerSideEncryptionConfiguration
import Amazonka.Wisdom.Types.SourceConfiguration

-- | Summary information about the knowledge base.
--
-- /See:/ 'newKnowledgeBaseSummary' smart constructor.
data KnowledgeBaseSummary = KnowledgeBaseSummary'
  { -- | The description of the knowledge base.
    KnowledgeBaseSummary -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | Information about how to render the content.
    KnowledgeBaseSummary -> Maybe RenderingConfiguration
renderingConfiguration :: Prelude.Maybe RenderingConfiguration,
    -- | The KMS key used for encryption.
    KnowledgeBaseSummary -> Maybe ServerSideEncryptionConfiguration
serverSideEncryptionConfiguration :: Prelude.Maybe ServerSideEncryptionConfiguration,
    -- | Configuration information about the external data source.
    KnowledgeBaseSummary -> Maybe SourceConfiguration
sourceConfiguration :: Prelude.Maybe SourceConfiguration,
    -- | The tags used to organize, track, or control access for this resource.
    KnowledgeBaseSummary -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The Amazon Resource Name (ARN) of the knowledge base.
    KnowledgeBaseSummary -> Text
knowledgeBaseArn :: Prelude.Text,
    -- | The identifier of the knowledge base.
    KnowledgeBaseSummary -> Text
knowledgeBaseId :: Prelude.Text,
    -- | The type of knowledge base.
    KnowledgeBaseSummary -> KnowledgeBaseType
knowledgeBaseType :: KnowledgeBaseType,
    -- | The name of the knowledge base.
    KnowledgeBaseSummary -> Text
name :: Prelude.Text,
    -- | The status of the knowledge base summary.
    KnowledgeBaseSummary -> KnowledgeBaseStatus
status :: KnowledgeBaseStatus
  }
  deriving (KnowledgeBaseSummary -> KnowledgeBaseSummary -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: KnowledgeBaseSummary -> KnowledgeBaseSummary -> Bool
$c/= :: KnowledgeBaseSummary -> KnowledgeBaseSummary -> Bool
== :: KnowledgeBaseSummary -> KnowledgeBaseSummary -> Bool
$c== :: KnowledgeBaseSummary -> KnowledgeBaseSummary -> Bool
Prelude.Eq, ReadPrec [KnowledgeBaseSummary]
ReadPrec KnowledgeBaseSummary
Int -> ReadS KnowledgeBaseSummary
ReadS [KnowledgeBaseSummary]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [KnowledgeBaseSummary]
$creadListPrec :: ReadPrec [KnowledgeBaseSummary]
readPrec :: ReadPrec KnowledgeBaseSummary
$creadPrec :: ReadPrec KnowledgeBaseSummary
readList :: ReadS [KnowledgeBaseSummary]
$creadList :: ReadS [KnowledgeBaseSummary]
readsPrec :: Int -> ReadS KnowledgeBaseSummary
$creadsPrec :: Int -> ReadS KnowledgeBaseSummary
Prelude.Read, Int -> KnowledgeBaseSummary -> ShowS
[KnowledgeBaseSummary] -> ShowS
KnowledgeBaseSummary -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [KnowledgeBaseSummary] -> ShowS
$cshowList :: [KnowledgeBaseSummary] -> ShowS
show :: KnowledgeBaseSummary -> String
$cshow :: KnowledgeBaseSummary -> String
showsPrec :: Int -> KnowledgeBaseSummary -> ShowS
$cshowsPrec :: Int -> KnowledgeBaseSummary -> ShowS
Prelude.Show, forall x. Rep KnowledgeBaseSummary x -> KnowledgeBaseSummary
forall x. KnowledgeBaseSummary -> Rep KnowledgeBaseSummary x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep KnowledgeBaseSummary x -> KnowledgeBaseSummary
$cfrom :: forall x. KnowledgeBaseSummary -> Rep KnowledgeBaseSummary x
Prelude.Generic)

-- |
-- Create a value of 'KnowledgeBaseSummary' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'description', 'knowledgeBaseSummary_description' - The description of the knowledge base.
--
-- 'renderingConfiguration', 'knowledgeBaseSummary_renderingConfiguration' - Information about how to render the content.
--
-- 'serverSideEncryptionConfiguration', 'knowledgeBaseSummary_serverSideEncryptionConfiguration' - The KMS key used for encryption.
--
-- 'sourceConfiguration', 'knowledgeBaseSummary_sourceConfiguration' - Configuration information about the external data source.
--
-- 'tags', 'knowledgeBaseSummary_tags' - The tags used to organize, track, or control access for this resource.
--
-- 'knowledgeBaseArn', 'knowledgeBaseSummary_knowledgeBaseArn' - The Amazon Resource Name (ARN) of the knowledge base.
--
-- 'knowledgeBaseId', 'knowledgeBaseSummary_knowledgeBaseId' - The identifier of the knowledge base.
--
-- 'knowledgeBaseType', 'knowledgeBaseSummary_knowledgeBaseType' - The type of knowledge base.
--
-- 'name', 'knowledgeBaseSummary_name' - The name of the knowledge base.
--
-- 'status', 'knowledgeBaseSummary_status' - The status of the knowledge base summary.
newKnowledgeBaseSummary ::
  -- | 'knowledgeBaseArn'
  Prelude.Text ->
  -- | 'knowledgeBaseId'
  Prelude.Text ->
  -- | 'knowledgeBaseType'
  KnowledgeBaseType ->
  -- | 'name'
  Prelude.Text ->
  -- | 'status'
  KnowledgeBaseStatus ->
  KnowledgeBaseSummary
newKnowledgeBaseSummary :: Text
-> Text
-> KnowledgeBaseType
-> Text
-> KnowledgeBaseStatus
-> KnowledgeBaseSummary
newKnowledgeBaseSummary
  Text
pKnowledgeBaseArn_
  Text
pKnowledgeBaseId_
  KnowledgeBaseType
pKnowledgeBaseType_
  Text
pName_
  KnowledgeBaseStatus
pStatus_ =
    KnowledgeBaseSummary'
      { $sel:description:KnowledgeBaseSummary' :: Maybe Text
description =
          forall a. Maybe a
Prelude.Nothing,
        $sel:renderingConfiguration:KnowledgeBaseSummary' :: Maybe RenderingConfiguration
renderingConfiguration = forall a. Maybe a
Prelude.Nothing,
        $sel:serverSideEncryptionConfiguration:KnowledgeBaseSummary' :: Maybe ServerSideEncryptionConfiguration
serverSideEncryptionConfiguration = forall a. Maybe a
Prelude.Nothing,
        $sel:sourceConfiguration:KnowledgeBaseSummary' :: Maybe SourceConfiguration
sourceConfiguration = forall a. Maybe a
Prelude.Nothing,
        $sel:tags:KnowledgeBaseSummary' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
        $sel:knowledgeBaseArn:KnowledgeBaseSummary' :: Text
knowledgeBaseArn = Text
pKnowledgeBaseArn_,
        $sel:knowledgeBaseId:KnowledgeBaseSummary' :: Text
knowledgeBaseId = Text
pKnowledgeBaseId_,
        $sel:knowledgeBaseType:KnowledgeBaseSummary' :: KnowledgeBaseType
knowledgeBaseType = KnowledgeBaseType
pKnowledgeBaseType_,
        $sel:name:KnowledgeBaseSummary' :: Text
name = Text
pName_,
        $sel:status:KnowledgeBaseSummary' :: KnowledgeBaseStatus
status = KnowledgeBaseStatus
pStatus_
      }

-- | The description of the knowledge base.
knowledgeBaseSummary_description :: Lens.Lens' KnowledgeBaseSummary (Prelude.Maybe Prelude.Text)
knowledgeBaseSummary_description :: Lens' KnowledgeBaseSummary (Maybe Text)
knowledgeBaseSummary_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KnowledgeBaseSummary' {Maybe Text
description :: Maybe Text
$sel:description:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Maybe Text
description} -> Maybe Text
description) (\s :: KnowledgeBaseSummary
s@KnowledgeBaseSummary' {} Maybe Text
a -> KnowledgeBaseSummary
s {$sel:description:KnowledgeBaseSummary' :: Maybe Text
description = Maybe Text
a} :: KnowledgeBaseSummary)

-- | Information about how to render the content.
knowledgeBaseSummary_renderingConfiguration :: Lens.Lens' KnowledgeBaseSummary (Prelude.Maybe RenderingConfiguration)
knowledgeBaseSummary_renderingConfiguration :: Lens' KnowledgeBaseSummary (Maybe RenderingConfiguration)
knowledgeBaseSummary_renderingConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KnowledgeBaseSummary' {Maybe RenderingConfiguration
renderingConfiguration :: Maybe RenderingConfiguration
$sel:renderingConfiguration:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Maybe RenderingConfiguration
renderingConfiguration} -> Maybe RenderingConfiguration
renderingConfiguration) (\s :: KnowledgeBaseSummary
s@KnowledgeBaseSummary' {} Maybe RenderingConfiguration
a -> KnowledgeBaseSummary
s {$sel:renderingConfiguration:KnowledgeBaseSummary' :: Maybe RenderingConfiguration
renderingConfiguration = Maybe RenderingConfiguration
a} :: KnowledgeBaseSummary)

-- | The KMS key used for encryption.
knowledgeBaseSummary_serverSideEncryptionConfiguration :: Lens.Lens' KnowledgeBaseSummary (Prelude.Maybe ServerSideEncryptionConfiguration)
knowledgeBaseSummary_serverSideEncryptionConfiguration :: Lens'
  KnowledgeBaseSummary (Maybe ServerSideEncryptionConfiguration)
knowledgeBaseSummary_serverSideEncryptionConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KnowledgeBaseSummary' {Maybe ServerSideEncryptionConfiguration
serverSideEncryptionConfiguration :: Maybe ServerSideEncryptionConfiguration
$sel:serverSideEncryptionConfiguration:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Maybe ServerSideEncryptionConfiguration
serverSideEncryptionConfiguration} -> Maybe ServerSideEncryptionConfiguration
serverSideEncryptionConfiguration) (\s :: KnowledgeBaseSummary
s@KnowledgeBaseSummary' {} Maybe ServerSideEncryptionConfiguration
a -> KnowledgeBaseSummary
s {$sel:serverSideEncryptionConfiguration:KnowledgeBaseSummary' :: Maybe ServerSideEncryptionConfiguration
serverSideEncryptionConfiguration = Maybe ServerSideEncryptionConfiguration
a} :: KnowledgeBaseSummary)

-- | Configuration information about the external data source.
knowledgeBaseSummary_sourceConfiguration :: Lens.Lens' KnowledgeBaseSummary (Prelude.Maybe SourceConfiguration)
knowledgeBaseSummary_sourceConfiguration :: Lens' KnowledgeBaseSummary (Maybe SourceConfiguration)
knowledgeBaseSummary_sourceConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KnowledgeBaseSummary' {Maybe SourceConfiguration
sourceConfiguration :: Maybe SourceConfiguration
$sel:sourceConfiguration:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Maybe SourceConfiguration
sourceConfiguration} -> Maybe SourceConfiguration
sourceConfiguration) (\s :: KnowledgeBaseSummary
s@KnowledgeBaseSummary' {} Maybe SourceConfiguration
a -> KnowledgeBaseSummary
s {$sel:sourceConfiguration:KnowledgeBaseSummary' :: Maybe SourceConfiguration
sourceConfiguration = Maybe SourceConfiguration
a} :: KnowledgeBaseSummary)

-- | The tags used to organize, track, or control access for this resource.
knowledgeBaseSummary_tags :: Lens.Lens' KnowledgeBaseSummary (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
knowledgeBaseSummary_tags :: Lens' KnowledgeBaseSummary (Maybe (HashMap Text Text))
knowledgeBaseSummary_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KnowledgeBaseSummary' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: KnowledgeBaseSummary
s@KnowledgeBaseSummary' {} Maybe (HashMap Text Text)
a -> KnowledgeBaseSummary
s {$sel:tags:KnowledgeBaseSummary' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: KnowledgeBaseSummary) 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 Amazon Resource Name (ARN) of the knowledge base.
knowledgeBaseSummary_knowledgeBaseArn :: Lens.Lens' KnowledgeBaseSummary Prelude.Text
knowledgeBaseSummary_knowledgeBaseArn :: Lens' KnowledgeBaseSummary Text
knowledgeBaseSummary_knowledgeBaseArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KnowledgeBaseSummary' {Text
knowledgeBaseArn :: Text
$sel:knowledgeBaseArn:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Text
knowledgeBaseArn} -> Text
knowledgeBaseArn) (\s :: KnowledgeBaseSummary
s@KnowledgeBaseSummary' {} Text
a -> KnowledgeBaseSummary
s {$sel:knowledgeBaseArn:KnowledgeBaseSummary' :: Text
knowledgeBaseArn = Text
a} :: KnowledgeBaseSummary)

-- | The identifier of the knowledge base.
knowledgeBaseSummary_knowledgeBaseId :: Lens.Lens' KnowledgeBaseSummary Prelude.Text
knowledgeBaseSummary_knowledgeBaseId :: Lens' KnowledgeBaseSummary Text
knowledgeBaseSummary_knowledgeBaseId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KnowledgeBaseSummary' {Text
knowledgeBaseId :: Text
$sel:knowledgeBaseId:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Text
knowledgeBaseId} -> Text
knowledgeBaseId) (\s :: KnowledgeBaseSummary
s@KnowledgeBaseSummary' {} Text
a -> KnowledgeBaseSummary
s {$sel:knowledgeBaseId:KnowledgeBaseSummary' :: Text
knowledgeBaseId = Text
a} :: KnowledgeBaseSummary)

-- | The type of knowledge base.
knowledgeBaseSummary_knowledgeBaseType :: Lens.Lens' KnowledgeBaseSummary KnowledgeBaseType
knowledgeBaseSummary_knowledgeBaseType :: Lens' KnowledgeBaseSummary KnowledgeBaseType
knowledgeBaseSummary_knowledgeBaseType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KnowledgeBaseSummary' {KnowledgeBaseType
knowledgeBaseType :: KnowledgeBaseType
$sel:knowledgeBaseType:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> KnowledgeBaseType
knowledgeBaseType} -> KnowledgeBaseType
knowledgeBaseType) (\s :: KnowledgeBaseSummary
s@KnowledgeBaseSummary' {} KnowledgeBaseType
a -> KnowledgeBaseSummary
s {$sel:knowledgeBaseType:KnowledgeBaseSummary' :: KnowledgeBaseType
knowledgeBaseType = KnowledgeBaseType
a} :: KnowledgeBaseSummary)

-- | The name of the knowledge base.
knowledgeBaseSummary_name :: Lens.Lens' KnowledgeBaseSummary Prelude.Text
knowledgeBaseSummary_name :: Lens' KnowledgeBaseSummary Text
knowledgeBaseSummary_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KnowledgeBaseSummary' {Text
name :: Text
$sel:name:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Text
name} -> Text
name) (\s :: KnowledgeBaseSummary
s@KnowledgeBaseSummary' {} Text
a -> KnowledgeBaseSummary
s {$sel:name:KnowledgeBaseSummary' :: Text
name = Text
a} :: KnowledgeBaseSummary)

-- | The status of the knowledge base summary.
knowledgeBaseSummary_status :: Lens.Lens' KnowledgeBaseSummary KnowledgeBaseStatus
knowledgeBaseSummary_status :: Lens' KnowledgeBaseSummary KnowledgeBaseStatus
knowledgeBaseSummary_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KnowledgeBaseSummary' {KnowledgeBaseStatus
status :: KnowledgeBaseStatus
$sel:status:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> KnowledgeBaseStatus
status} -> KnowledgeBaseStatus
status) (\s :: KnowledgeBaseSummary
s@KnowledgeBaseSummary' {} KnowledgeBaseStatus
a -> KnowledgeBaseSummary
s {$sel:status:KnowledgeBaseSummary' :: KnowledgeBaseStatus
status = KnowledgeBaseStatus
a} :: KnowledgeBaseSummary)

instance Data.FromJSON KnowledgeBaseSummary where
  parseJSON :: Value -> Parser KnowledgeBaseSummary
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"KnowledgeBaseSummary"
      ( \Object
x ->
          Maybe Text
-> Maybe RenderingConfiguration
-> Maybe ServerSideEncryptionConfiguration
-> Maybe SourceConfiguration
-> Maybe (HashMap Text Text)
-> Text
-> Text
-> KnowledgeBaseType
-> Text
-> KnowledgeBaseStatus
-> KnowledgeBaseSummary
KnowledgeBaseSummary'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"description")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"renderingConfiguration")
            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
"serverSideEncryptionConfiguration")
            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
"sourceConfiguration")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"tags" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"knowledgeBaseArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"knowledgeBaseId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"knowledgeBaseType")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"name")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"status")
      )

instance Prelude.Hashable KnowledgeBaseSummary where
  hashWithSalt :: Int -> KnowledgeBaseSummary -> Int
hashWithSalt Int
_salt KnowledgeBaseSummary' {Maybe Text
Maybe (HashMap Text Text)
Maybe RenderingConfiguration
Maybe ServerSideEncryptionConfiguration
Maybe SourceConfiguration
Text
KnowledgeBaseStatus
KnowledgeBaseType
status :: KnowledgeBaseStatus
name :: Text
knowledgeBaseType :: KnowledgeBaseType
knowledgeBaseId :: Text
knowledgeBaseArn :: Text
tags :: Maybe (HashMap Text Text)
sourceConfiguration :: Maybe SourceConfiguration
serverSideEncryptionConfiguration :: Maybe ServerSideEncryptionConfiguration
renderingConfiguration :: Maybe RenderingConfiguration
description :: Maybe Text
$sel:status:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> KnowledgeBaseStatus
$sel:name:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Text
$sel:knowledgeBaseType:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> KnowledgeBaseType
$sel:knowledgeBaseId:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Text
$sel:knowledgeBaseArn:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Text
$sel:tags:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Maybe (HashMap Text Text)
$sel:sourceConfiguration:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Maybe SourceConfiguration
$sel:serverSideEncryptionConfiguration:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Maybe ServerSideEncryptionConfiguration
$sel:renderingConfiguration:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Maybe RenderingConfiguration
$sel:description:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RenderingConfiguration
renderingConfiguration
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ServerSideEncryptionConfiguration
serverSideEncryptionConfiguration
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SourceConfiguration
sourceConfiguration
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
tags
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
knowledgeBaseArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
knowledgeBaseId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` KnowledgeBaseType
knowledgeBaseType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` KnowledgeBaseStatus
status

instance Prelude.NFData KnowledgeBaseSummary where
  rnf :: KnowledgeBaseSummary -> ()
rnf KnowledgeBaseSummary' {Maybe Text
Maybe (HashMap Text Text)
Maybe RenderingConfiguration
Maybe ServerSideEncryptionConfiguration
Maybe SourceConfiguration
Text
KnowledgeBaseStatus
KnowledgeBaseType
status :: KnowledgeBaseStatus
name :: Text
knowledgeBaseType :: KnowledgeBaseType
knowledgeBaseId :: Text
knowledgeBaseArn :: Text
tags :: Maybe (HashMap Text Text)
sourceConfiguration :: Maybe SourceConfiguration
serverSideEncryptionConfiguration :: Maybe ServerSideEncryptionConfiguration
renderingConfiguration :: Maybe RenderingConfiguration
description :: Maybe Text
$sel:status:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> KnowledgeBaseStatus
$sel:name:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Text
$sel:knowledgeBaseType:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> KnowledgeBaseType
$sel:knowledgeBaseId:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Text
$sel:knowledgeBaseArn:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Text
$sel:tags:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Maybe (HashMap Text Text)
$sel:sourceConfiguration:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Maybe SourceConfiguration
$sel:serverSideEncryptionConfiguration:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Maybe ServerSideEncryptionConfiguration
$sel:renderingConfiguration:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Maybe RenderingConfiguration
$sel:description:KnowledgeBaseSummary' :: KnowledgeBaseSummary -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RenderingConfiguration
renderingConfiguration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ServerSideEncryptionConfiguration
serverSideEncryptionConfiguration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SourceConfiguration
sourceConfiguration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
tags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
knowledgeBaseArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
knowledgeBaseId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf KnowledgeBaseType
knowledgeBaseType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
name
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf KnowledgeBaseStatus
status