@Generated(value="jsii-pacmak/1.70.0 (build 03c2f6f)", date="2022-11-01T13:16:50.838Z") @Stability(value=Experimental) public interface DetectorModelProps extends software.amazon.jsii.JsiiSerializable
Example:
import software.amazon.awscdk.core.*;
import software.amazon.awscdk.core.*;
import software.amazon.awscdk.core.*;
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();
| Modifier and Type | Interface and Description |
|---|---|
static class |
DetectorModelProps.Builder
A builder for
DetectorModelProps |
static class |
DetectorModelProps.Jsii$Proxy
An implementation for
DetectorModelProps |
| Modifier and Type | Method and Description |
|---|---|
static DetectorModelProps.Builder |
builder() |
default String |
getDescription()
(experimental) A brief description of the detector model.
|
default String |
getDetectorKey()
(experimental) The value used to identify a detector instance.
|
default String |
getDetectorModelName()
(experimental) The name of the detector model.
|
default EventEvaluation |
getEvaluationMethod()
(experimental) Information about the order in which events are evaluated and how actions are executed.
|
State |
getInitialState()
(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.
|
@Stability(value=Experimental) @NotNull State getInitialState()
@Stability(value=Experimental) @Nullable default String getDescription()
Default: none
@Stability(value=Experimental) @Nullable default String getDetectorKey()
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)
@Stability(value=Experimental) @Nullable default String getDetectorModelName()
Default: - CloudFormation will generate a unique name of the detector model
@Stability(value=Experimental) @Nullable default EventEvaluation getEvaluationMethod()
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
@Stability(value=Experimental) @Nullable default IRole getRole()
Default: - a role will be created with default permissions
@Stability(value=Experimental) static DetectorModelProps.Builder builder()
DetectorModelProps.Builder of DetectorModelPropsCopyright © 2022. All rights reserved.