module Stratosphere.Wisdom.KnowledgeBase.ManagedSourceConfigurationProperty (
        module Exports, ManagedSourceConfigurationProperty(..),
        mkManagedSourceConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Wisdom.KnowledgeBase.WebCrawlerConfigurationProperty as Exports
import Stratosphere.ResourceProperties
data ManagedSourceConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wisdom-knowledgebase-managedsourceconfiguration.html>
    ManagedSourceConfigurationProperty {ManagedSourceConfigurationProperty -> ()
haddock_workaround_ :: (),
                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wisdom-knowledgebase-managedsourceconfiguration.html#cfn-wisdom-knowledgebase-managedsourceconfiguration-webcrawlerconfiguration>
                                        ManagedSourceConfigurationProperty
-> WebCrawlerConfigurationProperty
webCrawlerConfiguration :: WebCrawlerConfigurationProperty}
  deriving stock (ManagedSourceConfigurationProperty
-> ManagedSourceConfigurationProperty -> Bool
(ManagedSourceConfigurationProperty
 -> ManagedSourceConfigurationProperty -> Bool)
-> (ManagedSourceConfigurationProperty
    -> ManagedSourceConfigurationProperty -> Bool)
-> Eq ManagedSourceConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ManagedSourceConfigurationProperty
-> ManagedSourceConfigurationProperty -> Bool
== :: ManagedSourceConfigurationProperty
-> ManagedSourceConfigurationProperty -> Bool
$c/= :: ManagedSourceConfigurationProperty
-> ManagedSourceConfigurationProperty -> Bool
/= :: ManagedSourceConfigurationProperty
-> ManagedSourceConfigurationProperty -> Bool
Prelude.Eq, Int -> ManagedSourceConfigurationProperty -> ShowS
[ManagedSourceConfigurationProperty] -> ShowS
ManagedSourceConfigurationProperty -> String
(Int -> ManagedSourceConfigurationProperty -> ShowS)
-> (ManagedSourceConfigurationProperty -> String)
-> ([ManagedSourceConfigurationProperty] -> ShowS)
-> Show ManagedSourceConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ManagedSourceConfigurationProperty -> ShowS
showsPrec :: Int -> ManagedSourceConfigurationProperty -> ShowS
$cshow :: ManagedSourceConfigurationProperty -> String
show :: ManagedSourceConfigurationProperty -> String
$cshowList :: [ManagedSourceConfigurationProperty] -> ShowS
showList :: [ManagedSourceConfigurationProperty] -> ShowS
Prelude.Show)
mkManagedSourceConfigurationProperty ::
  WebCrawlerConfigurationProperty
  -> ManagedSourceConfigurationProperty
mkManagedSourceConfigurationProperty :: WebCrawlerConfigurationProperty
-> ManagedSourceConfigurationProperty
mkManagedSourceConfigurationProperty WebCrawlerConfigurationProperty
webCrawlerConfiguration
  = ManagedSourceConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       webCrawlerConfiguration :: WebCrawlerConfigurationProperty
webCrawlerConfiguration = WebCrawlerConfigurationProperty
webCrawlerConfiguration}
instance ToResourceProperties ManagedSourceConfigurationProperty where
  toResourceProperties :: ManagedSourceConfigurationProperty -> ResourceProperties
toResourceProperties ManagedSourceConfigurationProperty {()
WebCrawlerConfigurationProperty
haddock_workaround_ :: ManagedSourceConfigurationProperty -> ()
webCrawlerConfiguration :: ManagedSourceConfigurationProperty
-> WebCrawlerConfigurationProperty
haddock_workaround_ :: ()
webCrawlerConfiguration :: WebCrawlerConfigurationProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Wisdom::KnowledgeBase.ManagedSourceConfiguration",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"WebCrawlerConfiguration"
                         Key -> WebCrawlerConfigurationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= WebCrawlerConfigurationProperty
webCrawlerConfiguration]}
instance JSON.ToJSON ManagedSourceConfigurationProperty where
  toJSON :: ManagedSourceConfigurationProperty -> Value
toJSON ManagedSourceConfigurationProperty {()
WebCrawlerConfigurationProperty
haddock_workaround_ :: ManagedSourceConfigurationProperty -> ()
webCrawlerConfiguration :: ManagedSourceConfigurationProperty
-> WebCrawlerConfigurationProperty
haddock_workaround_ :: ()
webCrawlerConfiguration :: WebCrawlerConfigurationProperty
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"WebCrawlerConfiguration" Key -> WebCrawlerConfigurationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= WebCrawlerConfigurationProperty
webCrawlerConfiguration]
instance Property "WebCrawlerConfiguration" ManagedSourceConfigurationProperty where
  type PropertyType "WebCrawlerConfiguration" ManagedSourceConfigurationProperty = WebCrawlerConfigurationProperty
  set :: PropertyType
  "WebCrawlerConfiguration" ManagedSourceConfigurationProperty
-> ManagedSourceConfigurationProperty
-> ManagedSourceConfigurationProperty
set PropertyType
  "WebCrawlerConfiguration" ManagedSourceConfigurationProperty
newValue ManagedSourceConfigurationProperty {()
WebCrawlerConfigurationProperty
haddock_workaround_ :: ManagedSourceConfigurationProperty -> ()
webCrawlerConfiguration :: ManagedSourceConfigurationProperty
-> WebCrawlerConfigurationProperty
haddock_workaround_ :: ()
webCrawlerConfiguration :: WebCrawlerConfigurationProperty
..}
    = ManagedSourceConfigurationProperty
        {webCrawlerConfiguration :: WebCrawlerConfigurationProperty
webCrawlerConfiguration = PropertyType
  "WebCrawlerConfiguration" ManagedSourceConfigurationProperty
WebCrawlerConfigurationProperty
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}