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