module Stratosphere.IoTAnalytics.Dataset.TriggerProperty (
module Exports, TriggerProperty(..), mkTriggerProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.IoTAnalytics.Dataset.ScheduleProperty as Exports
import {-# SOURCE #-} Stratosphere.IoTAnalytics.Dataset.TriggeringDatasetProperty as Exports
import Stratosphere.ResourceProperties
data TriggerProperty
=
TriggerProperty {TriggerProperty -> ()
haddock_workaround_ :: (),
TriggerProperty -> Maybe ScheduleProperty
schedule :: (Prelude.Maybe ScheduleProperty),
TriggerProperty -> Maybe TriggeringDatasetProperty
triggeringDataset :: (Prelude.Maybe TriggeringDatasetProperty)}
deriving stock (TriggerProperty -> TriggerProperty -> Bool
(TriggerProperty -> TriggerProperty -> Bool)
-> (TriggerProperty -> TriggerProperty -> Bool)
-> Eq TriggerProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TriggerProperty -> TriggerProperty -> Bool
== :: TriggerProperty -> TriggerProperty -> Bool
$c/= :: TriggerProperty -> TriggerProperty -> Bool
/= :: TriggerProperty -> TriggerProperty -> Bool
Prelude.Eq, Int -> TriggerProperty -> ShowS
[TriggerProperty] -> ShowS
TriggerProperty -> String
(Int -> TriggerProperty -> ShowS)
-> (TriggerProperty -> String)
-> ([TriggerProperty] -> ShowS)
-> Show TriggerProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TriggerProperty -> ShowS
showsPrec :: Int -> TriggerProperty -> ShowS
$cshow :: TriggerProperty -> String
show :: TriggerProperty -> String
$cshowList :: [TriggerProperty] -> ShowS
showList :: [TriggerProperty] -> ShowS
Prelude.Show)
mkTriggerProperty :: TriggerProperty
mkTriggerProperty :: TriggerProperty
mkTriggerProperty
= TriggerProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), schedule :: Maybe ScheduleProperty
schedule = Maybe ScheduleProperty
forall a. Maybe a
Prelude.Nothing,
triggeringDataset :: Maybe TriggeringDatasetProperty
triggeringDataset = Maybe TriggeringDatasetProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties TriggerProperty where
toResourceProperties :: TriggerProperty -> ResourceProperties
toResourceProperties TriggerProperty {Maybe ScheduleProperty
Maybe TriggeringDatasetProperty
()
haddock_workaround_ :: TriggerProperty -> ()
schedule :: TriggerProperty -> Maybe ScheduleProperty
triggeringDataset :: TriggerProperty -> Maybe TriggeringDatasetProperty
haddock_workaround_ :: ()
schedule :: Maybe ScheduleProperty
triggeringDataset :: Maybe TriggeringDatasetProperty
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::IoTAnalytics::Dataset.Trigger",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[Key -> ScheduleProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Schedule" (ScheduleProperty -> (Key, Value))
-> Maybe ScheduleProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ScheduleProperty
schedule,
Key -> TriggeringDatasetProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"TriggeringDataset" (TriggeringDatasetProperty -> (Key, Value))
-> Maybe TriggeringDatasetProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TriggeringDatasetProperty
triggeringDataset])}
instance JSON.ToJSON TriggerProperty where
toJSON :: TriggerProperty -> Value
toJSON TriggerProperty {Maybe ScheduleProperty
Maybe TriggeringDatasetProperty
()
haddock_workaround_ :: TriggerProperty -> ()
schedule :: TriggerProperty -> Maybe ScheduleProperty
triggeringDataset :: TriggerProperty -> Maybe TriggeringDatasetProperty
haddock_workaround_ :: ()
schedule :: Maybe ScheduleProperty
triggeringDataset :: Maybe TriggeringDatasetProperty
..}
= [(Key, Value)] -> Value
JSON.object
([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[Key -> ScheduleProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Schedule" (ScheduleProperty -> (Key, Value))
-> Maybe ScheduleProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ScheduleProperty
schedule,
Key -> TriggeringDatasetProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"TriggeringDataset" (TriggeringDatasetProperty -> (Key, Value))
-> Maybe TriggeringDatasetProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TriggeringDatasetProperty
triggeringDataset]))
instance Property "Schedule" TriggerProperty where
type PropertyType "Schedule" TriggerProperty = ScheduleProperty
set :: PropertyType "Schedule" TriggerProperty
-> TriggerProperty -> TriggerProperty
set PropertyType "Schedule" TriggerProperty
newValue TriggerProperty {Maybe ScheduleProperty
Maybe TriggeringDatasetProperty
()
haddock_workaround_ :: TriggerProperty -> ()
schedule :: TriggerProperty -> Maybe ScheduleProperty
triggeringDataset :: TriggerProperty -> Maybe TriggeringDatasetProperty
haddock_workaround_ :: ()
schedule :: Maybe ScheduleProperty
triggeringDataset :: Maybe TriggeringDatasetProperty
..}
= TriggerProperty {schedule :: Maybe ScheduleProperty
schedule = ScheduleProperty -> Maybe ScheduleProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Schedule" TriggerProperty
ScheduleProperty
newValue, Maybe TriggeringDatasetProperty
()
haddock_workaround_ :: ()
triggeringDataset :: Maybe TriggeringDatasetProperty
haddock_workaround_ :: ()
triggeringDataset :: Maybe TriggeringDatasetProperty
..}
instance Property "TriggeringDataset" TriggerProperty where
type PropertyType "TriggeringDataset" TriggerProperty = TriggeringDatasetProperty
set :: PropertyType "TriggeringDataset" TriggerProperty
-> TriggerProperty -> TriggerProperty
set PropertyType "TriggeringDataset" TriggerProperty
newValue TriggerProperty {Maybe ScheduleProperty
Maybe TriggeringDatasetProperty
()
haddock_workaround_ :: TriggerProperty -> ()
schedule :: TriggerProperty -> Maybe ScheduleProperty
triggeringDataset :: TriggerProperty -> Maybe TriggeringDatasetProperty
haddock_workaround_ :: ()
schedule :: Maybe ScheduleProperty
triggeringDataset :: Maybe TriggeringDatasetProperty
..}
= TriggerProperty {triggeringDataset :: Maybe TriggeringDatasetProperty
triggeringDataset = TriggeringDatasetProperty -> Maybe TriggeringDatasetProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "TriggeringDataset" TriggerProperty
TriggeringDatasetProperty
newValue, Maybe ScheduleProperty
()
haddock_workaround_ :: ()
schedule :: Maybe ScheduleProperty
haddock_workaround_ :: ()
schedule :: Maybe ScheduleProperty
..}