Interface CfnDetectorModel.StateProperty

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnDetectorModel.StateProperty.Jsii$Proxy
Enclosing class:
CfnDetectorModel

@Stability(Stable) public static interface CfnDetectorModel.StateProperty extends software.amazon.jsii.JsiiSerializable
Information that defines a state of a detector.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.iotevents.*;
 StateProperty stateProperty = StateProperty.builder()
         .stateName("stateName")
         // the properties below are optional
         .onEnter(OnEnterProperty.builder()
                 .events(List.of(EventProperty.builder()
                         .eventName("eventName")
                         // the properties below are optional
                         .actions(List.of(ActionProperty.builder()
                                 .clearTimer(ClearTimerProperty.builder()
                                         .timerName("timerName")
                                         .build())
                                 .dynamoDb(DynamoDBProperty.builder()
                                         .hashKeyField("hashKeyField")
                                         .hashKeyValue("hashKeyValue")
                                         .tableName("tableName")
                                         // the properties below are optional
                                         .hashKeyType("hashKeyType")
                                         .operation("operation")
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .payloadField("payloadField")
                                         .rangeKeyField("rangeKeyField")
                                         .rangeKeyType("rangeKeyType")
                                         .rangeKeyValue("rangeKeyValue")
                                         .build())
                                 .dynamoDBv2(DynamoDBv2Property.builder()
                                         .tableName("tableName")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .build())
                                 .firehose(FirehoseProperty.builder()
                                         .deliveryStreamName("deliveryStreamName")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .separator("separator")
                                         .build())
                                 .iotEvents(IotEventsProperty.builder()
                                         .inputName("inputName")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .build())
                                 .iotSiteWise(IotSiteWiseProperty.builder()
                                         .propertyValue(AssetPropertyValueProperty.builder()
                                                 .value(AssetPropertyVariantProperty.builder()
                                                         .booleanValue("booleanValue")
                                                         .doubleValue("doubleValue")
                                                         .integerValue("integerValue")
                                                         .stringValue("stringValue")
                                                         .build())
                                                 // the properties below are optional
                                                 .quality("quality")
                                                 .timestamp(AssetPropertyTimestampProperty.builder()
                                                         .timeInSeconds("timeInSeconds")
                                                         // the properties below are optional
                                                         .offsetInNanos("offsetInNanos")
                                                         .build())
                                                 .build())
                                         // the properties below are optional
                                         .assetId("assetId")
                                         .entryId("entryId")
                                         .propertyAlias("propertyAlias")
                                         .propertyId("propertyId")
                                         .build())
                                 .iotTopicPublish(IotTopicPublishProperty.builder()
                                         .mqttTopic("mqttTopic")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .build())
                                 .lambda(LambdaProperty.builder()
                                         .functionArn("functionArn")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .build())
                                 .resetTimer(ResetTimerProperty.builder()
                                         .timerName("timerName")
                                         .build())
                                 .setTimer(SetTimerProperty.builder()
                                         .timerName("timerName")
                                         // the properties below are optional
                                         .durationExpression("durationExpression")
                                         .seconds(123)
                                         .build())
                                 .setVariable(SetVariableProperty.builder()
                                         .value("value")
                                         .variableName("variableName")
                                         .build())
                                 .sns(SnsProperty.builder()
                                         .targetArn("targetArn")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .build())
                                 .sqs(SqsProperty.builder()
                                         .queueUrl("queueUrl")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .useBase64(false)
                                         .build())
                                 .build()))
                         .condition("condition")
                         .build()))
                 .build())
         .onExit(OnExitProperty.builder()
                 .events(List.of(EventProperty.builder()
                         .eventName("eventName")
                         // the properties below are optional
                         .actions(List.of(ActionProperty.builder()
                                 .clearTimer(ClearTimerProperty.builder()
                                         .timerName("timerName")
                                         .build())
                                 .dynamoDb(DynamoDBProperty.builder()
                                         .hashKeyField("hashKeyField")
                                         .hashKeyValue("hashKeyValue")
                                         .tableName("tableName")
                                         // the properties below are optional
                                         .hashKeyType("hashKeyType")
                                         .operation("operation")
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .payloadField("payloadField")
                                         .rangeKeyField("rangeKeyField")
                                         .rangeKeyType("rangeKeyType")
                                         .rangeKeyValue("rangeKeyValue")
                                         .build())
                                 .dynamoDBv2(DynamoDBv2Property.builder()
                                         .tableName("tableName")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .build())
                                 .firehose(FirehoseProperty.builder()
                                         .deliveryStreamName("deliveryStreamName")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .separator("separator")
                                         .build())
                                 .iotEvents(IotEventsProperty.builder()
                                         .inputName("inputName")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .build())
                                 .iotSiteWise(IotSiteWiseProperty.builder()
                                         .propertyValue(AssetPropertyValueProperty.builder()
                                                 .value(AssetPropertyVariantProperty.builder()
                                                         .booleanValue("booleanValue")
                                                         .doubleValue("doubleValue")
                                                         .integerValue("integerValue")
                                                         .stringValue("stringValue")
                                                         .build())
                                                 // the properties below are optional
                                                 .quality("quality")
                                                 .timestamp(AssetPropertyTimestampProperty.builder()
                                                         .timeInSeconds("timeInSeconds")
                                                         // the properties below are optional
                                                         .offsetInNanos("offsetInNanos")
                                                         .build())
                                                 .build())
                                         // the properties below are optional
                                         .assetId("assetId")
                                         .entryId("entryId")
                                         .propertyAlias("propertyAlias")
                                         .propertyId("propertyId")
                                         .build())
                                 .iotTopicPublish(IotTopicPublishProperty.builder()
                                         .mqttTopic("mqttTopic")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .build())
                                 .lambda(LambdaProperty.builder()
                                         .functionArn("functionArn")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .build())
                                 .resetTimer(ResetTimerProperty.builder()
                                         .timerName("timerName")
                                         .build())
                                 .setTimer(SetTimerProperty.builder()
                                         .timerName("timerName")
                                         // the properties below are optional
                                         .durationExpression("durationExpression")
                                         .seconds(123)
                                         .build())
                                 .setVariable(SetVariableProperty.builder()
                                         .value("value")
                                         .variableName("variableName")
                                         .build())
                                 .sns(SnsProperty.builder()
                                         .targetArn("targetArn")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .build())
                                 .sqs(SqsProperty.builder()
                                         .queueUrl("queueUrl")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .useBase64(false)
                                         .build())
                                 .build()))
                         .condition("condition")
                         .build()))
                 .build())
         .onInput(OnInputProperty.builder()
                 .events(List.of(EventProperty.builder()
                         .eventName("eventName")
                         // the properties below are optional
                         .actions(List.of(ActionProperty.builder()
                                 .clearTimer(ClearTimerProperty.builder()
                                         .timerName("timerName")
                                         .build())
                                 .dynamoDb(DynamoDBProperty.builder()
                                         .hashKeyField("hashKeyField")
                                         .hashKeyValue("hashKeyValue")
                                         .tableName("tableName")
                                         // the properties below are optional
                                         .hashKeyType("hashKeyType")
                                         .operation("operation")
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .payloadField("payloadField")
                                         .rangeKeyField("rangeKeyField")
                                         .rangeKeyType("rangeKeyType")
                                         .rangeKeyValue("rangeKeyValue")
                                         .build())
                                 .dynamoDBv2(DynamoDBv2Property.builder()
                                         .tableName("tableName")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .build())
                                 .firehose(FirehoseProperty.builder()
                                         .deliveryStreamName("deliveryStreamName")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .separator("separator")
                                         .build())
                                 .iotEvents(IotEventsProperty.builder()
                                         .inputName("inputName")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .build())
                                 .iotSiteWise(IotSiteWiseProperty.builder()
                                         .propertyValue(AssetPropertyValueProperty.builder()
                                                 .value(AssetPropertyVariantProperty.builder()
                                                         .booleanValue("booleanValue")
                                                         .doubleValue("doubleValue")
                                                         .integerValue("integerValue")
                                                         .stringValue("stringValue")
                                                         .build())
                                                 // the properties below are optional
                                                 .quality("quality")
                                                 .timestamp(AssetPropertyTimestampProperty.builder()
                                                         .timeInSeconds("timeInSeconds")
                                                         // the properties below are optional
                                                         .offsetInNanos("offsetInNanos")
                                                         .build())
                                                 .build())
                                         // the properties below are optional
                                         .assetId("assetId")
                                         .entryId("entryId")
                                         .propertyAlias("propertyAlias")
                                         .propertyId("propertyId")
                                         .build())
                                 .iotTopicPublish(IotTopicPublishProperty.builder()
                                         .mqttTopic("mqttTopic")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .build())
                                 .lambda(LambdaProperty.builder()
                                         .functionArn("functionArn")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .build())
                                 .resetTimer(ResetTimerProperty.builder()
                                         .timerName("timerName")
                                         .build())
                                 .setTimer(SetTimerProperty.builder()
                                         .timerName("timerName")
                                         // the properties below are optional
                                         .durationExpression("durationExpression")
                                         .seconds(123)
                                         .build())
                                 .setVariable(SetVariableProperty.builder()
                                         .value("value")
                                         .variableName("variableName")
                                         .build())
                                 .sns(SnsProperty.builder()
                                         .targetArn("targetArn")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .build())
                                 .sqs(SqsProperty.builder()
                                         .queueUrl("queueUrl")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .useBase64(false)
                                         .build())
                                 .build()))
                         .condition("condition")
                         .build()))
                 .transitionEvents(List.of(TransitionEventProperty.builder()
                         .condition("condition")
                         .eventName("eventName")
                         .nextState("nextState")
                         // the properties below are optional
                         .actions(List.of(ActionProperty.builder()
                                 .clearTimer(ClearTimerProperty.builder()
                                         .timerName("timerName")
                                         .build())
                                 .dynamoDb(DynamoDBProperty.builder()
                                         .hashKeyField("hashKeyField")
                                         .hashKeyValue("hashKeyValue")
                                         .tableName("tableName")
                                         // the properties below are optional
                                         .hashKeyType("hashKeyType")
                                         .operation("operation")
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .payloadField("payloadField")
                                         .rangeKeyField("rangeKeyField")
                                         .rangeKeyType("rangeKeyType")
                                         .rangeKeyValue("rangeKeyValue")
                                         .build())
                                 .dynamoDBv2(DynamoDBv2Property.builder()
                                         .tableName("tableName")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .build())
                                 .firehose(FirehoseProperty.builder()
                                         .deliveryStreamName("deliveryStreamName")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .separator("separator")
                                         .build())
                                 .iotEvents(IotEventsProperty.builder()
                                         .inputName("inputName")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .build())
                                 .iotSiteWise(IotSiteWiseProperty.builder()
                                         .propertyValue(AssetPropertyValueProperty.builder()
                                                 .value(AssetPropertyVariantProperty.builder()
                                                         .booleanValue("booleanValue")
                                                         .doubleValue("doubleValue")
                                                         .integerValue("integerValue")
                                                         .stringValue("stringValue")
                                                         .build())
                                                 // the properties below are optional
                                                 .quality("quality")
                                                 .timestamp(AssetPropertyTimestampProperty.builder()
                                                         .timeInSeconds("timeInSeconds")
                                                         // the properties below are optional
                                                         .offsetInNanos("offsetInNanos")
                                                         .build())
                                                 .build())
                                         // the properties below are optional
                                         .assetId("assetId")
                                         .entryId("entryId")
                                         .propertyAlias("propertyAlias")
                                         .propertyId("propertyId")
                                         .build())
                                 .iotTopicPublish(IotTopicPublishProperty.builder()
                                         .mqttTopic("mqttTopic")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .build())
                                 .lambda(LambdaProperty.builder()
                                         .functionArn("functionArn")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .build())
                                 .resetTimer(ResetTimerProperty.builder()
                                         .timerName("timerName")
                                         .build())
                                 .setTimer(SetTimerProperty.builder()
                                         .timerName("timerName")
                                         // the properties below are optional
                                         .durationExpression("durationExpression")
                                         .seconds(123)
                                         .build())
                                 .setVariable(SetVariableProperty.builder()
                                         .value("value")
                                         .variableName("variableName")
                                         .build())
                                 .sns(SnsProperty.builder()
                                         .targetArn("targetArn")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .build())
                                 .sqs(SqsProperty.builder()
                                         .queueUrl("queueUrl")
                                         // the properties below are optional
                                         .payload(PayloadProperty.builder()
                                                 .contentExpression("contentExpression")
                                                 .type("type")
                                                 .build())
                                         .useBase64(false)
                                         .build())
                                 .build()))
                         .build()))
                 .build())
         .build();
 
  • Method Details

    • getStateName

      @Stability(Stable) @NotNull String getStateName()
      The name of the state.
    • getOnEnter

      @Stability(Stable) @Nullable default Object getOnEnter()
      When entering this state, perform these actions if the condition is TRUE.
    • getOnExit

      @Stability(Stable) @Nullable default Object getOnExit()
      When exiting this state, perform these actions if the specified condition is TRUE .
    • getOnInput

      @Stability(Stable) @Nullable default Object getOnInput()
      When an input is received and the condition is TRUE, perform the specified actions .
    • builder

      @Stability(Stable) static CfnDetectorModel.StateProperty.Builder builder()
      Returns:
      a CfnDetectorModel.StateProperty.Builder of CfnDetectorModel.StateProperty