Interface CfnDetectorModel.DetectorModelDefinitionProperty

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

@Stability(Stable) public static interface CfnDetectorModel.DetectorModelDefinitionProperty extends software.amazon.jsii.JsiiSerializable
Information that defines how a detector operates.

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.*;
 DetectorModelDefinitionProperty detectorModelDefinitionProperty = DetectorModelDefinitionProperty.builder()
         .initialStateName("initialStateName")
         .states(List.of(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()))
         .build();