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.
                                      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: A Boolean expression that when `TRUE` causes
                          the `actions` to be performed and the `nextState` to be
                          entered.
                        maxLength: 512
                        type: string
                      EventName:
                        description: The name of the event.
                        maxLength: 128
                        minLength: 1
                        type: string
                      NextState:
                        description: The next state to enter.
                        maxLength: 128
                        minLength: 1
                        type: string
                    required:
                    - Condition
                    - EventName
                    - NextState
                    type: object
                  type: array
                  uniqueItems: false
              type: object
            StateName:
              description: The name of the state.
              maxLength: 128
              minLength: 1
              type: string
          required:
          - StateName
          type: object
        minItems: 1
        type: array
        uniqueItems: false
    required:
    - States
    - InitialStateName
    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
  Event:
    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
  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
  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.
                            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: A Boolean expression that when `TRUE` causes the `actions`
                to be performed and the `nextState` to be entered.
              maxLength: 512
              type: string
            EventName:
              description: The name of the event.
              maxLength: 128
              minLength: 1
              type: string
            NextState:
              description: The next state to enter.
              maxLength: 128
              minLength: 1
              type: string
          required:
          - Condition
          - EventName
          - NextState
          type: object
        type: array
        uniqueItems: false
    type: object
  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
  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
  State:
    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.
                                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: A Boolean expression that when `TRUE` causes the `actions`
                    to be performed and the `nextState` to be entered.
                  maxLength: 512
                  type: string
                EventName:
                  description: The name of the event.
                  maxLength: 128
                  minLength: 1
                  type: string
                NextState:
                  description: The next state to enter.
                  maxLength: 128
                  minLength: 1
                  type: string
              required:
              - Condition
              - EventName
              - NextState
              type: object
            type: array
            uniqueItems: false
        type: object
      StateName:
        description: The name of the state.
        maxLength: 128
        minLength: 1
        type: string
    required:
    - StateName
    type: object
  Tag:
    additionalProperties: false
    description: Tags to be applied to Input.
    properties:
      Key:
        description: Key of the Tag.
        type: string
      Value:
        description: Value of the Tag.
        type: string
    required:
    - Value
    - Key
    type: object
  TransitionEvent:
    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.
                      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: A Boolean expression that when `TRUE` causes the `actions` to
          be performed and the `nextState` to be entered.
        maxLength: 512
        type: string
      EventName:
        description: The name of the event.
        maxLength: 128
        minLength: 1
        type: string
      NextState:
        description: The next state to enter.
        maxLength: 128
        minLength: 1
        type: string
    required:
    - Condition
    - EventName
    - NextState
    type: object
properties:
  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.
                                      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: A Boolean expression that when `TRUE` causes
                          the `actions` to be performed and the `nextState` to be
                          entered.
                        maxLength: 512
                        type: string
                      EventName:
                        description: The name of the event.
                        maxLength: 128
                        minLength: 1
                        type: string
                      NextState:
                        description: The next state to enter.
                        maxLength: 128
                        minLength: 1
                        type: string
                    required:
                    - Condition
                    - EventName
                    - NextState
                    type: object
                  type: array
                  uniqueItems: false
              type: object
            StateName:
              description: The name of the state.
              maxLength: 128
              minLength: 1
              type: string
          required:
          - StateName
          type: object
        minItems: 1
        type: array
        uniqueItems: false
    required:
    - States
    - InitialStateName
    type: object
  DetectorModelDescription:
    description: A brief description of the detector model.
    maxLength: 128
    type: string
  EvaluationMethod:
    description: Information about the order in which events are evaluated and how
      actions are executed.
    enum:
    - BATCH
    - SERIAL
    type: string
  RoleArn:
    description: The ARN of the role that grants permission to AWS IoT Events to perform
      its operations.
    maxLength: 2048
    minLength: 1
    type: string
  Tags:
    description: 'An array of key-value pairs to apply to this resource.

      For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).'
    insertionOrder: false
    items:
      additionalProperties: false
      description: Tags to be applied to Input.
      properties:
        Key:
          description: Key of the Tag.
          type: string
        Value:
          description: Value of the Tag.
          type: string
      required:
      - Value
      - Key
      type: object
    type: array
    uniqueItems: false
  type:
    enum:
    - update

Permissions - iotevents:UpdateDetectorModel, iotevents:UpdateInputRouting, iotevents:DescribeDetectorModel, iotevents:ListTagsForResource, iotevents:UntagResource, iotevents:TagResource, iam:PassRole