You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::IoTEvents::Types::CreateDetectorModelRequest

Inherits:
Struct
  • Object
show all
Defined in:
(unknown)

Overview

Note:

When passing CreateDetectorModelRequest as input to an Aws::Client method, you can use a vanilla Hash:

{
  detector_model_name: "DetectorModelName", # required
  detector_model_definition: { # required
    states: [ # required
      {
        state_name: "StateName", # required
        on_input: {
          events: [
            {
              event_name: "EventName", # required
              condition: "Condition",
              actions: [
                {
                  set_variable: {
                    variable_name: "VariableName", # required
                    value: "VariableValue", # required
                  },
                  sns: {
                    target_arn: "AmazonResourceName", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  iot_topic_publish: {
                    mqtt_topic: "MQTTTopic", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  set_timer: {
                    timer_name: "TimerName", # required
                    seconds: 1,
                    duration_expression: "VariableValue",
                  },
                  clear_timer: {
                    timer_name: "TimerName", # required
                  },
                  reset_timer: {
                    timer_name: "TimerName", # required
                  },
                  lambda: {
                    function_arn: "AmazonResourceName", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  iot_events: {
                    input_name: "InputName", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  sqs: {
                    queue_url: "QueueUrl", # required
                    use_base_64: false,
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  firehose: {
                    delivery_stream_name: "DeliveryStreamName", # required
                    separator: "FirehoseSeparator",
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  dynamo_db: {
                    hash_key_type: "DynamoKeyType",
                    hash_key_field: "DynamoKeyField", # required
                    hash_key_value: "DynamoKeyValue", # required
                    range_key_type: "DynamoKeyType",
                    range_key_field: "DynamoKeyField",
                    range_key_value: "DynamoKeyValue",
                    operation: "DynamoOperation",
                    payload_field: "DynamoKeyField",
                    table_name: "DynamoTableName", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  dynamo_d_bv_2: {
                    table_name: "DynamoTableName", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  iot_site_wise: {
                    entry_id: "AssetPropertyEntryId",
                    asset_id: "AssetId",
                    property_id: "AssetPropertyId",
                    property_alias: "AssetPropertyAlias",
                    property_value: { # required
                      value: { # required
                        string_value: "AssetPropertyStringValue",
                        integer_value: "AssetPropertyIntegerValue",
                        double_value: "AssetPropertyDoubleValue",
                        boolean_value: "AssetPropertyBooleanValue",
                      },
                      timestamp: {
                        time_in_seconds: "AssetPropertyTimeInSeconds", # required
                        offset_in_nanos: "AssetPropertyOffsetInNanos",
                      },
                      quality: "AssetPropertyQuality",
                    },
                  },
                },
              ],
            },
          ],
          transition_events: [
            {
              event_name: "EventName", # required
              condition: "Condition", # required
              actions: [
                {
                  set_variable: {
                    variable_name: "VariableName", # required
                    value: "VariableValue", # required
                  },
                  sns: {
                    target_arn: "AmazonResourceName", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  iot_topic_publish: {
                    mqtt_topic: "MQTTTopic", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  set_timer: {
                    timer_name: "TimerName", # required
                    seconds: 1,
                    duration_expression: "VariableValue",
                  },
                  clear_timer: {
                    timer_name: "TimerName", # required
                  },
                  reset_timer: {
                    timer_name: "TimerName", # required
                  },
                  lambda: {
                    function_arn: "AmazonResourceName", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  iot_events: {
                    input_name: "InputName", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  sqs: {
                    queue_url: "QueueUrl", # required
                    use_base_64: false,
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  firehose: {
                    delivery_stream_name: "DeliveryStreamName", # required
                    separator: "FirehoseSeparator",
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  dynamo_db: {
                    hash_key_type: "DynamoKeyType",
                    hash_key_field: "DynamoKeyField", # required
                    hash_key_value: "DynamoKeyValue", # required
                    range_key_type: "DynamoKeyType",
                    range_key_field: "DynamoKeyField",
                    range_key_value: "DynamoKeyValue",
                    operation: "DynamoOperation",
                    payload_field: "DynamoKeyField",
                    table_name: "DynamoTableName", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  dynamo_d_bv_2: {
                    table_name: "DynamoTableName", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  iot_site_wise: {
                    entry_id: "AssetPropertyEntryId",
                    asset_id: "AssetId",
                    property_id: "AssetPropertyId",
                    property_alias: "AssetPropertyAlias",
                    property_value: { # required
                      value: { # required
                        string_value: "AssetPropertyStringValue",
                        integer_value: "AssetPropertyIntegerValue",
                        double_value: "AssetPropertyDoubleValue",
                        boolean_value: "AssetPropertyBooleanValue",
                      },
                      timestamp: {
                        time_in_seconds: "AssetPropertyTimeInSeconds", # required
                        offset_in_nanos: "AssetPropertyOffsetInNanos",
                      },
                      quality: "AssetPropertyQuality",
                    },
                  },
                },
              ],
              next_state: "StateName", # required
            },
          ],
        },
        on_enter: {
          events: [
            {
              event_name: "EventName", # required
              condition: "Condition",
              actions: [
                {
                  set_variable: {
                    variable_name: "VariableName", # required
                    value: "VariableValue", # required
                  },
                  sns: {
                    target_arn: "AmazonResourceName", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  iot_topic_publish: {
                    mqtt_topic: "MQTTTopic", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  set_timer: {
                    timer_name: "TimerName", # required
                    seconds: 1,
                    duration_expression: "VariableValue",
                  },
                  clear_timer: {
                    timer_name: "TimerName", # required
                  },
                  reset_timer: {
                    timer_name: "TimerName", # required
                  },
                  lambda: {
                    function_arn: "AmazonResourceName", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  iot_events: {
                    input_name: "InputName", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  sqs: {
                    queue_url: "QueueUrl", # required
                    use_base_64: false,
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  firehose: {
                    delivery_stream_name: "DeliveryStreamName", # required
                    separator: "FirehoseSeparator",
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  dynamo_db: {
                    hash_key_type: "DynamoKeyType",
                    hash_key_field: "DynamoKeyField", # required
                    hash_key_value: "DynamoKeyValue", # required
                    range_key_type: "DynamoKeyType",
                    range_key_field: "DynamoKeyField",
                    range_key_value: "DynamoKeyValue",
                    operation: "DynamoOperation",
                    payload_field: "DynamoKeyField",
                    table_name: "DynamoTableName", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  dynamo_d_bv_2: {
                    table_name: "DynamoTableName", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  iot_site_wise: {
                    entry_id: "AssetPropertyEntryId",
                    asset_id: "AssetId",
                    property_id: "AssetPropertyId",
                    property_alias: "AssetPropertyAlias",
                    property_value: { # required
                      value: { # required
                        string_value: "AssetPropertyStringValue",
                        integer_value: "AssetPropertyIntegerValue",
                        double_value: "AssetPropertyDoubleValue",
                        boolean_value: "AssetPropertyBooleanValue",
                      },
                      timestamp: {
                        time_in_seconds: "AssetPropertyTimeInSeconds", # required
                        offset_in_nanos: "AssetPropertyOffsetInNanos",
                      },
                      quality: "AssetPropertyQuality",
                    },
                  },
                },
              ],
            },
          ],
        },
        on_exit: {
          events: [
            {
              event_name: "EventName", # required
              condition: "Condition",
              actions: [
                {
                  set_variable: {
                    variable_name: "VariableName", # required
                    value: "VariableValue", # required
                  },
                  sns: {
                    target_arn: "AmazonResourceName", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  iot_topic_publish: {
                    mqtt_topic: "MQTTTopic", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  set_timer: {
                    timer_name: "TimerName", # required
                    seconds: 1,
                    duration_expression: "VariableValue",
                  },
                  clear_timer: {
                    timer_name: "TimerName", # required
                  },
                  reset_timer: {
                    timer_name: "TimerName", # required
                  },
                  lambda: {
                    function_arn: "AmazonResourceName", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  iot_events: {
                    input_name: "InputName", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  sqs: {
                    queue_url: "QueueUrl", # required
                    use_base_64: false,
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  firehose: {
                    delivery_stream_name: "DeliveryStreamName", # required
                    separator: "FirehoseSeparator",
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  dynamo_db: {
                    hash_key_type: "DynamoKeyType",
                    hash_key_field: "DynamoKeyField", # required
                    hash_key_value: "DynamoKeyValue", # required
                    range_key_type: "DynamoKeyType",
                    range_key_field: "DynamoKeyField",
                    range_key_value: "DynamoKeyValue",
                    operation: "DynamoOperation",
                    payload_field: "DynamoKeyField",
                    table_name: "DynamoTableName", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  dynamo_d_bv_2: {
                    table_name: "DynamoTableName", # required
                    payload: {
                      content_expression: "ContentExpression", # required
                      type: "STRING", # required, accepts STRING, JSON
                    },
                  },
                  iot_site_wise: {
                    entry_id: "AssetPropertyEntryId",
                    asset_id: "AssetId",
                    property_id: "AssetPropertyId",
                    property_alias: "AssetPropertyAlias",
                    property_value: { # required
                      value: { # required
                        string_value: "AssetPropertyStringValue",
                        integer_value: "AssetPropertyIntegerValue",
                        double_value: "AssetPropertyDoubleValue",
                        boolean_value: "AssetPropertyBooleanValue",
                      },
                      timestamp: {
                        time_in_seconds: "AssetPropertyTimeInSeconds", # required
                        offset_in_nanos: "AssetPropertyOffsetInNanos",
                      },
                      quality: "AssetPropertyQuality",
                    },
                  },
                },
              ],
            },
          ],
        },
      },
    ],
    initial_state_name: "StateName", # required
  },
  detector_model_description: "DetectorModelDescription",
  key: "AttributeJsonPath",
  role_arn: "AmazonResourceName", # required
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
  evaluation_method: "BATCH", # accepts BATCH, SERIAL
}

Instance Attribute Summary collapse

Instance Attribute Details

#detector_model_definitionTypes::DetectorModelDefinition

Information that defines how the detectors operate.

Returns:

#detector_model_descriptionString

A brief description of the detector model.

Returns:

  • (String)

    A brief description of the detector model.

#detector_model_nameString

The name of the detector model.

Returns:

  • (String)

    The name of the detector model.

#evaluation_methodString

Information about the order in which events are evaluated and how actions are executed.

Possible values:

  • BATCH
  • SERIAL

Returns:

  • (String)

    Information about the order in which events are evaluated and how actions are executed.

#keyString

The input attribute key used to identify a device or system to create a detector (an instance of the detector model) and then to route each input received to the appropriate detector (instance). This parameter uses a JSON-path expression in the message payload of each input to specify the attribute-value pair that is used to identify the device associated with the input.

Returns:

  • (String)

    The input attribute key used to identify a device or system to create a detector (an instance of the detector model) and then to route each input received to the appropriate detector (instance).

#role_arnString

The ARN of the role that grants permission to AWS IoT Events to perform its operations.

Returns:

  • (String)

    The ARN of the role that grants permission to AWS IoT Events to perform its operations.

#tagsArray<Types::Tag>

Metadata that can be used to manage the detector model.

Returns:

  • (Array<Types::Tag>)

    Metadata that can be used to manage the detector model.