interface DetectorModelDefinitionProperty
| Language | Type name | 
|---|---|
|  .NET | Amazon.CDK.AWS.IoTEvents.CfnDetectorModel.DetectorModelDefinitionProperty | 
|  Java | software.amazon.awscdk.services.iotevents.CfnDetectorModel.DetectorModelDefinitionProperty | 
|  Python | aws_cdk.aws_iotevents.CfnDetectorModel.DetectorModelDefinitionProperty | 
|  TypeScript | @aws-cdk/aws-iotevents»CfnDetectorModel»DetectorModelDefinitionProperty | 
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 * as iotevents from '@aws-cdk/aws-iotevents';
const detectorModelDefinitionProperty: iotevents.CfnDetectorModel.DetectorModelDefinitionProperty = {
  initialStateName: 'initialStateName',
  states: [{
    stateName: 'stateName',
    // the properties below are optional
    onEnter: {
      events: [{
        eventName: 'eventName',
        // the properties below are optional
        actions: [{
          clearTimer: {
            timerName: 'timerName',
          },
          dynamoDb: {
            hashKeyField: 'hashKeyField',
            hashKeyValue: 'hashKeyValue',
            tableName: 'tableName',
            // the properties below are optional
            hashKeyType: 'hashKeyType',
            operation: 'operation',
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
            payloadField: 'payloadField',
            rangeKeyField: 'rangeKeyField',
            rangeKeyType: 'rangeKeyType',
            rangeKeyValue: 'rangeKeyValue',
          },
          dynamoDBv2: {
            tableName: 'tableName',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
          },
          firehose: {
            deliveryStreamName: 'deliveryStreamName',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
            separator: 'separator',
          },
          iotEvents: {
            inputName: 'inputName',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
          },
          iotSiteWise: {
            propertyValue: {
              value: {
                booleanValue: 'booleanValue',
                doubleValue: 'doubleValue',
                integerValue: 'integerValue',
                stringValue: 'stringValue',
              },
              // the properties below are optional
              quality: 'quality',
              timestamp: {
                timeInSeconds: 'timeInSeconds',
                // the properties below are optional
                offsetInNanos: 'offsetInNanos',
              },
            },
            // the properties below are optional
            assetId: 'assetId',
            entryId: 'entryId',
            propertyAlias: 'propertyAlias',
            propertyId: 'propertyId',
          },
          iotTopicPublish: {
            mqttTopic: 'mqttTopic',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
          },
          lambda: {
            functionArn: 'functionArn',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
          },
          resetTimer: {
            timerName: 'timerName',
          },
          setTimer: {
            timerName: 'timerName',
            // the properties below are optional
            durationExpression: 'durationExpression',
            seconds: 123,
          },
          setVariable: {
            value: 'value',
            variableName: 'variableName',
          },
          sns: {
            targetArn: 'targetArn',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
          },
          sqs: {
            queueUrl: 'queueUrl',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
            useBase64: false,
          },
        }],
        condition: 'condition',
      }],
    },
    onExit: {
      events: [{
        eventName: 'eventName',
        // the properties below are optional
        actions: [{
          clearTimer: {
            timerName: 'timerName',
          },
          dynamoDb: {
            hashKeyField: 'hashKeyField',
            hashKeyValue: 'hashKeyValue',
            tableName: 'tableName',
            // the properties below are optional
            hashKeyType: 'hashKeyType',
            operation: 'operation',
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
            payloadField: 'payloadField',
            rangeKeyField: 'rangeKeyField',
            rangeKeyType: 'rangeKeyType',
            rangeKeyValue: 'rangeKeyValue',
          },
          dynamoDBv2: {
            tableName: 'tableName',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
          },
          firehose: {
            deliveryStreamName: 'deliveryStreamName',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
            separator: 'separator',
          },
          iotEvents: {
            inputName: 'inputName',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
          },
          iotSiteWise: {
            propertyValue: {
              value: {
                booleanValue: 'booleanValue',
                doubleValue: 'doubleValue',
                integerValue: 'integerValue',
                stringValue: 'stringValue',
              },
              // the properties below are optional
              quality: 'quality',
              timestamp: {
                timeInSeconds: 'timeInSeconds',
                // the properties below are optional
                offsetInNanos: 'offsetInNanos',
              },
            },
            // the properties below are optional
            assetId: 'assetId',
            entryId: 'entryId',
            propertyAlias: 'propertyAlias',
            propertyId: 'propertyId',
          },
          iotTopicPublish: {
            mqttTopic: 'mqttTopic',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
          },
          lambda: {
            functionArn: 'functionArn',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
          },
          resetTimer: {
            timerName: 'timerName',
          },
          setTimer: {
            timerName: 'timerName',
            // the properties below are optional
            durationExpression: 'durationExpression',
            seconds: 123,
          },
          setVariable: {
            value: 'value',
            variableName: 'variableName',
          },
          sns: {
            targetArn: 'targetArn',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
          },
          sqs: {
            queueUrl: 'queueUrl',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
            useBase64: false,
          },
        }],
        condition: 'condition',
      }],
    },
    onInput: {
      events: [{
        eventName: 'eventName',
        // the properties below are optional
        actions: [{
          clearTimer: {
            timerName: 'timerName',
          },
          dynamoDb: {
            hashKeyField: 'hashKeyField',
            hashKeyValue: 'hashKeyValue',
            tableName: 'tableName',
            // the properties below are optional
            hashKeyType: 'hashKeyType',
            operation: 'operation',
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
            payloadField: 'payloadField',
            rangeKeyField: 'rangeKeyField',
            rangeKeyType: 'rangeKeyType',
            rangeKeyValue: 'rangeKeyValue',
          },
          dynamoDBv2: {
            tableName: 'tableName',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
          },
          firehose: {
            deliveryStreamName: 'deliveryStreamName',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
            separator: 'separator',
          },
          iotEvents: {
            inputName: 'inputName',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
          },
          iotSiteWise: {
            propertyValue: {
              value: {
                booleanValue: 'booleanValue',
                doubleValue: 'doubleValue',
                integerValue: 'integerValue',
                stringValue: 'stringValue',
              },
              // the properties below are optional
              quality: 'quality',
              timestamp: {
                timeInSeconds: 'timeInSeconds',
                // the properties below are optional
                offsetInNanos: 'offsetInNanos',
              },
            },
            // the properties below are optional
            assetId: 'assetId',
            entryId: 'entryId',
            propertyAlias: 'propertyAlias',
            propertyId: 'propertyId',
          },
          iotTopicPublish: {
            mqttTopic: 'mqttTopic',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
          },
          lambda: {
            functionArn: 'functionArn',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
          },
          resetTimer: {
            timerName: 'timerName',
          },
          setTimer: {
            timerName: 'timerName',
            // the properties below are optional
            durationExpression: 'durationExpression',
            seconds: 123,
          },
          setVariable: {
            value: 'value',
            variableName: 'variableName',
          },
          sns: {
            targetArn: 'targetArn',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
          },
          sqs: {
            queueUrl: 'queueUrl',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
            useBase64: false,
          },
        }],
        condition: 'condition',
      }],
      transitionEvents: [{
        condition: 'condition',
        eventName: 'eventName',
        nextState: 'nextState',
        // the properties below are optional
        actions: [{
          clearTimer: {
            timerName: 'timerName',
          },
          dynamoDb: {
            hashKeyField: 'hashKeyField',
            hashKeyValue: 'hashKeyValue',
            tableName: 'tableName',
            // the properties below are optional
            hashKeyType: 'hashKeyType',
            operation: 'operation',
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
            payloadField: 'payloadField',
            rangeKeyField: 'rangeKeyField',
            rangeKeyType: 'rangeKeyType',
            rangeKeyValue: 'rangeKeyValue',
          },
          dynamoDBv2: {
            tableName: 'tableName',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
          },
          firehose: {
            deliveryStreamName: 'deliveryStreamName',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
            separator: 'separator',
          },
          iotEvents: {
            inputName: 'inputName',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
          },
          iotSiteWise: {
            propertyValue: {
              value: {
                booleanValue: 'booleanValue',
                doubleValue: 'doubleValue',
                integerValue: 'integerValue',
                stringValue: 'stringValue',
              },
              // the properties below are optional
              quality: 'quality',
              timestamp: {
                timeInSeconds: 'timeInSeconds',
                // the properties below are optional
                offsetInNanos: 'offsetInNanos',
              },
            },
            // the properties below are optional
            assetId: 'assetId',
            entryId: 'entryId',
            propertyAlias: 'propertyAlias',
            propertyId: 'propertyId',
          },
          iotTopicPublish: {
            mqttTopic: 'mqttTopic',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
          },
          lambda: {
            functionArn: 'functionArn',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
          },
          resetTimer: {
            timerName: 'timerName',
          },
          setTimer: {
            timerName: 'timerName',
            // the properties below are optional
            durationExpression: 'durationExpression',
            seconds: 123,
          },
          setVariable: {
            value: 'value',
            variableName: 'variableName',
          },
          sns: {
            targetArn: 'targetArn',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
          },
          sqs: {
            queueUrl: 'queueUrl',
            // the properties below are optional
            payload: {
              contentExpression: 'contentExpression',
              type: 'type',
            },
            useBase64: false,
          },
        }],
      }],
    },
  }],
};
Properties
| Name | Type | Description | 
|---|---|---|
| initial | string | The state that is entered at the creation of each detector (instance). | 
| states | IResolvable | IResolvable | State[] | Information about the states of the detector. | 
initialStateName
Type:
string
The state that is entered at the creation of each detector (instance).
states
Type:
IResolvable | IResolvable | State[]
Information about the states of the detector.
