{-# 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 #-}
module Amazonka.Kendra.Types.ConfluenceSpaceConfiguration where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Kendra.Types.ConfluenceSpaceToIndexFieldMapping
import qualified Amazonka.Prelude as Prelude
data ConfluenceSpaceConfiguration = ConfluenceSpaceConfiguration'
{
ConfluenceSpaceConfiguration -> Maybe Bool
crawlArchivedSpaces :: Prelude.Maybe Prelude.Bool,
ConfluenceSpaceConfiguration -> Maybe Bool
crawlPersonalSpaces :: Prelude.Maybe Prelude.Bool,
ConfluenceSpaceConfiguration -> Maybe (NonEmpty Text)
excludeSpaces :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),
ConfluenceSpaceConfiguration -> Maybe (NonEmpty Text)
includeSpaces :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),
ConfluenceSpaceConfiguration
-> Maybe (NonEmpty ConfluenceSpaceToIndexFieldMapping)
spaceFieldMappings :: Prelude.Maybe (Prelude.NonEmpty ConfluenceSpaceToIndexFieldMapping)
}
deriving (ConfluenceSpaceConfiguration
-> ConfluenceSpaceConfiguration -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ConfluenceSpaceConfiguration
-> ConfluenceSpaceConfiguration -> Bool
$c/= :: ConfluenceSpaceConfiguration
-> ConfluenceSpaceConfiguration -> Bool
== :: ConfluenceSpaceConfiguration
-> ConfluenceSpaceConfiguration -> Bool
$c== :: ConfluenceSpaceConfiguration
-> ConfluenceSpaceConfiguration -> Bool
Prelude.Eq, ReadPrec [ConfluenceSpaceConfiguration]
ReadPrec ConfluenceSpaceConfiguration
Int -> ReadS ConfluenceSpaceConfiguration
ReadS [ConfluenceSpaceConfiguration]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ConfluenceSpaceConfiguration]
$creadListPrec :: ReadPrec [ConfluenceSpaceConfiguration]
readPrec :: ReadPrec ConfluenceSpaceConfiguration
$creadPrec :: ReadPrec ConfluenceSpaceConfiguration
readList :: ReadS [ConfluenceSpaceConfiguration]
$creadList :: ReadS [ConfluenceSpaceConfiguration]
readsPrec :: Int -> ReadS ConfluenceSpaceConfiguration
$creadsPrec :: Int -> ReadS ConfluenceSpaceConfiguration
Prelude.Read, Int -> ConfluenceSpaceConfiguration -> ShowS
[ConfluenceSpaceConfiguration] -> ShowS
ConfluenceSpaceConfiguration -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ConfluenceSpaceConfiguration] -> ShowS
$cshowList :: [ConfluenceSpaceConfiguration] -> ShowS
show :: ConfluenceSpaceConfiguration -> String
$cshow :: ConfluenceSpaceConfiguration -> String
showsPrec :: Int -> ConfluenceSpaceConfiguration -> ShowS
$cshowsPrec :: Int -> ConfluenceSpaceConfiguration -> ShowS
Prelude.Show, forall x.
Rep ConfluenceSpaceConfiguration x -> ConfluenceSpaceConfiguration
forall x.
ConfluenceSpaceConfiguration -> Rep ConfluenceSpaceConfiguration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ConfluenceSpaceConfiguration x -> ConfluenceSpaceConfiguration
$cfrom :: forall x.
ConfluenceSpaceConfiguration -> Rep ConfluenceSpaceConfiguration x
Prelude.Generic)
newConfluenceSpaceConfiguration ::
ConfluenceSpaceConfiguration
newConfluenceSpaceConfiguration :: ConfluenceSpaceConfiguration
newConfluenceSpaceConfiguration =
ConfluenceSpaceConfiguration'
{ $sel:crawlArchivedSpaces:ConfluenceSpaceConfiguration' :: Maybe Bool
crawlArchivedSpaces =
forall a. Maybe a
Prelude.Nothing,
$sel:crawlPersonalSpaces:ConfluenceSpaceConfiguration' :: Maybe Bool
crawlPersonalSpaces = forall a. Maybe a
Prelude.Nothing,
$sel:excludeSpaces:ConfluenceSpaceConfiguration' :: Maybe (NonEmpty Text)
excludeSpaces = forall a. Maybe a
Prelude.Nothing,
$sel:includeSpaces:ConfluenceSpaceConfiguration' :: Maybe (NonEmpty Text)
includeSpaces = forall a. Maybe a
Prelude.Nothing,
$sel:spaceFieldMappings:ConfluenceSpaceConfiguration' :: Maybe (NonEmpty ConfluenceSpaceToIndexFieldMapping)
spaceFieldMappings = forall a. Maybe a
Prelude.Nothing
}
confluenceSpaceConfiguration_crawlArchivedSpaces :: Lens.Lens' ConfluenceSpaceConfiguration (Prelude.Maybe Prelude.Bool)
confluenceSpaceConfiguration_crawlArchivedSpaces :: Lens' ConfluenceSpaceConfiguration (Maybe Bool)
confluenceSpaceConfiguration_crawlArchivedSpaces = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConfluenceSpaceConfiguration' {Maybe Bool
crawlArchivedSpaces :: Maybe Bool
$sel:crawlArchivedSpaces:ConfluenceSpaceConfiguration' :: ConfluenceSpaceConfiguration -> Maybe Bool
crawlArchivedSpaces} -> Maybe Bool
crawlArchivedSpaces) (\s :: ConfluenceSpaceConfiguration
s@ConfluenceSpaceConfiguration' {} Maybe Bool
a -> ConfluenceSpaceConfiguration
s {$sel:crawlArchivedSpaces:ConfluenceSpaceConfiguration' :: Maybe Bool
crawlArchivedSpaces = Maybe Bool
a} :: ConfluenceSpaceConfiguration)
confluenceSpaceConfiguration_crawlPersonalSpaces :: Lens.Lens' ConfluenceSpaceConfiguration (Prelude.Maybe Prelude.Bool)
confluenceSpaceConfiguration_crawlPersonalSpaces :: Lens' ConfluenceSpaceConfiguration (Maybe Bool)
confluenceSpaceConfiguration_crawlPersonalSpaces = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConfluenceSpaceConfiguration' {Maybe Bool
crawlPersonalSpaces :: Maybe Bool
$sel:crawlPersonalSpaces:ConfluenceSpaceConfiguration' :: ConfluenceSpaceConfiguration -> Maybe Bool
crawlPersonalSpaces} -> Maybe Bool
crawlPersonalSpaces) (\s :: ConfluenceSpaceConfiguration
s@ConfluenceSpaceConfiguration' {} Maybe Bool
a -> ConfluenceSpaceConfiguration
s {$sel:crawlPersonalSpaces:ConfluenceSpaceConfiguration' :: Maybe Bool
crawlPersonalSpaces = Maybe Bool
a} :: ConfluenceSpaceConfiguration)
confluenceSpaceConfiguration_excludeSpaces :: Lens.Lens' ConfluenceSpaceConfiguration (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))
confluenceSpaceConfiguration_excludeSpaces :: Lens' ConfluenceSpaceConfiguration (Maybe (NonEmpty Text))
confluenceSpaceConfiguration_excludeSpaces = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConfluenceSpaceConfiguration' {Maybe (NonEmpty Text)
excludeSpaces :: Maybe (NonEmpty Text)
$sel:excludeSpaces:ConfluenceSpaceConfiguration' :: ConfluenceSpaceConfiguration -> Maybe (NonEmpty Text)
excludeSpaces} -> Maybe (NonEmpty Text)
excludeSpaces) (\s :: ConfluenceSpaceConfiguration
s@ConfluenceSpaceConfiguration' {} Maybe (NonEmpty Text)
a -> ConfluenceSpaceConfiguration
s {$sel:excludeSpaces:ConfluenceSpaceConfiguration' :: Maybe (NonEmpty Text)
excludeSpaces = Maybe (NonEmpty Text)
a} :: ConfluenceSpaceConfiguration) 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
confluenceSpaceConfiguration_includeSpaces :: Lens.Lens' ConfluenceSpaceConfiguration (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))
confluenceSpaceConfiguration_includeSpaces :: Lens' ConfluenceSpaceConfiguration (Maybe (NonEmpty Text))
confluenceSpaceConfiguration_includeSpaces = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConfluenceSpaceConfiguration' {Maybe (NonEmpty Text)
includeSpaces :: Maybe (NonEmpty Text)
$sel:includeSpaces:ConfluenceSpaceConfiguration' :: ConfluenceSpaceConfiguration -> Maybe (NonEmpty Text)
includeSpaces} -> Maybe (NonEmpty Text)
includeSpaces) (\s :: ConfluenceSpaceConfiguration
s@ConfluenceSpaceConfiguration' {} Maybe (NonEmpty Text)
a -> ConfluenceSpaceConfiguration
s {$sel:includeSpaces:ConfluenceSpaceConfiguration' :: Maybe (NonEmpty Text)
includeSpaces = Maybe (NonEmpty Text)
a} :: ConfluenceSpaceConfiguration) 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
confluenceSpaceConfiguration_spaceFieldMappings :: Lens.Lens' ConfluenceSpaceConfiguration (Prelude.Maybe (Prelude.NonEmpty ConfluenceSpaceToIndexFieldMapping))
confluenceSpaceConfiguration_spaceFieldMappings :: Lens'
ConfluenceSpaceConfiguration
(Maybe (NonEmpty ConfluenceSpaceToIndexFieldMapping))
confluenceSpaceConfiguration_spaceFieldMappings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConfluenceSpaceConfiguration' {Maybe (NonEmpty ConfluenceSpaceToIndexFieldMapping)
spaceFieldMappings :: Maybe (NonEmpty ConfluenceSpaceToIndexFieldMapping)
$sel:spaceFieldMappings:ConfluenceSpaceConfiguration' :: ConfluenceSpaceConfiguration
-> Maybe (NonEmpty ConfluenceSpaceToIndexFieldMapping)
spaceFieldMappings} -> Maybe (NonEmpty ConfluenceSpaceToIndexFieldMapping)
spaceFieldMappings) (\s :: ConfluenceSpaceConfiguration
s@ConfluenceSpaceConfiguration' {} Maybe (NonEmpty ConfluenceSpaceToIndexFieldMapping)
a -> ConfluenceSpaceConfiguration
s {$sel:spaceFieldMappings:ConfluenceSpaceConfiguration' :: Maybe (NonEmpty ConfluenceSpaceToIndexFieldMapping)
spaceFieldMappings = Maybe (NonEmpty ConfluenceSpaceToIndexFieldMapping)
a} :: ConfluenceSpaceConfiguration) 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
instance Data.FromJSON ConfluenceSpaceConfiguration where
parseJSON :: Value -> Parser ConfluenceSpaceConfiguration
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"ConfluenceSpaceConfiguration"
( \Object
x ->
Maybe Bool
-> Maybe Bool
-> Maybe (NonEmpty Text)
-> Maybe (NonEmpty Text)
-> Maybe (NonEmpty ConfluenceSpaceToIndexFieldMapping)
-> ConfluenceSpaceConfiguration
ConfluenceSpaceConfiguration'
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
"CrawlArchivedSpaces")
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
"CrawlPersonalSpaces")
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
"ExcludeSpaces")
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
"IncludeSpaces")
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
"SpaceFieldMappings")
)
instance
Prelude.Hashable
ConfluenceSpaceConfiguration
where
hashWithSalt :: Int -> ConfluenceSpaceConfiguration -> Int
hashWithSalt Int
_salt ConfluenceSpaceConfiguration' {Maybe Bool
Maybe (NonEmpty Text)
Maybe (NonEmpty ConfluenceSpaceToIndexFieldMapping)
spaceFieldMappings :: Maybe (NonEmpty ConfluenceSpaceToIndexFieldMapping)
includeSpaces :: Maybe (NonEmpty Text)
excludeSpaces :: Maybe (NonEmpty Text)
crawlPersonalSpaces :: Maybe Bool
crawlArchivedSpaces :: Maybe Bool
$sel:spaceFieldMappings:ConfluenceSpaceConfiguration' :: ConfluenceSpaceConfiguration
-> Maybe (NonEmpty ConfluenceSpaceToIndexFieldMapping)
$sel:includeSpaces:ConfluenceSpaceConfiguration' :: ConfluenceSpaceConfiguration -> Maybe (NonEmpty Text)
$sel:excludeSpaces:ConfluenceSpaceConfiguration' :: ConfluenceSpaceConfiguration -> Maybe (NonEmpty Text)
$sel:crawlPersonalSpaces:ConfluenceSpaceConfiguration' :: ConfluenceSpaceConfiguration -> Maybe Bool
$sel:crawlArchivedSpaces:ConfluenceSpaceConfiguration' :: ConfluenceSpaceConfiguration -> Maybe Bool
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
crawlArchivedSpaces
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
crawlPersonalSpaces
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty Text)
excludeSpaces
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty Text)
includeSpaces
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty ConfluenceSpaceToIndexFieldMapping)
spaceFieldMappings
instance Prelude.NFData ConfluenceSpaceConfiguration where
rnf :: ConfluenceSpaceConfiguration -> ()
rnf ConfluenceSpaceConfiguration' {Maybe Bool
Maybe (NonEmpty Text)
Maybe (NonEmpty ConfluenceSpaceToIndexFieldMapping)
spaceFieldMappings :: Maybe (NonEmpty ConfluenceSpaceToIndexFieldMapping)
includeSpaces :: Maybe (NonEmpty Text)
excludeSpaces :: Maybe (NonEmpty Text)
crawlPersonalSpaces :: Maybe Bool
crawlArchivedSpaces :: Maybe Bool
$sel:spaceFieldMappings:ConfluenceSpaceConfiguration' :: ConfluenceSpaceConfiguration
-> Maybe (NonEmpty ConfluenceSpaceToIndexFieldMapping)
$sel:includeSpaces:ConfluenceSpaceConfiguration' :: ConfluenceSpaceConfiguration -> Maybe (NonEmpty Text)
$sel:excludeSpaces:ConfluenceSpaceConfiguration' :: ConfluenceSpaceConfiguration -> Maybe (NonEmpty Text)
$sel:crawlPersonalSpaces:ConfluenceSpaceConfiguration' :: ConfluenceSpaceConfiguration -> Maybe Bool
$sel:crawlArchivedSpaces:ConfluenceSpaceConfiguration' :: ConfluenceSpaceConfiguration -> Maybe Bool
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
crawlArchivedSpaces
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
crawlPersonalSpaces
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty Text)
excludeSpaces
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty Text)
includeSpaces
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty ConfluenceSpaceToIndexFieldMapping)
spaceFieldMappings
instance Data.ToJSON ConfluenceSpaceConfiguration where
toJSON :: ConfluenceSpaceConfiguration -> Value
toJSON ConfluenceSpaceConfiguration' {Maybe Bool
Maybe (NonEmpty Text)
Maybe (NonEmpty ConfluenceSpaceToIndexFieldMapping)
spaceFieldMappings :: Maybe (NonEmpty ConfluenceSpaceToIndexFieldMapping)
includeSpaces :: Maybe (NonEmpty Text)
excludeSpaces :: Maybe (NonEmpty Text)
crawlPersonalSpaces :: Maybe Bool
crawlArchivedSpaces :: Maybe Bool
$sel:spaceFieldMappings:ConfluenceSpaceConfiguration' :: ConfluenceSpaceConfiguration
-> Maybe (NonEmpty ConfluenceSpaceToIndexFieldMapping)
$sel:includeSpaces:ConfluenceSpaceConfiguration' :: ConfluenceSpaceConfiguration -> Maybe (NonEmpty Text)
$sel:excludeSpaces:ConfluenceSpaceConfiguration' :: ConfluenceSpaceConfiguration -> Maybe (NonEmpty Text)
$sel:crawlPersonalSpaces:ConfluenceSpaceConfiguration' :: ConfluenceSpaceConfiguration -> Maybe Bool
$sel:crawlArchivedSpaces:ConfluenceSpaceConfiguration' :: ConfluenceSpaceConfiguration -> Maybe Bool
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"CrawlArchivedSpaces" 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 Bool
crawlArchivedSpaces,
(Key
"CrawlPersonalSpaces" 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 Bool
crawlPersonalSpaces,
(Key
"ExcludeSpaces" 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 (NonEmpty Text)
excludeSpaces,
(Key
"IncludeSpaces" 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 (NonEmpty Text)
includeSpaces,
(Key
"SpaceFieldMappings" 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 (NonEmpty ConfluenceSpaceToIndexFieldMapping)
spaceFieldMappings
]
)