Class Input
java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
software.amazon.awscdk.core.Construct
software.amazon.awscdk.core.Resource
software.amazon.awscdk.services.iotevents.Input
- All Implemented Interfaces:
IConstruct,IDependable,IResource,IInput,software.amazon.jsii.JsiiSerializable,software.constructs.IConstruct
@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)",
date="2023-06-19T16:30:37.233Z")
@Stability(Experimental)
public class Input
extends Resource
implements IInput
(experimental) Defines an AWS IoT Events input in this stack.
Example:
import software.amazon.awscdk.services.iotevents.*;
import software.amazon.awscdk.services.iotevents.actions.*;
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
Nested ClassesNested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationModeNested classes/interfaces inherited from interface software.amazon.awscdk.core.IConstruct
IConstruct.Jsii$DefaultNested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$DefaultNested classes/interfaces inherited from interface software.amazon.awscdk.services.iotevents.IInput
IInput.Jsii$Default, IInput.Jsii$ProxyNested classes/interfaces inherited from interface software.amazon.awscdk.core.IResource
IResource.Jsii$Default -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedInput(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protectedInput(software.amazon.jsii.JsiiObjectRef objRef) Input(software.constructs.Construct scope, String id, InputProps props) -
Method Summary
Modifier and TypeMethodDescriptionstatic IInputfromInputName(software.constructs.Construct scope, String id, String inputName) (experimental) Import an existing input.(experimental) The ARN of the input.(experimental) The name of the input.grant(IGrantable grantee, @NotNull String... actions) (experimental) Grant the indicated permissions on this input to the given IAM principal (Role/Group/User).grantWrite(IGrantable grantee) (experimental) Grant write permissions on this input and its contents to an IAM principal (Role/Group/User).Methods inherited from class software.amazon.awscdk.core.Resource
applyRemovalPolicy, generatePhysicalName, getEnv, getPhysicalName, getResourceArnAttribute, getResourceNameAttribute, getStack, isResourceMethods inherited from class software.amazon.awscdk.core.Construct
getNode, isConstruct, onPrepare, onSynthesize, onValidate, prepare, synthesize, validateMethods inherited from class software.constructs.Construct
toStringMethods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface software.amazon.awscdk.core.IConstruct
getNodeMethods inherited from interface software.amazon.awscdk.core.IResource
applyRemovalPolicy, getEnv, getStackMethods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Constructor Details
-
Input
protected Input(software.amazon.jsii.JsiiObjectRef objRef) -
Input
protected Input(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
Input
@Stability(Experimental) public Input(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull InputProps props) - Parameters:
scope- This parameter is required.id- This parameter is required.props- This parameter is required.
-
-
Method Details
-
fromInputName
@Stability(Experimental) @NotNull public static IInput fromInputName(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull String inputName) (experimental) Import an existing input.- Parameters:
scope- This parameter is required.id- This parameter is required.inputName- This parameter is required.
-
grant
@Stability(Experimental) @NotNull public Grant grant(@NotNull IGrantable grantee, @NotNull @NotNull String... actions) (experimental) Grant the indicated permissions on this input to the given IAM principal (Role/Group/User). -
grantWrite
(experimental) Grant write permissions on this input and its contents to an IAM principal (Role/Group/User).- Specified by:
grantWritein interfaceIInput- Parameters:
grantee- This parameter is required.
-
getInputArn
(experimental) The ARN of the input.- Specified by:
getInputArnin interfaceIInput
-
getInputName
(experimental) The name of the input.- Specified by:
getInputNamein interfaceIInput
-