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