Interface DetectorModelProps
- All Superinterfaces:
software.amazon.jsii.JsiiSerializable
- All Known Implementing Classes:
DetectorModelProps.Jsii$Proxy
Example:
import software.amazon.awscdk.services.iotevents.alpha.*; import software.amazon.awscdk.services.iotevents.actions.alpha.*; import software.amazon.awscdk.services.lambda.*; IFunction func; Input input = Input.Builder.create(this, "MyInput") .inputName("my_input") // optional .attributeJsonPaths(List.of("payload.deviceId", "payload.temperature")) .build(); State warmState = State.Builder.create() .stateName("warm") .onEnter(List.of(Event.builder() .eventName("test-enter-event") .condition(Expression.currentInput(input)) .actions(List.of(new LambdaInvokeAction(func))) .build())) .onInput(List.of(Event.builder() // optional .eventName("test-input-event") .actions(List.of(new LambdaInvokeAction(func))).build())) .onExit(List.of(Event.builder() // optional .eventName("test-exit-event") .actions(List.of(new LambdaInvokeAction(func))).build())) .build(); State coldState = State.Builder.create() .stateName("cold") .build(); // transit to coldState when temperature is less than 15 warmState.transitionTo(coldState, TransitionOptions.builder() .eventName("to_coldState") // optional property, default by combining the names of the States .when(Expression.lt(Expression.inputAttribute(input, "payload.temperature"), Expression.fromString("15"))) .executing(List.of(new LambdaInvokeAction(func))) .build()); // transit to warmState when temperature is greater than or equal to 15 coldState.transitionTo(warmState, TransitionOptions.builder() .when(Expression.gte(Expression.inputAttribute(input, "payload.temperature"), Expression.fromString("15"))) .build()); DetectorModel.Builder.create(this, "MyDetectorModel") .detectorModelName("test-detector-model") // optional .description("test-detector-model-description") // optional property, default is none .evaluationMethod(EventEvaluation.SERIAL) // optional property, default is iotevents.EventEvaluation.BATCH .detectorKey("payload.deviceId") // optional property, default is none and single detector instance will be created and all inputs will be routed to it .initialState(warmState) .build();
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic final class
A builder forDetectorModelProps
static final class
An implementation forDetectorModelProps
-
Method Summary
Modifier and TypeMethodDescriptionstatic DetectorModelProps.Builder
builder()
default String
(experimental) A brief description of the detector model.default String
(experimental) The value used to identify a detector instance.default String
(experimental) The name of the detector model.default EventEvaluation
(experimental) Information about the order in which events are evaluated and how actions are executed.(experimental) The state that is entered at the creation of each detector.default IRole
getRole()
(experimental) The role that grants permission to AWS IoT Events to perform its operations.Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Method Details
-
getInitialState
(experimental) The state that is entered at the creation of each detector. -
getDescription
(experimental) A brief description of the detector model.Default: none
-
getDetectorKey
(experimental) The value used to identify a detector instance.When a device or system sends input, a new detector instance with a unique key value is created. AWS IoT Events can continue to route input to its corresponding detector instance based on this identifying information.
This parameter uses a JSON-path expression to select the attribute-value pair in the message payload that is used for identification. To route the message to the correct detector instance, the device must send a message payload that contains the same attribute-value.
Default: - none (single detector instance will be created and all inputs will be routed to it)
-
getDetectorModelName
(experimental) The name of the detector model.Default: - CloudFormation will generate a unique name of the detector model
-
getEvaluationMethod
(experimental) Information about the order in which events are evaluated and how actions are executed.When setting to SERIAL, variables are updated and event conditions are evaluated in the order that the events are defined. When setting to BATCH, variables within a state are updated and events within a state are performed only after all event conditions are evaluated.
Default: EventEvaluation.BATCH
-
getRole
(experimental) The role that grants permission to AWS IoT Events to perform its operations.Default: - a role will be created with default permissions
-
builder
- Returns:
- a
DetectorModelProps.Builder
ofDetectorModelProps
-