module Stratosphere.Connect.EvaluationForm.EvaluationFormSingleSelectQuestionAutomationOptionProperty (
        module Exports,
        EvaluationFormSingleSelectQuestionAutomationOptionProperty(..),
        mkEvaluationFormSingleSelectQuestionAutomationOptionProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Connect.EvaluationForm.SingleSelectQuestionRuleCategoryAutomationProperty as Exports
import Stratosphere.ResourceProperties
data EvaluationFormSingleSelectQuestionAutomationOptionProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-evaluationform-evaluationformsingleselectquestionautomationoption.html>
    EvaluationFormSingleSelectQuestionAutomationOptionProperty {EvaluationFormSingleSelectQuestionAutomationOptionProperty -> ()
haddock_workaround_ :: (),
                                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-evaluationform-evaluationformsingleselectquestionautomationoption.html#cfn-connect-evaluationform-evaluationformsingleselectquestionautomationoption-rulecategory>
                                                                EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> SingleSelectQuestionRuleCategoryAutomationProperty
ruleCategory :: SingleSelectQuestionRuleCategoryAutomationProperty}
  deriving stock (EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> Bool
(EvaluationFormSingleSelectQuestionAutomationOptionProperty
 -> EvaluationFormSingleSelectQuestionAutomationOptionProperty
 -> Bool)
-> (EvaluationFormSingleSelectQuestionAutomationOptionProperty
    -> EvaluationFormSingleSelectQuestionAutomationOptionProperty
    -> Bool)
-> Eq EvaluationFormSingleSelectQuestionAutomationOptionProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> Bool
== :: EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> Bool
$c/= :: EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> Bool
/= :: EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> Bool
Prelude.Eq, Int
-> EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> ShowS
[EvaluationFormSingleSelectQuestionAutomationOptionProperty]
-> ShowS
EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> String
(Int
 -> EvaluationFormSingleSelectQuestionAutomationOptionProperty
 -> ShowS)
-> (EvaluationFormSingleSelectQuestionAutomationOptionProperty
    -> String)
-> ([EvaluationFormSingleSelectQuestionAutomationOptionProperty]
    -> ShowS)
-> Show EvaluationFormSingleSelectQuestionAutomationOptionProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int
-> EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> ShowS
showsPrec :: Int
-> EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> ShowS
$cshow :: EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> String
show :: EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> String
$cshowList :: [EvaluationFormSingleSelectQuestionAutomationOptionProperty]
-> ShowS
showList :: [EvaluationFormSingleSelectQuestionAutomationOptionProperty]
-> ShowS
Prelude.Show)
mkEvaluationFormSingleSelectQuestionAutomationOptionProperty ::
  SingleSelectQuestionRuleCategoryAutomationProperty
  -> EvaluationFormSingleSelectQuestionAutomationOptionProperty
mkEvaluationFormSingleSelectQuestionAutomationOptionProperty :: SingleSelectQuestionRuleCategoryAutomationProperty
-> EvaluationFormSingleSelectQuestionAutomationOptionProperty
mkEvaluationFormSingleSelectQuestionAutomationOptionProperty
  SingleSelectQuestionRuleCategoryAutomationProperty
ruleCategory
  = EvaluationFormSingleSelectQuestionAutomationOptionProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), ruleCategory :: SingleSelectQuestionRuleCategoryAutomationProperty
ruleCategory = SingleSelectQuestionRuleCategoryAutomationProperty
ruleCategory}
instance ToResourceProperties EvaluationFormSingleSelectQuestionAutomationOptionProperty where
  toResourceProperties :: EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> ResourceProperties
toResourceProperties
    EvaluationFormSingleSelectQuestionAutomationOptionProperty {()
SingleSelectQuestionRuleCategoryAutomationProperty
haddock_workaround_ :: EvaluationFormSingleSelectQuestionAutomationOptionProperty -> ()
ruleCategory :: EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> SingleSelectQuestionRuleCategoryAutomationProperty
haddock_workaround_ :: ()
ruleCategory :: SingleSelectQuestionRuleCategoryAutomationProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Connect::EvaluationForm.EvaluationFormSingleSelectQuestionAutomationOption",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"RuleCategory" Key
-> SingleSelectQuestionRuleCategoryAutomationProperty
-> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= SingleSelectQuestionRuleCategoryAutomationProperty
ruleCategory]}
instance JSON.ToJSON EvaluationFormSingleSelectQuestionAutomationOptionProperty where
  toJSON :: EvaluationFormSingleSelectQuestionAutomationOptionProperty -> Value
toJSON
    EvaluationFormSingleSelectQuestionAutomationOptionProperty {()
SingleSelectQuestionRuleCategoryAutomationProperty
haddock_workaround_ :: EvaluationFormSingleSelectQuestionAutomationOptionProperty -> ()
ruleCategory :: EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> SingleSelectQuestionRuleCategoryAutomationProperty
haddock_workaround_ :: ()
ruleCategory :: SingleSelectQuestionRuleCategoryAutomationProperty
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"RuleCategory" Key
-> SingleSelectQuestionRuleCategoryAutomationProperty
-> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= SingleSelectQuestionRuleCategoryAutomationProperty
ruleCategory]
instance Property "RuleCategory" EvaluationFormSingleSelectQuestionAutomationOptionProperty where
  type PropertyType "RuleCategory" EvaluationFormSingleSelectQuestionAutomationOptionProperty = SingleSelectQuestionRuleCategoryAutomationProperty
  set :: PropertyType
  "RuleCategory"
  EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> EvaluationFormSingleSelectQuestionAutomationOptionProperty
set
    PropertyType
  "RuleCategory"
  EvaluationFormSingleSelectQuestionAutomationOptionProperty
newValue
    EvaluationFormSingleSelectQuestionAutomationOptionProperty {()
SingleSelectQuestionRuleCategoryAutomationProperty
haddock_workaround_ :: EvaluationFormSingleSelectQuestionAutomationOptionProperty -> ()
ruleCategory :: EvaluationFormSingleSelectQuestionAutomationOptionProperty
-> SingleSelectQuestionRuleCategoryAutomationProperty
haddock_workaround_ :: ()
ruleCategory :: SingleSelectQuestionRuleCategoryAutomationProperty
..}
    = EvaluationFormSingleSelectQuestionAutomationOptionProperty
        {ruleCategory :: SingleSelectQuestionRuleCategoryAutomationProperty
ruleCategory = PropertyType
  "RuleCategory"
  EvaluationFormSingleSelectQuestionAutomationOptionProperty
SingleSelectQuestionRuleCategoryAutomationProperty
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}