module Stratosphere.IoTFleetWise.Campaign.ConditionBasedSignalFetchConfigProperty (
        ConditionBasedSignalFetchConfigProperty(..),
        mkConditionBasedSignalFetchConfigProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ConditionBasedSignalFetchConfigProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotfleetwise-campaign-conditionbasedsignalfetchconfig.html>
    ConditionBasedSignalFetchConfigProperty {ConditionBasedSignalFetchConfigProperty -> ()
haddock_workaround_ :: (),
                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotfleetwise-campaign-conditionbasedsignalfetchconfig.html#cfn-iotfleetwise-campaign-conditionbasedsignalfetchconfig-conditionexpression>
                                             ConditionBasedSignalFetchConfigProperty -> Value Text
conditionExpression :: (Value Prelude.Text),
                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotfleetwise-campaign-conditionbasedsignalfetchconfig.html#cfn-iotfleetwise-campaign-conditionbasedsignalfetchconfig-triggermode>
                                             ConditionBasedSignalFetchConfigProperty -> Value Text
triggerMode :: (Value Prelude.Text)}
  deriving stock (ConditionBasedSignalFetchConfigProperty
-> ConditionBasedSignalFetchConfigProperty -> Bool
(ConditionBasedSignalFetchConfigProperty
 -> ConditionBasedSignalFetchConfigProperty -> Bool)
-> (ConditionBasedSignalFetchConfigProperty
    -> ConditionBasedSignalFetchConfigProperty -> Bool)
-> Eq ConditionBasedSignalFetchConfigProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ConditionBasedSignalFetchConfigProperty
-> ConditionBasedSignalFetchConfigProperty -> Bool
== :: ConditionBasedSignalFetchConfigProperty
-> ConditionBasedSignalFetchConfigProperty -> Bool
$c/= :: ConditionBasedSignalFetchConfigProperty
-> ConditionBasedSignalFetchConfigProperty -> Bool
/= :: ConditionBasedSignalFetchConfigProperty
-> ConditionBasedSignalFetchConfigProperty -> Bool
Prelude.Eq, Int -> ConditionBasedSignalFetchConfigProperty -> ShowS
[ConditionBasedSignalFetchConfigProperty] -> ShowS
ConditionBasedSignalFetchConfigProperty -> String
(Int -> ConditionBasedSignalFetchConfigProperty -> ShowS)
-> (ConditionBasedSignalFetchConfigProperty -> String)
-> ([ConditionBasedSignalFetchConfigProperty] -> ShowS)
-> Show ConditionBasedSignalFetchConfigProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ConditionBasedSignalFetchConfigProperty -> ShowS
showsPrec :: Int -> ConditionBasedSignalFetchConfigProperty -> ShowS
$cshow :: ConditionBasedSignalFetchConfigProperty -> String
show :: ConditionBasedSignalFetchConfigProperty -> String
$cshowList :: [ConditionBasedSignalFetchConfigProperty] -> ShowS
showList :: [ConditionBasedSignalFetchConfigProperty] -> ShowS
Prelude.Show)
mkConditionBasedSignalFetchConfigProperty ::
  Value Prelude.Text
  -> Value Prelude.Text -> ConditionBasedSignalFetchConfigProperty
mkConditionBasedSignalFetchConfigProperty :: Value Text -> Value Text -> ConditionBasedSignalFetchConfigProperty
mkConditionBasedSignalFetchConfigProperty
  Value Text
conditionExpression
  Value Text
triggerMode
  = ConditionBasedSignalFetchConfigProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       conditionExpression :: Value Text
conditionExpression = Value Text
conditionExpression,
       triggerMode :: Value Text
triggerMode = Value Text
triggerMode}
instance ToResourceProperties ConditionBasedSignalFetchConfigProperty where
  toResourceProperties :: ConditionBasedSignalFetchConfigProperty -> ResourceProperties
toResourceProperties ConditionBasedSignalFetchConfigProperty {()
Value Text
haddock_workaround_ :: ConditionBasedSignalFetchConfigProperty -> ()
conditionExpression :: ConditionBasedSignalFetchConfigProperty -> Value Text
triggerMode :: ConditionBasedSignalFetchConfigProperty -> Value Text
haddock_workaround_ :: ()
conditionExpression :: Value Text
triggerMode :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::IoTFleetWise::Campaign.ConditionBasedSignalFetchConfig",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ConditionExpression" 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
conditionExpression,
                       Key
"TriggerMode" 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
triggerMode]}
instance JSON.ToJSON ConditionBasedSignalFetchConfigProperty where
  toJSON :: ConditionBasedSignalFetchConfigProperty -> Value
toJSON ConditionBasedSignalFetchConfigProperty {()
Value Text
haddock_workaround_ :: ConditionBasedSignalFetchConfigProperty -> ()
conditionExpression :: ConditionBasedSignalFetchConfigProperty -> Value Text
triggerMode :: ConditionBasedSignalFetchConfigProperty -> Value Text
haddock_workaround_ :: ()
conditionExpression :: Value Text
triggerMode :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"ConditionExpression" 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
conditionExpression,
         Key
"TriggerMode" 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
triggerMode]
instance Property "ConditionExpression" ConditionBasedSignalFetchConfigProperty where
  type PropertyType "ConditionExpression" ConditionBasedSignalFetchConfigProperty = Value Prelude.Text
  set :: PropertyType
  "ConditionExpression" ConditionBasedSignalFetchConfigProperty
-> ConditionBasedSignalFetchConfigProperty
-> ConditionBasedSignalFetchConfigProperty
set PropertyType
  "ConditionExpression" ConditionBasedSignalFetchConfigProperty
newValue ConditionBasedSignalFetchConfigProperty {()
Value Text
haddock_workaround_ :: ConditionBasedSignalFetchConfigProperty -> ()
conditionExpression :: ConditionBasedSignalFetchConfigProperty -> Value Text
triggerMode :: ConditionBasedSignalFetchConfigProperty -> Value Text
haddock_workaround_ :: ()
conditionExpression :: Value Text
triggerMode :: Value Text
..}
    = ConditionBasedSignalFetchConfigProperty
        {conditionExpression :: Value Text
conditionExpression = PropertyType
  "ConditionExpression" ConditionBasedSignalFetchConfigProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
triggerMode :: Value Text
haddock_workaround_ :: ()
triggerMode :: Value Text
..}
instance Property "TriggerMode" ConditionBasedSignalFetchConfigProperty where
  type PropertyType "TriggerMode" ConditionBasedSignalFetchConfigProperty = Value Prelude.Text
  set :: PropertyType "TriggerMode" ConditionBasedSignalFetchConfigProperty
-> ConditionBasedSignalFetchConfigProperty
-> ConditionBasedSignalFetchConfigProperty
set PropertyType "TriggerMode" ConditionBasedSignalFetchConfigProperty
newValue ConditionBasedSignalFetchConfigProperty {()
Value Text
haddock_workaround_ :: ConditionBasedSignalFetchConfigProperty -> ()
conditionExpression :: ConditionBasedSignalFetchConfigProperty -> Value Text
triggerMode :: ConditionBasedSignalFetchConfigProperty -> Value Text
haddock_workaround_ :: ()
conditionExpression :: Value Text
triggerMode :: Value Text
..}
    = ConditionBasedSignalFetchConfigProperty
        {triggerMode :: Value Text
triggerMode = PropertyType "TriggerMode" ConditionBasedSignalFetchConfigProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
conditionExpression :: Value Text
haddock_workaround_ :: ()
conditionExpression :: Value Text
..}