Interface CfnDetectorModelProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnDetectorModelProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:37.217Z") @Stability(Stable) public interface CfnDetectorModelProps extends software.amazon.jsii.JsiiSerializable
Properties for defining a CfnDetectorModel.

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.*;
 CfnDetectorModelProps cfnDetectorModelProps = CfnDetectorModelProps.builder()
         .detectorModelDefinition(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())
         .roleArn("roleArn")
         // the properties below are optional
         .detectorModelDescription("detectorModelDescription")
         .detectorModelName("detectorModelName")
         .evaluationMethod("evaluationMethod")
         .key("key")
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .build();
 
  • Method Details

    • getDetectorModelDefinition

      @Stability(Stable) @NotNull Object getDetectorModelDefinition()
      Information that defines how a detector operates.
    • getRoleArn

      @Stability(Stable) @NotNull String getRoleArn()
      The ARN of the role that grants permission to AWS IoT Events to perform its operations.
    • getDetectorModelDescription

      @Stability(Stable) @Nullable default String getDetectorModelDescription()
      A brief description of the detector model.
    • getDetectorModelName

      @Stability(Stable) @Nullable default String getDetectorModelName()
      The name of the detector model.
    • getEvaluationMethod

      @Stability(Stable) @Nullable default String getEvaluationMethod()
      Information about the order in which events are evaluated and how actions are executed.
    • getKey

      @Stability(Stable) @Nullable default String getKey()
      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.

    • getTags

      @Stability(Stable) @Nullable default List<CfnTag> getTags()
      An array of key-value pairs to apply to this resource.

      For more information, see Tag .

    • builder

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