awscc.iotevents_detectormodel¶

Filters¶

  • event

  • reduce

  • value

Actions¶

delete¶

Parent base class for filters and actions.

properties:
  type:
    enum:
    - delete
required:
- type

Permissions - iotevents:DeleteDetectorModel, iotevents:DescribeDetectorModel

update¶

Parent base class for filters and actions.

definitions:
  Action:
    additionalProperties: false
    description: The actions to be performed.
    properties:
      ClearTimer:
        additionalProperties: false
        description: Information needed to clear the timer.
        properties:
          TimerName:
            maxLength: 128
            minLength: 1
            type: string
        required:
        - TimerName
        type: object
      DynamoDB:
        additionalProperties: false
        description: Writes to the DynamoDB table that you created. The default action
          payload contains all attribute-value pairs that have the information about
          the detector model instance and the event that triggered the action. You
          can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
          One column of the DynamoDB table receives all attribute-value pairs in the
          payload that you specify. For more information, see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html)
          in *AWS IoT Events Developer Guide*.
        properties:
          HashKeyField:
            description: The name of the hash key (also called the partition key).
            type: string
          HashKeyType:
            description: 'The data type for the hash key (also called the partition
              key). You can specify the following values:

              * `STRING` - The hash key is a string.

              * `NUMBER` - The hash key is a number.

              If you don''t specify `hashKeyType`, the default value is `STRING`.'
            type: string
          HashKeyValue:
            description: The value of the hash key (also called the partition key).
            type: string
          Operation:
            description: 'The type of operation to perform. You can specify the following
              values:

              * `INSERT` - Insert data as a new item into the DynamoDB table. This
              item uses the specified hash key as a partition key. If you specified
              a range key, the item uses the range key as a sort key.

              * `UPDATE` - Update an existing item of the DynamoDB table with new
              data. This item''s partition key must match the specified hash key.
              If you specified a range key, the range key must match the item''s sort
              key.

              * `DELETE` - Delete an existing item of the DynamoDB table. This item''s
              partition key must match the specified hash key. If you specified a
              range key, the range key must match the item''s sort key.

              If you don''t specify this parameter, AWS IoT Events triggers the `INSERT`
              operation.'
            type: string
          Payload:
            additionalProperties: false
            description: 'Information needed to configure the payload.

              By default, AWS IoT Events generates a standard payload in JSON for
              any action. This action payload contains all attribute-value pairs that
              have the information about the detector model instance and the event
              triggered the action. To configure the action payload, you can use `contentExpression`.'
            properties:
              ContentExpression:
                description: The content of the payload. You can use a string expression
                  that includes quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                  input values (`$input.<input-name>.<path-to-datum>`), string concatenations,
                  and quoted strings that contain `${}` as the content. The recommended
                  maximum size of a content expression is 1 KB.
                minLength: 1
                type: string
              Type:
                description: The value of the payload type can be either `STRING`
                  or `JSON`.
                type: string
            required:
            - ContentExpression
            - Type
            type: object
          PayloadField:
            description: 'The name of the DynamoDB column that receives the action
              payload.

              If you don''t specify this parameter, the name of the DynamoDB column
              is `payload`.'
            type: string
          RangeKeyField:
            description: The name of the range key (also called the sort key).
            type: string
          RangeKeyType:
            description: 'The data type for the range key (also called the sort key),
              You can specify the following values:

              * `STRING` - The range key is a string.

              * `NUMBER` - The range key is number.

              If you don''t specify `rangeKeyField`, the default value is `STRING`.'
            type: string
          RangeKeyValue:
            description: The value of the range key (also called the sort key).
            type: string
          TableName:
            description: The name of the DynamoDB table.
            type: string
        required:
        - HashKeyField
        - HashKeyValue
        - TableName
        type: object
      DynamoDBv2:
        additionalProperties: false
        description: 'Defines an action to write to the Amazon DynamoDB table that
          you created. The default action payload contains all attribute-value pairs
          that have the information about the detector model instance and the event
          that triggered the action. You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
          A separate column of the DynamoDB table receives one attribute-value pair
          in the payload that you specify.

          You can use expressions for parameters that are strings. For more information,
          see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
          in the *AWS IoT Events Developer Guide*.'
        properties:
          Payload:
            additionalProperties: false
            description: 'Information needed to configure the payload.

              By default, AWS IoT Events generates a standard payload in JSON for
              any action. This action payload contains all attribute-value pairs that
              have the information about the detector model instance and the event
              triggered the action. To configure the action payload, you can use `contentExpression`.'
            properties:
              ContentExpression:
                description: The content of the payload. You can use a string expression
                  that includes quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                  input values (`$input.<input-name>.<path-to-datum>`), string concatenations,
                  and quoted strings that contain `${}` as the content. The recommended
                  maximum size of a content expression is 1 KB.
                minLength: 1
                type: string
              Type:
                description: The value of the payload type can be either `STRING`
                  or `JSON`.
                type: string
            required:
            - ContentExpression
            - Type
            type: object
          TableName:
            description: The name of the DynamoDB table.
            type: string
        required:
        - TableName
        type: object
      Firehose:
        additionalProperties: false
        description: Sends information about the detector model instance and the event
          that triggered the action to an Amazon Kinesis Data Firehose delivery stream.
        properties:
          DeliveryStreamName:
            description: The name of the Kinesis Data Firehose delivery stream where
              the data is written.
            type: string
          Payload:
            additionalProperties: false
            description: 'Information needed to configure the payload.

              By default, AWS IoT Events generates a standard payload in JSON for
              any action. This action payload contains all attribute-value pairs that
              have the information about the detector model instance and the event
              triggered the action. To configure the action payload, you can use `contentExpression`.'
            properties:
              ContentExpression:
                description: The content of the payload. You can use a string expression
                  that includes quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                  input values (`$input.<input-name>.<path-to-datum>`), string concatenations,
                  and quoted strings that contain `${}` as the content. The recommended
                  maximum size of a content expression is 1 KB.
                minLength: 1
                type: string
              Type:
                description: The value of the payload type can be either `STRING`
                  or `JSON`.
                type: string
            required:
            - ContentExpression
            - Type
            type: object
          Separator:
            description: 'A character separator that is used to separate records written
              to the Kinesis Data Firehose delivery stream. Valid values are: ''\n''
              (newline), ''\t'' (tab), ''\r\n'' (Windows newline), '','' (comma).'
            pattern: ([\n\t])|(\r\n)|(,)
            type: string
        required:
        - DeliveryStreamName
        type: object
      IotEvents:
        additionalProperties: false
        description: Sends an AWS IoT Events input, passing in information about the
          detector model instance and the event that triggered the action.
        properties:
          InputName:
            description: The name of the AWS IoT Events input where the data is sent.
            maxLength: 128
            minLength: 1
            pattern: ^[a-zA-Z][a-zA-Z0-9_]*$
            type: string
          Payload:
            additionalProperties: false
            description: 'Information needed to configure the payload.

              By default, AWS IoT Events generates a standard payload in JSON for
              any action. This action payload contains all attribute-value pairs that
              have the information about the detector model instance and the event
              triggered the action. To configure the action payload, you can use `contentExpression`.'
            properties:
              ContentExpression:
                description: The content of the payload. You can use a string expression
                  that includes quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                  input values (`$input.<input-name>.<path-to-datum>`), string concatenations,
                  and quoted strings that contain `${}` as the content. The recommended
                  maximum size of a content expression is 1 KB.
                minLength: 1
                type: string
              Type:
                description: The value of the payload type can be either `STRING`
                  or `JSON`.
                type: string
            required:
            - ContentExpression
            - Type
            type: object
        required:
        - InputName
        type: object
      IotSiteWise:
        additionalProperties: false
        description: Sends information about the detector model instance and the event
          that triggered the action to a specified asset property in AWS IoT SiteWise.
        properties:
          AssetId:
            description: The ID of the asset that has the specified property. You
              can specify an expression.
            type: string
          EntryId:
            description: A unique identifier for this entry. You can use the entry
              ID to track which data entry causes an error in case of failure. The
              default is a new unique identifier. You can also specify an expression.
            type: string
          PropertyAlias:
            description: The alias of the asset property. You can also specify an
              expression.
            type: string
          PropertyId:
            description: The ID of the asset property. You can specify an expression.
            type: string
          PropertyValue:
            additionalProperties: false
            description: A structure that contains value information. For more information,
              see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html)
              in the *AWS IoT SiteWise API Reference*.
            properties:
              Quality:
                description: The quality of the asset property value. The value must
                  be `GOOD`, `BAD`, or `UNCERTAIN`. You can also specify an expression.
                type: string
              Timestamp:
                additionalProperties: false
                description: A structure that contains timestamp information. For
                  more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html)
                  in the *AWS IoT SiteWise API Reference*.
                properties:
                  OffsetInNanos:
                    description: The timestamp, in seconds, in the Unix epoch format.
                      The valid range is between `1-31556889864403199`. You can also
                      specify an expression.
                    type: string
                  TimeInSeconds:
                    description: The nanosecond offset converted from `timeInSeconds`.
                      The valid range is between `0-999999999`. You can also specify
                      an expression.
                    type: string
                required:
                - TimeInSeconds
                type: object
              Value:
                additionalProperties: false
                description: A structure that contains an asset property value. For
                  more information, see [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html)
                  in the *AWS IoT SiteWise API Reference*.
                properties:
                  BooleanValue:
                    description: The asset property value is a Boolean value that
                      must be `TRUE` or `FALSE`. You can also specify an expression.
                      If you use an expression, the evaluated result should be a Boolean
                      value.
                    type: string
                  DoubleValue:
                    description: The asset property value is a double. You can also
                      specify an expression. If you use an expression, the evaluated
                      result should be a double.
                    type: string
                  IntegerValue:
                    description: The asset property value is an integer. You can also
                      specify an expression. If you use an expression, the evaluated
                      result should be an integer.
                    type: string
                  StringValue:
                    description: The asset property value is a string. You can also
                      specify an expression. If you use an expression, the evaluated
                      result should be a string.
                    type: string
                type: object
            required:
            - Value
            type: object
        required:
        - PropertyValue
        type: object
      IotTopicPublish:
        additionalProperties: false
        description: Information required to publish the MQTT message through the
          AWS IoT message broker.
        properties:
          MqttTopic:
            description: The MQTT topic of the message. You can use a string expression
              that includes variables (`$variable.<variable-name>`) and input values
              (`$input.<input-name>.<path-to-datum>`) as the topic string.
            maxLength: 128
            minLength: 1
            type: string
          Payload:
            additionalProperties: false
            description: 'Information needed to configure the payload.

              By default, AWS IoT Events generates a standard payload in JSON for
              any action. This action payload contains all attribute-value pairs that
              have the information about the detector model instance and the event
              triggered the action. To configure the action payload, you can use `contentExpression`.'
            properties:
              ContentExpression:
                description: The content of the payload. You can use a string expression
                  that includes quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                  input values (`$input.<input-name>.<path-to-datum>`), string concatenations,
                  and quoted strings that contain `${}` as the content. The recommended
                  maximum size of a content expression is 1 KB.
                minLength: 1
                type: string
              Type:
                description: The value of the payload type can be either `STRING`
                  or `JSON`.
                type: string
            required:
            - ContentExpression
            - Type
            type: object
        required:
        - MqttTopic
        type: object
      Lambda:
        additionalProperties: false
        properties:
          FunctionArn:
            description: The ARN of the Lambda function that is executed.
            maxLength: 2048
            minLength: 1
            type: string
          Payload:
            additionalProperties: false
            description: 'Information needed to configure the payload.

              By default, AWS IoT Events generates a standard payload in JSON for
              any action. This action payload contains all attribute-value pairs that
              have the information about the detector model instance and the event
              triggered the action. To configure the action payload, you can use `contentExpression`.'
            properties:
              ContentExpression:
                description: The content of the payload. You can use a string expression
                  that includes quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                  input values (`$input.<input-name>.<path-to-datum>`), string concatenations,
                  and quoted strings that contain `${}` as the content. The recommended
                  maximum size of a content expression is 1 KB.
                minLength: 1
                type: string
              Type:
                description: The value of the payload type can be either `STRING`
                  or `JSON`.
                type: string
            required:
            - ContentExpression
            - Type
            type: object
        required:
        - FunctionArn
        type: object
      ResetTimer:
        additionalProperties: false
        description: Information required to reset the timer. The timer is reset to
          the previously evaluated result of the duration. The duration expression
          isn't reevaluated when you reset the timer.
        properties:
          TimerName:
            description: The name of the timer to reset.
            maxLength: 128
            minLength: 1
            type: string
        required:
        - TimerName
        type: object
      SetTimer:
        additionalProperties: false
        description: Information needed to set the timer.
        properties:
          DurationExpression:
            description: The duration of the timer, in seconds. You can use a string
              expression that includes numbers, variables (`$variable.<variable-name>`),
              and input values (`$input.<input-name>.<path-to-datum>`) as the duration.
              The range of the duration is `1-31622400` seconds. To ensure accuracy,
              the minimum duration is `60` seconds. The evaluated result of the duration
              is rounded down to the nearest whole number.
            maxLength: 1024
            minLength: 1
            type: string
          Seconds:
            description: The number of seconds until the timer expires. The minimum
              value is `60` seconds to ensure accuracy. The maximum value is `31622400`
              seconds.
            maximum: 31622400
            minimum: 60
            type: integer
          TimerName:
            description: The name of the timer.
            maxLength: 128
            minLength: 1
            type: string
        required:
        - TimerName
        type: object
      SetVariable:
        additionalProperties: false
        description: Information about the variable and its new value.
        properties:
          Value:
            description: The new value of the variable.
            maxLength: 1024
            minLength: 1
            type: string
          VariableName:
            description: The name of the variable.
            maxLength: 128
            minLength: 1
            pattern: ^[a-zA-Z][a-zA-Z0-9_]*$
            type: string
        required:
        - Value
        - VariableName
        type: object
      Sns:
        additionalProperties: false
        description: Information required to publish the Amazon SNS message.
        properties:
          Payload:
            additionalProperties: false
            description: 'Information needed to configure the payload.

              By default, AWS IoT Events generates a standard payload in JSON for
              any action. This action payload contains all attribute-value pairs that
              have the information about the detector model instance and the event
              triggered the action. To configure the action payload, you can use `contentExpression`.'
            properties:
              ContentExpression:
                description: The content of the payload. You can use a string expression
                  that includes quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                  input values (`$input.<input-name>.<path-to-datum>`), string concatenations,
                  and quoted strings that contain `${}` as the content. The recommended
                  maximum size of a content expression is 1 KB.
                minLength: 1
                type: string
              Type:
                description: The value of the payload type can be either `STRING`
                  or `JSON`.
                type: string
            required:
            - ContentExpression
            - Type
            type: object
          TargetArn:
            description: The ARN of the Amazon SNS target where the message is sent.
            maxLength: 2048
            minLength: 1
            type: string
        required:
        - TargetArn
        type: object
      Sqs:
        additionalProperties: false
        properties:
          Payload:
            additionalProperties: false
            description: 'Information needed to configure the payload.

              By default, AWS IoT Events generates a standard payload in JSON for
              any action. This action payload contains all attribute-value pairs that
              have the information about the detector model instance and the event
              triggered the action. To configure the action payload, you can use `contentExpression`.'
            properties:
              ContentExpression:
                description: The content of the payload. You can use a string expression
                  that includes quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                  input values (`$input.<input-name>.<path-to-datum>`), string concatenations,
                  and quoted strings that contain `${}` as the content. The recommended
                  maximum size of a content expression is 1 KB.
                minLength: 1
                type: string
              Type:
                description: The value of the payload type can be either `STRING`
                  or `JSON`.
                type: string
            required:
            - ContentExpression
            - Type
            type: object
          QueueUrl:
            description: The URL of the SQS queue where the data is written.
            type: string
          UseBase64:
            description: Set this to `TRUE` if you want the data to be base-64 encoded
              before it is written to the queue. Otherwise, set this to `FALSE`.
            type: boolean
        required:
        - QueueUrl
        type: object
    type: object
  AssetPropertyTimestamp:
    additionalProperties: false
    description: A structure that contains timestamp information. For more information,
      see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html)
      in the *AWS IoT SiteWise API Reference*.
    properties:
      OffsetInNanos:
        description: The timestamp, in seconds, in the Unix epoch format. The valid
          range is between `1-31556889864403199`. You can also specify an expression.
        type: string
      TimeInSeconds:
        description: The nanosecond offset converted from `timeInSeconds`. The valid
          range is between `0-999999999`. You can also specify an expression.
        type: string
    required:
    - TimeInSeconds
    type: object
  AssetPropertyValue:
    additionalProperties: false
    description: A structure that contains value information. For more information,
      see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html)
      in the *AWS IoT SiteWise API Reference*.
    properties:
      Quality:
        description: The quality of the asset property value. The value must be `GOOD`,
          `BAD`, or `UNCERTAIN`. You can also specify an expression.
        type: string
      Timestamp:
        additionalProperties: false
        description: A structure that contains timestamp information. For more information,
          see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html)
          in the *AWS IoT SiteWise API Reference*.
        properties:
          OffsetInNanos:
            description: The timestamp, in seconds, in the Unix epoch format. The
              valid range is between `1-31556889864403199`. You can also specify an
              expression.
            type: string
          TimeInSeconds:
            description: The nanosecond offset converted from `timeInSeconds`. The
              valid range is between `0-999999999`. You can also specify an expression.
            type: string
        required:
        - TimeInSeconds
        type: object
      Value:
        additionalProperties: false
        description: A structure that contains an asset property value. For more information,
          see [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html)
          in the *AWS IoT SiteWise API Reference*.
        properties:
          BooleanValue:
            description: The asset property value is a Boolean value that must be
              `TRUE` or `FALSE`. You can also specify an expression. If you use an
              expression, the evaluated result should be a Boolean value.
            type: string
          DoubleValue:
            description: The asset property value is a double. You can also specify
              an expression. If you use an expression, the evaluated result should
              be a double.
            type: string
          IntegerValue:
            description: The asset property value is an integer. You can also specify
              an expression. If you use an expression, the evaluated result should
              be an integer.
            type: string
          StringValue:
            description: The asset property value is a string. You can also specify
              an expression. If you use an expression, the evaluated result should
              be a string.
            type: string
        type: object
    required:
    - Value
    type: object
  AssetPropertyVariant:
    additionalProperties: false
    description: A structure that contains an asset property value. For more information,
      see [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html)
      in the *AWS IoT SiteWise API Reference*.
    properties:
      BooleanValue:
        description: The asset property value is a Boolean value that must be `TRUE`
          or `FALSE`. You can also specify an expression. If you use an expression,
          the evaluated result should be a Boolean value.
        type: string
      DoubleValue:
        description: The asset property value is a double. You can also specify an
          expression. If you use an expression, the evaluated result should be a double.
        type: string
      IntegerValue:
        description: The asset property value is an integer. You can also specify
          an expression. If you use an expression, the evaluated result should be
          an integer.
        type: string
      StringValue:
        description: The asset property value is a string. You can also specify an
          expression. If you use an expression, the evaluated result should be a string.
        type: string
    type: object
  ClearTimer:
    additionalProperties: false
    description: Information needed to clear the timer.
    properties:
      TimerName:
        maxLength: 128
        minLength: 1
        type: string
    required:
    - TimerName
    type: object
  DetectorModelDefinition:
    additionalProperties: false
    description: Information that defines how a detector operates.
    properties:
      InitialStateName:
        description: The state that is entered at the creation of each detector (instance).
        maxLength: 128
        minLength: 1
        type: string
      States:
        description: Information about the states of the detector.
        insertionOrder: false
        items:
          additionalProperties: false
          description: Information that defines a state of a detector.
          properties:
            OnEnter:
              additionalProperties: false
              description: When entering this state, perform these `actions` if the
                `condition` is `TRUE`.
              properties:
                Events:
                  description: Specifies the `actions` that are performed when the
                    state is entered and the `condition` is `TRUE`.
                  insertionOrder: false
                  items:
                    additionalProperties: false
                    description: Specifies the `actions` to be performed when the
                      `condition` evaluates to `TRUE`.
                    properties:
                      Actions:
                        description: The actions to be performed.
                        insertionOrder: false
                        items:
                          additionalProperties: false
                          description: The actions to be performed.
                          properties:
                            ClearTimer:
                              additionalProperties: false
                              description: Information needed to clear the timer.
                              properties:
                                TimerName:
                                  maxLength: 128
                                  minLength: 1
                                  type: string
                              required:
                              - TimerName
                              type: object
                            DynamoDB:
                              additionalProperties: false
                              description: Writes to the DynamoDB table that you created.
                                The default action payload contains all attribute-value
                                pairs that have the information about the detector
                                model instance and the event that triggered the action.
                                You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
                                One column of the DynamoDB table receives all attribute-value
                                pairs in the payload that you specify. For more information,
                                see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html)
                                in *AWS IoT Events Developer Guide*.
                              properties:
                                HashKeyField:
                                  description: The name of the hash key (also called
                                    the partition key).
                                  type: string
                                HashKeyType:
                                  description: 'The data type for the hash key (also
                                    called the partition key). You can specify the
                                    following values:

                                    * `STRING` - The hash key is a string.

                                    * `NUMBER` - The hash key is a number.

                                    If you don''t specify `hashKeyType`, the default
                                    value is `STRING`.'
                                  type: string
                                HashKeyValue:
                                  description: The value of the hash key (also called
                                    the partition key).
                                  type: string
                                Operation:
                                  description: 'The type of operation to perform.
                                    You can specify the following values:

                                    * `INSERT` - Insert data as a new item into the
                                    DynamoDB table. This item uses the specified hash
                                    key as a partition key. If you specified a range
                                    key, the item uses the range key as a sort key.

                                    * `UPDATE` - Update an existing item of the DynamoDB
                                    table with new data. This item''s partition key
                                    must match the specified hash key. If you specified
                                    a range key, the range key must match the item''s
                                    sort key.

                                    * `DELETE` - Delete an existing item of the DynamoDB
                                    table. This item''s partition key must match the
                                    specified hash key. If you specified a range key,
                                    the range key must match the item''s sort key.

                                    If you don''t specify this parameter, AWS IoT
                                    Events triggers the `INSERT` operation.'
                                  type: string
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                                PayloadField:
                                  description: 'The name of the DynamoDB column that
                                    receives the action payload.

                                    If you don''t specify this parameter, the name
                                    of the DynamoDB column is `payload`.'
                                  type: string
                                RangeKeyField:
                                  description: The name of the range key (also called
                                    the sort key).
                                  type: string
                                RangeKeyType:
                                  description: 'The data type for the range key (also
                                    called the sort key), You can specify the following
                                    values:

                                    * `STRING` - The range key is a string.

                                    * `NUMBER` - The range key is number.

                                    If you don''t specify `rangeKeyField`, the default
                                    value is `STRING`.'
                                  type: string
                                RangeKeyValue:
                                  description: The value of the range key (also called
                                    the sort key).
                                  type: string
                                TableName:
                                  description: The name of the DynamoDB table.
                                  type: string
                              required:
                              - HashKeyField
                              - HashKeyValue
                              - TableName
                              type: object
                            DynamoDBv2:
                              additionalProperties: false
                              description: 'Defines an action to write to the Amazon
                                DynamoDB table that you created. The default action
                                payload contains all attribute-value pairs that have
                                the information about the detector model instance
                                and the event that triggered the action. You can also
                                customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
                                A separate column of the DynamoDB table receives one
                                attribute-value pair in the payload that you specify.

                                You can use expressions for parameters that are strings.
                                For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
                                in the *AWS IoT Events Developer Guide*.'
                              properties:
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                                TableName:
                                  description: The name of the DynamoDB table.
                                  type: string
                              required:
                              - TableName
                              type: object
                            Firehose:
                              additionalProperties: false
                              description: Sends information about the detector model
                                instance and the event that triggered the action to
                                an Amazon Kinesis Data Firehose delivery stream.
                              properties:
                                DeliveryStreamName:
                                  description: The name of the Kinesis Data Firehose
                                    delivery stream where the data is written.
                                  type: string
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                                Separator:
                                  description: 'A character separator that is used
                                    to separate records written to the Kinesis Data
                                    Firehose delivery stream. Valid values are: ''\n''
                                    (newline), ''\t'' (tab), ''\r\n'' (Windows newline),
                                    '','' (comma).'
                                  pattern: ([\n\t])|(\r\n)|(,)
                                  type: string
                              required:
                              - DeliveryStreamName
                              type: object
                            IotEvents:
                              additionalProperties: false
                              description: Sends an AWS IoT Events input, passing
                                in information about the detector model instance and
                                the event that triggered the action.
                              properties:
                                InputName:
                                  description: The name of the AWS IoT Events input
                                    where the data is sent.
                                  maxLength: 128
                                  minLength: 1
                                  pattern: ^[a-zA-Z][a-zA-Z0-9_]*$
                                  type: string
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                              required:
                              - InputName
                              type: object
                            IotSiteWise:
                              additionalProperties: false
                              description: Sends information about the detector model
                                instance and the event that triggered the action to
                                a specified asset property in AWS IoT SiteWise.
                              properties:
                                AssetId:
                                  description: The ID of the asset that has the specified
                                    property. You can specify an expression.
                                  type: string
                                EntryId:
                                  description: A unique identifier for this entry.
                                    You can use the entry ID to track which data entry
                                    causes an error in case of failure. The default
                                    is a new unique identifier. You can also specify
                                    an expression.
                                  type: string
                                PropertyAlias:
                                  description: The alias of the asset property. You
                                    can also specify an expression.
                                  type: string
                                PropertyId:
                                  description: The ID of the asset property. You can
                                    specify an expression.
                                  type: string
                                PropertyValue:
                                  additionalProperties: false
                                  description: A structure that contains value information.
                                    For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html)
                                    in the *AWS IoT SiteWise API Reference*.
                                  properties:
                                    Quality:
                                      description: The quality of the asset property
                                        value. The value must be `GOOD`, `BAD`, or
                                        `UNCERTAIN`. You can also specify an expression.
                                      type: string
                                    Timestamp:
                                      additionalProperties: false
                                      description: A structure that contains timestamp
                                        information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html)
                                        in the *AWS IoT SiteWise API Reference*.
                                      properties:
                                        OffsetInNanos:
                                          description: The timestamp, in seconds,
                                            in the Unix epoch format. The valid range
                                            is between `1-31556889864403199`. You
                                            can also specify an expression.
                                          type: string
                                        TimeInSeconds:
                                          description: The nanosecond offset converted
                                            from `timeInSeconds`. The valid range
                                            is between `0-999999999`. You can also
                                            specify an expression.
                                          type: string
                                      required:
                                      - TimeInSeconds
                                      type: object
                                    Value:
                                      additionalProperties: false
                                      description: A structure that contains an asset
                                        property value. For more information, see
                                        [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html)
                                        in the *AWS IoT SiteWise API Reference*.
                                      properties:
                                        BooleanValue:
                                          description: The asset property value is
                                            a Boolean value that must be `TRUE` or
                                            `FALSE`. You can also specify an expression.
                                            If you use an expression, the evaluated
                                            result should be a Boolean value.
                                          type: string
                                        DoubleValue:
                                          description: The asset property value is
                                            a double. You can also specify an expression.
                                            If you use an expression, the evaluated
                                            result should be a double.
                                          type: string
                                        IntegerValue:
                                          description: The asset property value is
                                            an integer. You can also specify an expression.
                                            If you use an expression, the evaluated
                                            result should be an integer.
                                          type: string
                                        StringValue:
                                          description: The asset property value is
                                            a string. You can also specify an expression.
                                            If you use an expression, the evaluated
                                            result should be a string.
                                          type: string
                                      type: object
                                  required:
                                  - Value
                                  type: object
                              required:
                              - PropertyValue
                              type: object
                            IotTopicPublish:
                              additionalProperties: false
                              description: Information required to publish the MQTT
                                message through the AWS IoT message broker.
                              properties:
                                MqttTopic:
                                  description: The MQTT topic of the message. You
                                    can use a string expression that includes variables
                                    (`$variable.<variable-name>`) and input values
                                    (`$input.<input-name>.<path-to-datum>`) as the
                                    topic string.
                                  maxLength: 128
                                  minLength: 1
                                  type: string
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                              required:
                              - MqttTopic
                              type: object
                            Lambda:
                              additionalProperties: false
                              properties:
                                FunctionArn:
                                  description: The ARN of the Lambda function that
                                    is executed.
                                  maxLength: 2048
                                  minLength: 1
                                  type: string
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                              required:
                              - FunctionArn
                              type: object
                            ResetTimer:
                              additionalProperties: false
                              description: Information required to reset the timer.
                                The timer is reset to the previously evaluated result
                                of the duration. The duration expression isn't reevaluated
                                when you reset the timer.
                              properties:
                                TimerName:
                                  description: The name of the timer to reset.
                                  maxLength: 128
                                  minLength: 1
                                  type: string
                              required:
                              - TimerName
                              type: object
                            SetTimer:
                              additionalProperties: false
                              description: Information needed to set the timer.
                              properties:
                                DurationExpression:
                                  description: The duration of the timer, in seconds.
                                    You can use a string expression that includes
                                    numbers, variables (`$variable.<variable-name>`),
                                    and input values (`$input.<input-name>.<path-to-datum>`)
                                    as the duration. The range of the duration is
                                    `1-31622400` seconds. To ensure accuracy, the
                                    minimum duration is `60` seconds. The evaluated
                                    result of the duration is rounded down to the
                                    nearest whole number.
                                  maxLength: 1024
                                  minLength: 1
                                  type: string
                                Seconds:
                                  description: The number of seconds until the timer
                                    expires. The minimum value is `60` seconds to
                                    ensure accuracy. The maximum value is `31622400`
                                    seconds.
                                  maximum: 31622400
                                  minimum: 60
                                  type: integer
                                TimerName:
                                  description: The name of the timer.
                                  maxLength: 128
                                  minLength: 1
                                  type: string
                              required:
                              - TimerName
                              type: object
                            SetVariable:
                              additionalProperties: false
                              description: Information about the variable and its
                                new value.
                              properties:
                                Value:
                                  description: The new value of the variable.
                                  maxLength: 1024
                                  minLength: 1
                                  type: string
                                VariableName:
                                  description: The name of the variable.
                                  maxLength: 128
                                  minLength: 1
                                  pattern: ^[a-zA-Z][a-zA-Z0-9_]*$
                                  type: string
                              required:
                              - Value
                              - VariableName
                              type: object
                            Sns:
                              additionalProperties: false
                              description: Information required to publish the Amazon
                                SNS message.
                              properties:
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                                TargetArn:
                                  description: The ARN of the Amazon SNS target where
                                    the message is sent.
                                  maxLength: 2048
                                  minLength: 1
                                  type: string
                              required:
                              - TargetArn
                              type: object
                            Sqs:
                              additionalProperties: false
                              properties:
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                                QueueUrl:
                                  description: The URL of the SQS queue where the
                                    data is written.
                                  type: string
                                UseBase64:
                                  description: Set this to `TRUE` if you want the
                                    data to be base-64 encoded before it is written
                                    to the queue. Otherwise, set this to `FALSE`.
                                  type: boolean
                              required:
                              - QueueUrl
                              type: object
                          type: object
                        type: array
                        uniqueItems: false
                      Condition:
                        description: The Boolean expression that, when `TRUE`, causes
                          the `actions` to be performed. If not present, the `actions`
                          are performed (=`TRUE`). If the expression result is not
                          a `Boolean` value, the `actions` are not performed (=`FALSE`).
                        maxLength: 512
                        type: string
                      EventName:
                        description: The name of the event.
                        maxLength: 128
                        type: string
                    required:
                    - EventName
                    type: object
                  type: array
                  uniqueItems: false
              type: object
            OnExit:
              additionalProperties: false
              description: When exiting this state, perform these `actions` if the
                specified `condition` is `TRUE`.
              properties:
                Events:
                  description: Specifies the `actions` that are performed when the
                    state is exited and the `condition` is `TRUE`.
                  insertionOrder: false
                  items:
                    additionalProperties: false
                    description: Specifies the `actions` to be performed when the
                      `condition` evaluates to `TRUE`.
                    properties:
                      Actions:
                        description: The actions to be performed.
                        insertionOrder: false
                        items:
                          additionalProperties: false
                          description: The actions to be performed.
                          properties:
                            ClearTimer:
                              additionalProperties: false
                              description: Information needed to clear the timer.
                              properties:
                                TimerName:
                                  maxLength: 128
                                  minLength: 1
                                  type: string
                              required:
                              - TimerName
                              type: object
                            DynamoDB:
                              additionalProperties: false
                              description: Writes to the DynamoDB table that you created.
                                The default action payload contains all attribute-value
                                pairs that have the information about the detector
                                model instance and the event that triggered the action.
                                You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
                                One column of the DynamoDB table receives all attribute-value
                                pairs in the payload that you specify. For more information,
                                see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html)
                                in *AWS IoT Events Developer Guide*.
                              properties:
                                HashKeyField:
                                  description: The name of the hash key (also called
                                    the partition key).
                                  type: string
                                HashKeyType:
                                  description: 'The data type for the hash key (also
                                    called the partition key). You can specify the
                                    following values:

                                    * `STRING` - The hash key is a string.

                                    * `NUMBER` - The hash key is a number.

                                    If you don''t specify `hashKeyType`, the default
                                    value is `STRING`.'
                                  type: string
                                HashKeyValue:
                                  description: The value of the hash key (also called
                                    the partition key).
                                  type: string
                                Operation:
                                  description: 'The type of operation to perform.
                                    You can specify the following values:

                                    * `INSERT` - Insert data as a new item into the
                                    DynamoDB table. This item uses the specified hash
                                    key as a partition key. If you specified a range
                                    key, the item uses the range key as a sort key.

                                    * `UPDATE` - Update an existing item of the DynamoDB
                                    table with new data. This item''s partition key
                                    must match the specified hash key. If you specified
                                    a range key, the range key must match the item''s
                                    sort key.

                                    * `DELETE` - Delete an existing item of the DynamoDB
                                    table. This item''s partition key must match the
                                    specified hash key. If you specified a range key,
                                    the range key must match the item''s sort key.

                                    If you don''t specify this parameter, AWS IoT
                                    Events triggers the `INSERT` operation.'
                                  type: string
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                                PayloadField:
                                  description: 'The name of the DynamoDB column that
                                    receives the action payload.

                                    If you don''t specify this parameter, the name
                                    of the DynamoDB column is `payload`.'
                                  type: string
                                RangeKeyField:
                                  description: The name of the range key (also called
                                    the sort key).
                                  type: string
                                RangeKeyType:
                                  description: 'The data type for the range key (also
                                    called the sort key), You can specify the following
                                    values:

                                    * `STRING` - The range key is a string.

                                    * `NUMBER` - The range key is number.

                                    If you don''t specify `rangeKeyField`, the default
                                    value is `STRING`.'
                                  type: string
                                RangeKeyValue:
                                  description: The value of the range key (also called
                                    the sort key).
                                  type: string
                                TableName:
                                  description: The name of the DynamoDB table.
                                  type: string
                              required:
                              - HashKeyField
                              - HashKeyValue
                              - TableName
                              type: object
                            DynamoDBv2:
                              additionalProperties: false
                              description: 'Defines an action to write to the Amazon
                                DynamoDB table that you created. The default action
                                payload contains all attribute-value pairs that have
                                the information about the detector model instance
                                and the event that triggered the action. You can also
                                customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
                                A separate column of the DynamoDB table receives one
                                attribute-value pair in the payload that you specify.

                                You can use expressions for parameters that are strings.
                                For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
                                in the *AWS IoT Events Developer Guide*.'
                              properties:
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                                TableName:
                                  description: The name of the DynamoDB table.
                                  type: string
                              required:
                              - TableName
                              type: object
                            Firehose:
                              additionalProperties: false
                              description: Sends information about the detector model
                                instance and the event that triggered the action to
                                an Amazon Kinesis Data Firehose delivery stream.
                              properties:
                                DeliveryStreamName:
                                  description: The name of the Kinesis Data Firehose
                                    delivery stream where the data is written.
                                  type: string
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                                Separator:
                                  description: 'A character separator that is used
                                    to separate records written to the Kinesis Data
                                    Firehose delivery stream. Valid values are: ''\n''
                                    (newline), ''\t'' (tab), ''\r\n'' (Windows newline),
                                    '','' (comma).'
                                  pattern: ([\n\t])|(\r\n)|(,)
                                  type: string
                              required:
                              - DeliveryStreamName
                              type: object
                            IotEvents:
                              additionalProperties: false
                              description: Sends an AWS IoT Events input, passing
                                in information about the detector model instance and
                                the event that triggered the action.
                              properties:
                                InputName:
                                  description: The name of the AWS IoT Events input
                                    where the data is sent.
                                  maxLength: 128
                                  minLength: 1
                                  pattern: ^[a-zA-Z][a-zA-Z0-9_]*$
                                  type: string
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                              required:
                              - InputName
                              type: object
                            IotSiteWise:
                              additionalProperties: false
                              description: Sends information about the detector model
                                instance and the event that triggered the action to
                                a specified asset property in AWS IoT SiteWise.
                              properties:
                                AssetId:
                                  description: The ID of the asset that has the specified
                                    property. You can specify an expression.
                                  type: string
                                EntryId:
                                  description: A unique identifier for this entry.
                                    You can use the entry ID to track which data entry
                                    causes an error in case of failure. The default
                                    is a new unique identifier. You can also specify
                                    an expression.
                                  type: string
                                PropertyAlias:
                                  description: The alias of the asset property. You
                                    can also specify an expression.
                                  type: string
                                PropertyId:
                                  description: The ID of the asset property. You can
                                    specify an expression.
                                  type: string
                                PropertyValue:
                                  additionalProperties: false
                                  description: A structure that contains value information.
                                    For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html)
                                    in the *AWS IoT SiteWise API Reference*.
                                  properties:
                                    Quality:
                                      description: The quality of the asset property
                                        value. The value must be `GOOD`, `BAD`, or
                                        `UNCERTAIN`. You can also specify an expression.
                                      type: string
                                    Timestamp:
                                      additionalProperties: false
                                      description: A structure that contains timestamp
                                        information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html)
                                        in the *AWS IoT SiteWise API Reference*.
                                      properties:
                                        OffsetInNanos:
                                          description: The timestamp, in seconds,
                                            in the Unix epoch format. The valid range
                                            is between `1-31556889864403199`. You
                                            can also specify an expression.
                                          type: string
                                        TimeInSeconds:
                                          description: The nanosecond offset converted
                                            from `timeInSeconds`. The valid range
                                            is between `0-999999999`. You can also
                                            specify an expression.
                                          type: string
                                      required:
                                      - TimeInSeconds
                                      type: object
                                    Value:
                                      additionalProperties: false
                                      description: A structure that contains an asset
                                        property value. For more information, see
                                        [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html)
                                        in the *AWS IoT SiteWise API Reference*.
                                      properties:
                                        BooleanValue:
                                          description: The asset property value is
                                            a Boolean value that must be `TRUE` or
                                            `FALSE`. You can also specify an expression.
                                            If you use an expression, the evaluated
                                            result should be a Boolean value.
                                          type: string
                                        DoubleValue:
                                          description: The asset property value is
                                            a double. You can also specify an expression.
                                            If you use an expression, the evaluated
                                            result should be a double.
                                          type: string
                                        IntegerValue:
                                          description: The asset property value is
                                            an integer. You can also specify an expression.
                                            If you use an expression, the evaluated
                                            result should be an integer.
                                          type: string
                                        StringValue:
                                          description: The asset property value is
                                            a string. You can also specify an expression.
                                            If you use an expression, the evaluated
                                            result should be a string.
                                          type: string
                                      type: object
                                  required:
                                  - Value
                                  type: object
                              required:
                              - PropertyValue
                              type: object
                            IotTopicPublish:
                              additionalProperties: false
                              description: Information required to publish the MQTT
                                message through the AWS IoT message broker.
                              properties:
                                MqttTopic:
                                  description: The MQTT topic of the message. You
                                    can use a string expression that includes variables
                                    (`$variable.<variable-name>`) and input values
                                    (`$input.<input-name>.<path-to-datum>`) as the
                                    topic string.
                                  maxLength: 128
                                  minLength: 1
                                  type: string
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                              required:
                              - MqttTopic
                              type: object
                            Lambda:
                              additionalProperties: false
                              properties:
                                FunctionArn:
                                  description: The ARN of the Lambda function that
                                    is executed.
                                  maxLength: 2048
                                  minLength: 1
                                  type: string
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                              required:
                              - FunctionArn
                              type: object
                            ResetTimer:
                              additionalProperties: false
                              description: Information required to reset the timer.
                                The timer is reset to the previously evaluated result
                                of the duration. The duration expression isn't reevaluated
                                when you reset the timer.
                              properties:
                                TimerName:
                                  description: The name of the timer to reset.
                                  maxLength: 128
                                  minLength: 1
                                  type: string
                              required:
                              - TimerName
                              type: object
                            SetTimer:
                              additionalProperties: false
                              description: Information needed to set the timer.
                              properties:
                                DurationExpression:
                                  description: The duration of the timer, in seconds.
                                    You can use a string expression that includes
                                    numbers, variables (`$variable.<variable-name>`),
                                    and input values (`$input.<input-name>.<path-to-datum>`)
                                    as the duration. The range of the duration is
                                    `1-31622400` seconds. To ensure accuracy, the
                                    minimum duration is `60` seconds. The evaluated
                                    result of the duration is rounded down to the
                                    nearest whole number.
                                  maxLength: 1024
                                  minLength: 1
                                  type: string
                                Seconds:
                                  description: The number of seconds until the timer
                                    expires. The minimum value is `60` seconds to
                                    ensure accuracy. The maximum value is `31622400`
                                    seconds.
                                  maximum: 31622400
                                  minimum: 60
                                  type: integer
                                TimerName:
                                  description: The name of the timer.
                                  maxLength: 128
                                  minLength: 1
                                  type: string
                              required:
                              - TimerName
                              type: object
                            SetVariable:
                              additionalProperties: false
                              description: Information about the variable and its
                                new value.
                              properties:
                                Value:
                                  description: The new value of the variable.
                                  maxLength: 1024
                                  minLength: 1
                                  type: string
                                VariableName:
                                  description: The name of the variable.
                                  maxLength: 128
                                  minLength: 1
                                  pattern: ^[a-zA-Z][a-zA-Z0-9_]*$
                                  type: string
                              required:
                              - Value
                              - VariableName
                              type: object
                            Sns:
                              additionalProperties: false
                              description: Information required to publish the Amazon
                                SNS message.
                              properties:
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                                TargetArn:
                                  description: The ARN of the Amazon SNS target where
                                    the message is sent.
                                  maxLength: 2048
                                  minLength: 1
                                  type: string
                              required:
                              - TargetArn
                              type: object
                            Sqs:
                              additionalProperties: false
                              properties:
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                                QueueUrl:
                                  description: The URL of the SQS queue where the
                                    data is written.
                                  type: string
                                UseBase64:
                                  description: Set this to `TRUE` if you want the
                                    data to be base-64 encoded before it is written
                                    to the queue. Otherwise, set this to `FALSE`.
                                  type: boolean
                              required:
                              - QueueUrl
                              type: object
                          type: object
                        type: array
                        uniqueItems: false
                      Condition:
                        description: The Boolean expression that, when `TRUE`, causes
                          the `actions` to be performed. If not present, the `actions`
                          are performed (=`TRUE`). If the expression result is not
                          a `Boolean` value, the `actions` are not performed (=`FALSE`).
                        maxLength: 512
                        type: string
                      EventName:
                        description: The name of the event.
                        maxLength: 128
                        type: string
                    required:
                    - EventName
                    type: object
                  type: array
                  uniqueItems: false
              type: object
            OnInput:
              additionalProperties: false
              description: When an input is received and the `condition` is `TRUE`,
                perform the specified `actions`.
              properties:
                Events:
                  description: Specifies the `actions` performed when the `condition`
                    evaluates to `TRUE`.
                  insertionOrder: false
                  items:
                    additionalProperties: false
                    description: Specifies the `actions` to be performed when the
                      `condition` evaluates to `TRUE`.
                    properties:
                      Actions:
                        description: The actions to be performed.
                        insertionOrder: false
                        items:
                          additionalProperties: false
                          description: The actions to be performed.
                          properties:
                            ClearTimer:
                              additionalProperties: false
                              description: Information needed to clear the timer.
                              properties:
                                TimerName:
                                  maxLength: 128
                                  minLength: 1
                                  type: string
                              required:
                              - TimerName
                              type: object
                            DynamoDB:
                              additionalProperties: false
                              description: Writes to the DynamoDB table that you created.
                                The default action payload contains all attribute-value
                                pairs that have the information about the detector
                                model instance and the event that triggered the action.
                                You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
                                One column of the DynamoDB table receives all attribute-value
                                pairs in the payload that you specify. For more information,
                                see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html)
                                in *AWS IoT Events Developer Guide*.
                              properties:
                                HashKeyField:
                                  description: The name of the hash key (also called
                                    the partition key).
                                  type: string
                                HashKeyType:
                                  description: 'The data type for the hash key (also
                                    called the partition key). You can specify the
                                    following values:

                                    * `STRING` - The hash key is a string.

                                    * `NUMBER` - The hash key is a number.

                                    If you don''t specify `hashKeyType`, the default
                                    value is `STRING`.'
                                  type: string
                                HashKeyValue:
                                  description: The value of the hash key (also called
                                    the partition key).
                                  type: string
                                Operation:
                                  description: 'The type of operation to perform.
                                    You can specify the following values:

                                    * `INSERT` - Insert data as a new item into the
                                    DynamoDB table. This item uses the specified hash
                                    key as a partition key. If you specified a range
                                    key, the item uses the range key as a sort key.

                                    * `UPDATE` - Update an existing item of the DynamoDB
                                    table with new data. This item''s partition key
                                    must match the specified hash key. If you specified
                                    a range key, the range key must match the item''s
                                    sort key.

                                    * `DELETE` - Delete an existing item of the DynamoDB
                                    table. This item''s partition key must match the
                                    specified hash key. If you specified a range key,
                                    the range key must match the item''s sort key.

                                    If you don''t specify this parameter, AWS IoT
                                    Events triggers the `INSERT` operation.'
                                  type: string
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                                PayloadField:
                                  description: 'The name of the DynamoDB column that
                                    receives the action payload.

                                    If you don''t specify this parameter, the name
                                    of the DynamoDB column is `payload`.'
                                  type: string
                                RangeKeyField:
                                  description: The name of the range key (also called
                                    the sort key).
                                  type: string
                                RangeKeyType:
                                  description: 'The data type for the range key (also
                                    called the sort key), You can specify the following
                                    values:

                                    * `STRING` - The range key is a string.

                                    * `NUMBER` - The range key is number.

                                    If you don''t specify `rangeKeyField`, the default
                                    value is `STRING`.'
                                  type: string
                                RangeKeyValue:
                                  description: The value of the range key (also called
                                    the sort key).
                                  type: string
                                TableName:
                                  description: The name of the DynamoDB table.
                                  type: string
                              required:
                              - HashKeyField
                              - HashKeyValue
                              - TableName
                              type: object
                            DynamoDBv2:
                              additionalProperties: false
                              description: 'Defines an action to write to the Amazon
                                DynamoDB table that you created. The default action
                                payload contains all attribute-value pairs that have
                                the information about the detector model instance
                                and the event that triggered the action. You can also
                                customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
                                A separate column of the DynamoDB table receives one
                                attribute-value pair in the payload that you specify.

                                You can use expressions for parameters that are strings.
                                For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
                                in the *AWS IoT Events Developer Guide*.'
                              properties:
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                                TableName:
                                  description: The name of the DynamoDB table.
                                  type: string
                              required:
                              - TableName
                              type: object
                            Firehose:
                              additionalProperties: false
                              description: Sends information about the detector model
                                instance and the event that triggered the action to
                                an Amazon Kinesis Data Firehose delivery stream.
                              properties:
                                DeliveryStreamName:
                                  description: The name of the Kinesis Data Firehose
                                    delivery stream where the data is written.
                                  type: string
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                                Separator:
                                  description: 'A character separator that is used
                                    to separate records written to the Kinesis Data
                                    Firehose delivery stream. Valid values are: ''\n''
                                    (newline), ''\t'' (tab), ''\r\n'' (Windows newline),
                                    '','' (comma).'
                                  pattern: ([\n\t])|(\r\n)|(,)
                                  type: string
                              required:
                              - DeliveryStreamName
                              type: object
                            IotEvents:
                              additionalProperties: false
                              description: Sends an AWS IoT Events input, passing
                                in information about the detector model instance and
                                the event that triggered the action.
                              properties:
                                InputName:
                                  description: The name of the AWS IoT Events input
                                    where the data is sent.
                                  maxLength: 128
                                  minLength: 1
                                  pattern: ^[a-zA-Z][a-zA-Z0-9_]*$
                                  type: string
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                              required:
                              - InputName
                              type: object
                            IotSiteWise:
                              additionalProperties: false
                              description: Sends information about the detector model
                                instance and the event that triggered the action to
                                a specified asset property in AWS IoT SiteWise.
                              properties:
                                AssetId:
                                  description: The ID of the asset that has the specified
                                    property. You can specify an expression.
                                  type: string
                                EntryId:
                                  description: A unique identifier for this entry.
                                    You can use the entry ID to track which data entry
                                    causes an error in case of failure. The default
                                    is a new unique identifier. You can also specify
                                    an expression.
                                  type: string
                                PropertyAlias:
                                  description: The alias of the asset property. You
                                    can also specify an expression.
                                  type: string
                                PropertyId:
                                  description: The ID of the asset property. You can
                                    specify an expression.
                                  type: string
                                PropertyValue:
                                  additionalProperties: false
                                  description: A structure that contains value information.
                                    For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html)
                                    in the *AWS IoT SiteWise API Reference*.
                                  properties:
                                    Quality:
                                      description: The quality of the asset property
                                        value. The value must be `GOOD`, `BAD`, or
                                        `UNCERTAIN`. You can also specify an expression.
                                      type: string
                                    Timestamp:
                                      additionalProperties: false
                                      description: A structure that contains timestamp
                                        information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html)
                                        in the *AWS IoT SiteWise API Reference*.
                                      properties:
                                        OffsetInNanos:
                                          description: The timestamp, in seconds,
                                            in the Unix epoch format. The valid range
                                            is between `1-31556889864403199`. You
                                            can also specify an expression.
                                          type: string
                                        TimeInSeconds:
                                          description: The nanosecond offset converted
                                            from `timeInSeconds`. The valid range
                                            is between `0-999999999`. You can also
                                            specify an expression.
                                          type: string
                                      required:
                                      - TimeInSeconds
                                      type: object
                                    Value:
                                      additionalProperties: false
                                      description: A structure that contains an asset
                                        property value. For more information, see
                                        [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html)
                                        in the *AWS IoT SiteWise API Reference*.
                                      properties:
                                        BooleanValue:
                                          description: The asset property value is
                                            a Boolean value that must be `TRUE` or
                                            `FALSE`. You can also specify an expression.
                                            If you use an expression, the evaluated
                                            result should be a Boolean value.
                                          type: string
                                        DoubleValue:
                                          description: The asset property value is
                                            a double. You can also specify an expression.
                                            If you use an expression, the evaluated
                                            result should be a double.
                                          type: string
                                        IntegerValue:
                                          description: The asset property value is
                                            an integer. You can also specify an expression.
                                            If you use an expression, the evaluated
                                            result should be an integer.
                                          type: string
                                        StringValue:
                                          description: The asset property value is
                                            a string. You can also specify an expression.
                                            If you use an expression, the evaluated
                                            result should be a string.
                                          type: string
                                      type: object
                                  required:
                                  - Value
                                  type: object
                              required:
                              - PropertyValue
                              type: object
                            IotTopicPublish:
                              additionalProperties: false
                              description: Information required to publish the MQTT
                                message through the AWS IoT message broker.
                              properties:
                                MqttTopic:
                                  description: The MQTT topic of the message. You
                                    can use a string expression that includes variables
                                    (`$variable.<variable-name>`) and input values
                                    (`$input.<input-name>.<path-to-datum>`) as the
                                    topic string.
                                  maxLength: 128
                                  minLength: 1
                                  type: string
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                              required:
                              - MqttTopic
                              type: object
                            Lambda:
                              additionalProperties: false
                              properties:
                                FunctionArn:
                                  description: The ARN of the Lambda function that
                                    is executed.
                                  maxLength: 2048
                                  minLength: 1
                                  type: string
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                              required:
                              - FunctionArn
                              type: object
                            ResetTimer:
                              additionalProperties: false
                              description: Information required to reset the timer.
                                The timer is reset to the previously evaluated result
                                of the duration. The duration expression isn't reevaluated
                                when you reset the timer.
                              properties:
                                TimerName:
                                  description: The name of the timer to reset.
                                  maxLength: 128
                                  minLength: 1
                                  type: string
                              required:
                              - TimerName
                              type: object
                            SetTimer:
                              additionalProperties: false
                              description: Information needed to set the timer.
                              properties:
                                DurationExpression:
                                  description: The duration of the timer, in seconds.
                                    You can use a string expression that includes
                                    numbers, variables (`$variable.<variable-name>`),
                                    and input values (`$input.<input-name>.<path-to-datum>`)
                                    as the duration. The range of the duration is
                                    `1-31622400` seconds. To ensure accuracy, the
                                    minimum duration is `60` seconds. The evaluated
                                    result of the duration is rounded down to the
                                    nearest whole number.
                                  maxLength: 1024
                                  minLength: 1
                                  type: string
                                Seconds:
                                  description: The number of seconds until the timer
                                    expires. The minimum value is `60` seconds to
                                    ensure accuracy. The maximum value is `31622400`
                                    seconds.
                                  maximum: 31622400
                                  minimum: 60
                                  type: integer
                                TimerName:
                                  description: The name of the timer.
                                  maxLength: 128
                                  minLength: 1
                                  type: string
                              required:
                              - TimerName
                              type: object
                            SetVariable:
                              additionalProperties: false
                              description: Information about the variable and its
                                new value.
                              properties:
                                Value:
                                  description: The new value of the variable.
                                  maxLength: 1024
                                  minLength: 1
                                  type: string
                                VariableName:
                                  description: The name of the variable.
                                  maxLength: 128
                                  minLength: 1
                                  pattern: ^[a-zA-Z][a-zA-Z0-9_]*$
                                  type: string
                              required:
                              - Value
                              - VariableName
                              type: object
                            Sns:
                              additionalProperties: false
                              description: Information required to publish the Amazon
                                SNS message.
                              properties:
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                                TargetArn:
                                  description: The ARN of the Amazon SNS target where
                                    the message is sent.
                                  maxLength: 2048
                                  minLength: 1
                                  type: string
                              required:
                              - TargetArn
                              type: object
                            Sqs:
                              additionalProperties: false
                              properties:
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                                QueueUrl:
                                  description: The URL of the SQS queue where the
                                    data is written.
                                  type: string
                                UseBase64:
                                  description: Set this to `TRUE` if you want the
                                    data to be base-64 encoded before it is written
                                    to the queue. Otherwise, set this to `FALSE`.
                                  type: boolean
                              required:
                              - QueueUrl
                              type: object
                          type: object
                        type: array
                        uniqueItems: false
                      Condition:
                        description: The Boolean expression that, when `TRUE`, causes
                          the `actions` to be performed. If not present, the `actions`
                          are performed (=`TRUE`). If the expression result is not
                          a `Boolean` value, the `actions` are not performed (=`FALSE`).
                        maxLength: 512
                        type: string
                      EventName:
                        description: The name of the event.
                        maxLength: 128
                        type: string
                    required:
                    - EventName
                    type: object
                  type: array
                  uniqueItems: false
                TransitionEvents:
                  description: Specifies the `actions` performed, and the next `state`
                    entered, when a `condition` evaluates to `TRUE`.
                  insertionOrder: true
                  items:
                    additionalProperties: false
                    description: Specifies the `actions `performed and the next `state`
                      entered when a `condition` evaluates to `TRUE`.
                    properties:
                      Actions:
                        description: The actions to be performed.
                        insertionOrder: false
                        items:
                          additionalProperties: false
                          description: The actions to be performed.
                          properties:
                            ClearTimer:
                              additionalProperties: false
                              description: Information needed to clear the timer.
                              properties:
                                TimerName:
                                  maxLength: 128
                                  minLength: 1
                                  type: string
                              required:
                              - TimerName
                              type: object
                            DynamoDB:
                              additionalProperties: false
                              description: Writes to the DynamoDB table that you created.
                                The default action payload contains all attribute-value
                                pairs that have the information about the detector
                                model instance and the event that triggered the action.
                                You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
                                One column of the DynamoDB table receives all attribute-value
                                pairs in the payload that you specify. For more information,
                                see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html)
                                in *AWS IoT Events Developer Guide*.
                              properties:
                                HashKeyField:
                                  description: The name of the hash key (also called
                                    the partition key).
                                  type: string
                                HashKeyType:
                                  description: 'The data type for the hash key (also
                                    called the partition key). You can specify the
                                    following values:

                                    * `STRING` - The hash key is a string.

                                    * `NUMBER` - The hash key is a number.

                                    If you don''t specify `hashKeyType`, the default
                                    value is `STRING`.'
                                  type: string
                                HashKeyValue:
                                  description: The value of the hash key (also called
                                    the partition key).
                                  type: string
                                Operation:
                                  description: 'The type of operation to perform.
                                    You can specify the following values:

                                    * `INSERT` - Insert data as a new item into the
                                    DynamoDB table. This item uses the specified hash
                                    key as a partition key. If you specified a range
                                    key, the item uses the range key as a sort key.

                                    * `UPDATE` - Update an existing item of the DynamoDB
                                    table with new data. This item''s partition key
                                    must match the specified hash key. If you specified
                                    a range key, the range key must match the item''s
                                    sort key.

                                    * `DELETE` - Delete an existing item of the DynamoDB
                                    table. This item''s partition key must match the
                                    specified hash key. If you specified a range key,
                                    the range key must match the item''s sort key.

                                    If you don''t specify this parameter, AWS IoT
                                    Events triggers the `INSERT` operation.'
                                  type: string
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                                PayloadField:
                                  description: 'The name of the DynamoDB column that
                                    receives the action payload.

                                    If you don''t specify this parameter, the name
                                    of the DynamoDB column is `payload`.'
                                  type: string
                                RangeKeyField:
                                  description: The name of the range key (also called
                                    the sort key).
                                  type: string
                                RangeKeyType:
                                  description: 'The data type for the range key (also
                                    called the sort key), You can specify the following
                                    values:

                                    * `STRING` - The range key is a string.

                                    * `NUMBER` - The range key is number.

                                    If you don''t specify `rangeKeyField`, the default
                                    value is `STRING`.'
                                  type: string
                                RangeKeyValue:
                                  description: The value of the range key (also called
                                    the sort key).
                                  type: string
                                TableName:
                                  description: The name of the DynamoDB table.
                                  type: string
                              required:
                              - HashKeyField
                              - HashKeyValue
                              - TableName
                              type: object
                            DynamoDBv2:
                              additionalProperties: false
                              description: 'Defines an action to write to the Amazon
                                DynamoDB table that you created. The default action
                                payload contains all attribute-value pairs that have
                                the information about the detector model instance
                                and the event that triggered the action. You can also
                                customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html).
                                A separate column of the DynamoDB table receives one
                                attribute-value pair in the payload that you specify.

                                You can use expressions for parameters that are strings.
                                For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)
                                in the *AWS IoT Events Developer Guide*.'
                              properties:
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                                TableName:
                                  description: The name of the DynamoDB table.
                                  type: string
                              required:
                              - TableName
                              type: object
                            Firehose:
                              additionalProperties: false
                              description: Sends information about the detector model
                                instance and the event that triggered the action to
                                an Amazon Kinesis Data Firehose delivery stream.
                              properties:
                                DeliveryStreamName:
                                  description: The name of the Kinesis Data Firehose
                                    delivery stream where the data is written.
                                  type: string
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                                Separator:
                                  description: 'A character separator that is used
                                    to separate records written to the Kinesis Data
                                    Firehose delivery stream. Valid values are: ''\n''
                                    (newline), ''\t'' (tab), ''\r\n'' (Windows newline),
                                    '','' (comma).'
                                  pattern: ([\n\t])|(\r\n)|(,)
                                  type: string
                              required:
                              - DeliveryStreamName
                              type: object
                            IotEvents:
                              additionalProperties: false
                              description: Sends an AWS IoT Events input, passing
                                in information about the detector model instance and
                                the event that triggered the action.
                              properties:
                                InputName:
                                  description: The name of the AWS IoT Events input
                                    where the data is sent.
                                  maxLength: 128
                                  minLength: 1
                                  pattern: ^[a-zA-Z][a-zA-Z0-9_]*$
                                  type: string
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.
                                      minLength: 1
                                      type: string
                                    Type:
                                      description: The value of the payload type can
                                        be either `STRING` or `JSON`.
                                      type: string
                                  required:
                                  - ContentExpression
                                  - Type
                                  type: object
                              required:
                              - InputName
                              type: object
                            IotSiteWise:
                              additionalProperties: false
                              description: Sends information about the detector model
                                instance and the event that triggered the action to
                                a specified asset property in AWS IoT SiteWise.
                              properties:
                                AssetId:
                                  description: The ID of the asset that has the specified
                                    property. You can specify an expression.
                                  type: string
                                EntryId:
                                  description: A unique identifier for this entry.
                                    You can use the entry ID to track which data entry
                                    causes an error in case of failure. The default
                                    is a new unique identifier. You can also specify
                                    an expression.
                                  type: string
                                PropertyAlias:
                                  description: The alias of the asset property. You
                                    can also specify an expression.
                                  type: string
                                PropertyId:
                                  description: The ID of the asset property. You can
                                    specify an expression.
                                  type: string
                                PropertyValue:
                                  additionalProperties: false
                                  description: A structure that contains value information.
                                    For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html)
                                    in the *AWS IoT SiteWise API Reference*.
                                  properties:
                                    Quality:
                                      description: The quality of the asset property
                                        value. The value must be `GOOD`, `BAD`, or
                                        `UNCERTAIN`. You can also specify an expression.
                                      type: string
                                    Timestamp:
                                      additionalProperties: false
                                      description: A structure that contains timestamp
                                        information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html)
                                        in the *AWS IoT SiteWise API Reference*.
                                      properties:
                                        OffsetInNanos:
                                          description: The timestamp, in seconds,
                                            in the Unix epoch format. The valid range
                                            is between `1-31556889864403199`. You
                                            can also specify an expression.
                                          type: string
                                        TimeInSeconds:
                                          description: The nanosecond offset converted
                                            from `timeInSeconds`. The valid range
                                            is between `0-999999999`. You can also
                                            specify an expression.
                                          type: string
                                      required:
                                      - TimeInSeconds
                                      type: object
                                    Value:
                                      additionalProperties: false
                                      description: A structure that contains an asset
                                        property value. For more information, see
                                        [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html)
                                        in the *AWS IoT SiteWise API Reference*.
                                      properties:
                                        BooleanValue:
                                          description: The asset property value is
                                            a Boolean value that must be `TRUE` or
                                            `FALSE`. You can also specify an expression.
                                            If you use an expression, the evaluated
                                            result should be a Boolean value.
                                          type: string
                                        DoubleValue:
                                          description: The asset property value is
                                            a double. You can also specify an expression.
                                            If you use an expression, the evaluated
                                            result should be a double.
                                          type: string
                                        IntegerValue:
                                          description: The asset property value is
                                            an integer. You can also specify an expression.
                                            If you use an expression, the evaluated
                                            result should be an integer.
                                          type: string
                                        StringValue:
                                          description: The asset property value is
                                            a string. You can also specify an expression.
                                            If you use an expression, the evaluated
                                            result should be a string.
                                          type: string
                                      type: object
                                  required:
                                  - Value
                                  type: object
                              required:
                              - PropertyValue
                              type: object
                            IotTopicPublish:
                              additionalProperties: false
                              description: Information required to publish the MQTT
                                message through the AWS IoT message broker.
                              properties:
                                MqttTopic:
                                  description: The MQTT topic of the message. You
                                    can use a string expression that includes variables
                                    (`$variable.<variable-name>`) and input values
                                    (`$input.<input-name>.<path-to-datum>`) as the
                                    topic string.
                                  maxLength: 128
                                  minLength: 1
                                  type: string
                                Payload:
                                  additionalProperties: false
                                  description: 'Information needed to configure the
                                    payload.

                                    By default, AWS IoT Events generates a standard
                                    payload in JSON for any action. This action payload
                                    contains all attribute-value pairs that have the
                                    information about the detector model instance
                                    and the event triggered the action. To configure
                                    the action payload, you can use `contentExpression`.'
                                  properties:
                                    ContentExpression:
                                      description: The content of the payload. You
                                        can use a string expression that includes
                                        quoted strings (`'<string>'`), variables (`$variable.<variable-name>`),
                                        input values (`$input.<input-name>.<path-to-datum>`),
                                        string concatenations, and quoted strings
                                        that contain `${}` as the content. The recommended
                                        maximum size of a content expression is 1
                                        KB.