TransitionOptions
- class aws_cdk.aws_iotevents.TransitionOptions(*, when, event_name=None, executing=None)
Bases:
object
(experimental) Properties for options of state transition.
- Parameters:
when (
Expression
) – (experimental) The condition that is used to determine to cause the state transition and the actions. When this was evaluated totrue
, the state transition and the actions are triggered.event_name (
Optional
[str
]) – (experimental) The name of the event. Default: string combining the names of the States as${originStateName}_to_${targetStateName}
executing (
Optional
[Sequence
[IAction
]]) – (experimental) The actions to be performed with the transition. Default: - no actions will be performed
- Stability:
experimental
- ExampleMetadata:
infused
Example:
import aws_cdk.aws_iotevents as iotevents import aws_cdk.aws_iotevents_actions as actions import aws_cdk.aws_lambda as lambda_ # func: lambda.IFunction input = iotevents.Input(self, "MyInput", input_name="my_input", # optional attribute_json_paths=["payload.deviceId", "payload.temperature"] ) warm_state = iotevents.State( state_name="warm", on_enter=[iotevents.Event( event_name="test-enter-event", condition=iotevents.Expression.current_input(input), actions=[actions.LambdaInvokeAction(func)] )], on_input=[iotevents.Event( # optional event_name="test-input-event", actions=[actions.LambdaInvokeAction(func)])], on_exit=[iotevents.Event( # optional event_name="test-exit-event", actions=[actions.LambdaInvokeAction(func)])] ) cold_state = iotevents.State( state_name="cold" ) # transit to coldState when temperature is less than 15 warm_state.transition_to(cold_state, event_name="to_coldState", # optional property, default by combining the names of the States when=iotevents.Expression.lt( iotevents.Expression.input_attribute(input, "payload.temperature"), iotevents.Expression.from_string("15")), executing=[actions.LambdaInvokeAction(func)] ) # transit to warmState when temperature is greater than or equal to 15 cold_state.transition_to(warm_state, when=iotevents.Expression.gte( iotevents.Expression.input_attribute(input, "payload.temperature"), iotevents.Expression.from_string("15")) ) iotevents.DetectorModel(self, "MyDetectorModel", detector_model_name="test-detector-model", # optional description="test-detector-model-description", # optional property, default is none evaluation_method=iotevents.EventEvaluation.SERIAL, # optional property, default is iotevents.EventEvaluation.BATCH detector_key="payload.deviceId", # optional property, default is none and single detector instance will be created and all inputs will be routed to it initial_state=warm_state )
Attributes
- event_name
(experimental) The name of the event.
- Default:
string combining the names of the States as
${originStateName}_to_${targetStateName}
- Stability:
experimental
- executing
(experimental) The actions to be performed with the transition.
- Default:
no actions will be performed
- Stability:
experimental
- when
(experimental) The condition that is used to determine to cause the state transition and the actions.
When this was evaluated to
true
, the state transition and the actions are triggered.- Stability:
experimental