module Stratosphere.Bedrock.AutomatedReasoningPolicy.PolicyDefinitionVariableProperty (
        PolicyDefinitionVariableProperty(..),
        mkPolicyDefinitionVariableProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data PolicyDefinitionVariableProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinitionvariable.html>
    PolicyDefinitionVariableProperty {PolicyDefinitionVariableProperty -> ()
haddock_workaround_ :: (),
                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinitionvariable.html#cfn-bedrock-automatedreasoningpolicy-policydefinitionvariable-description>
                                      PolicyDefinitionVariableProperty -> Value Text
description :: (Value Prelude.Text),
                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinitionvariable.html#cfn-bedrock-automatedreasoningpolicy-policydefinitionvariable-name>
                                      PolicyDefinitionVariableProperty -> Value Text
name :: (Value Prelude.Text),
                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-automatedreasoningpolicy-policydefinitionvariable.html#cfn-bedrock-automatedreasoningpolicy-policydefinitionvariable-type>
                                      PolicyDefinitionVariableProperty -> Value Text
type' :: (Value Prelude.Text)}
  deriving stock (PolicyDefinitionVariableProperty
-> PolicyDefinitionVariableProperty -> Bool
(PolicyDefinitionVariableProperty
 -> PolicyDefinitionVariableProperty -> Bool)
-> (PolicyDefinitionVariableProperty
    -> PolicyDefinitionVariableProperty -> Bool)
-> Eq PolicyDefinitionVariableProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PolicyDefinitionVariableProperty
-> PolicyDefinitionVariableProperty -> Bool
== :: PolicyDefinitionVariableProperty
-> PolicyDefinitionVariableProperty -> Bool
$c/= :: PolicyDefinitionVariableProperty
-> PolicyDefinitionVariableProperty -> Bool
/= :: PolicyDefinitionVariableProperty
-> PolicyDefinitionVariableProperty -> Bool
Prelude.Eq, Int -> PolicyDefinitionVariableProperty -> ShowS
[PolicyDefinitionVariableProperty] -> ShowS
PolicyDefinitionVariableProperty -> String
(Int -> PolicyDefinitionVariableProperty -> ShowS)
-> (PolicyDefinitionVariableProperty -> String)
-> ([PolicyDefinitionVariableProperty] -> ShowS)
-> Show PolicyDefinitionVariableProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PolicyDefinitionVariableProperty -> ShowS
showsPrec :: Int -> PolicyDefinitionVariableProperty -> ShowS
$cshow :: PolicyDefinitionVariableProperty -> String
show :: PolicyDefinitionVariableProperty -> String
$cshowList :: [PolicyDefinitionVariableProperty] -> ShowS
showList :: [PolicyDefinitionVariableProperty] -> ShowS
Prelude.Show)
mkPolicyDefinitionVariableProperty ::
  Value Prelude.Text
  -> Value Prelude.Text
     -> Value Prelude.Text -> PolicyDefinitionVariableProperty
mkPolicyDefinitionVariableProperty :: Value Text
-> Value Text -> Value Text -> PolicyDefinitionVariableProperty
mkPolicyDefinitionVariableProperty Value Text
description Value Text
name Value Text
type'
  = PolicyDefinitionVariableProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), description :: Value Text
description = Value Text
description, name :: Value Text
name = Value Text
name,
       type' :: Value Text
type' = Value Text
type'}
instance ToResourceProperties PolicyDefinitionVariableProperty where
  toResourceProperties :: PolicyDefinitionVariableProperty -> ResourceProperties
toResourceProperties PolicyDefinitionVariableProperty {()
Value Text
haddock_workaround_ :: PolicyDefinitionVariableProperty -> ()
description :: PolicyDefinitionVariableProperty -> Value Text
name :: PolicyDefinitionVariableProperty -> Value Text
type' :: PolicyDefinitionVariableProperty -> Value Text
haddock_workaround_ :: ()
description :: Value Text
name :: Value Text
type' :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Bedrock::AutomatedReasoningPolicy.PolicyDefinitionVariable",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"Description" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
description,
                       Key
"Name" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
name, Key
"Type" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
type']}
instance JSON.ToJSON PolicyDefinitionVariableProperty where
  toJSON :: PolicyDefinitionVariableProperty -> Value
toJSON PolicyDefinitionVariableProperty {()
Value Text
haddock_workaround_ :: PolicyDefinitionVariableProperty -> ()
description :: PolicyDefinitionVariableProperty -> Value Text
name :: PolicyDefinitionVariableProperty -> Value Text
type' :: PolicyDefinitionVariableProperty -> Value Text
haddock_workaround_ :: ()
description :: Value Text
name :: Value Text
type' :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"Description" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
description, Key
"Name" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
name,
         Key
"Type" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
type']
instance Property "Description" PolicyDefinitionVariableProperty where
  type PropertyType "Description" PolicyDefinitionVariableProperty = Value Prelude.Text
  set :: PropertyType "Description" PolicyDefinitionVariableProperty
-> PolicyDefinitionVariableProperty
-> PolicyDefinitionVariableProperty
set PropertyType "Description" PolicyDefinitionVariableProperty
newValue PolicyDefinitionVariableProperty {()
Value Text
haddock_workaround_ :: PolicyDefinitionVariableProperty -> ()
description :: PolicyDefinitionVariableProperty -> Value Text
name :: PolicyDefinitionVariableProperty -> Value Text
type' :: PolicyDefinitionVariableProperty -> Value Text
haddock_workaround_ :: ()
description :: Value Text
name :: Value Text
type' :: Value Text
..}
    = PolicyDefinitionVariableProperty {description :: Value Text
description = PropertyType "Description" PolicyDefinitionVariableProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
name :: Value Text
type' :: Value Text
haddock_workaround_ :: ()
name :: Value Text
type' :: Value Text
..}
instance Property "Name" PolicyDefinitionVariableProperty where
  type PropertyType "Name" PolicyDefinitionVariableProperty = Value Prelude.Text
  set :: PropertyType "Name" PolicyDefinitionVariableProperty
-> PolicyDefinitionVariableProperty
-> PolicyDefinitionVariableProperty
set PropertyType "Name" PolicyDefinitionVariableProperty
newValue PolicyDefinitionVariableProperty {()
Value Text
haddock_workaround_ :: PolicyDefinitionVariableProperty -> ()
description :: PolicyDefinitionVariableProperty -> Value Text
name :: PolicyDefinitionVariableProperty -> Value Text
type' :: PolicyDefinitionVariableProperty -> Value Text
haddock_workaround_ :: ()
description :: Value Text
name :: Value Text
type' :: Value Text
..}
    = PolicyDefinitionVariableProperty {name :: Value Text
name = PropertyType "Name" PolicyDefinitionVariableProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
description :: Value Text
type' :: Value Text
haddock_workaround_ :: ()
description :: Value Text
type' :: Value Text
..}
instance Property "Type" PolicyDefinitionVariableProperty where
  type PropertyType "Type" PolicyDefinitionVariableProperty = Value Prelude.Text
  set :: PropertyType "Type" PolicyDefinitionVariableProperty
-> PolicyDefinitionVariableProperty
-> PolicyDefinitionVariableProperty
set PropertyType "Type" PolicyDefinitionVariableProperty
newValue PolicyDefinitionVariableProperty {()
Value Text
haddock_workaround_ :: PolicyDefinitionVariableProperty -> ()
description :: PolicyDefinitionVariableProperty -> Value Text
name :: PolicyDefinitionVariableProperty -> Value Text
type' :: PolicyDefinitionVariableProperty -> Value Text
haddock_workaround_ :: ()
description :: Value Text
name :: Value Text
type' :: Value Text
..}
    = PolicyDefinitionVariableProperty {type' :: Value Text
type' = PropertyType "Type" PolicyDefinitionVariableProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
description :: Value Text
name :: Value Text
haddock_workaround_ :: ()
description :: Value Text
name :: Value Text
..}