Module IoTEvents.DetectorModel

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html

type set_variable = {
  1. value : string;
  2. variable_name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-setvariable.html

and tag = {
  1. value : string;
  2. key : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html

and payload = {
  1. content_expression : string;
  2. type_ : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-payload.html

and asset_property_timestamp = {
  1. time_in_seconds : string;
  2. offset_in_nanos : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertytimestamp.html

and asset_property_variant = {
  1. double_value : string option;
  2. boolean_value : string option;
  3. integer_value : string option;
  4. string_value : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvariant.html

and clear_timer = {
  1. timer_name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-cleartimer.html

and reset_timer = {
  1. timer_name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-resettimer.html

and set_timer = {
  1. seconds : int option;
  2. timer_name : string;
  3. duration_expression : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-settimer.html

and asset_property_value = {
  1. quality : string option;
  2. value : asset_property_variant;
  3. timestamp : asset_property_timestamp option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html

and firehose = {
  1. delivery_stream_name : string;
  2. payload : payload option;
  3. separator : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-firehose.html

and dynamo_d_bv2 = {
  1. table_name : string;
  2. payload : payload option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodbv2.html

and sqs = {
  1. use_base64 : bool option;
  2. payload : payload option;
  3. queue_url : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sqs.html

and lambda = {
  1. function_arn : string;
  2. payload : payload option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-lambda.html

and dynamo_db = {
  1. table_name : string;
  2. payload_field : string option;
  3. range_key_field : string option;
  4. hash_key_field : string;
  5. range_key_value : string option;
  6. range_key_type : string option;
  7. hash_key_type : string option;
  8. hash_key_value : string;
  9. payload : payload option;
  10. operation : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-dynamodb.html

and iot_topic_publish = {
  1. mqtt_topic : string;
  2. payload : payload option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iottopicpublish.html

and iot_events = {
  1. input_name : string;
  2. payload : payload option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotevents.html

and sns = {
  1. target_arn : string;
  2. payload : payload option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sns.html

and iot_site_wise = {
  1. entry_id : string option;
  2. property_alias : string option;
  3. property_value : asset_property_value;
  4. asset_id : string option;
  5. property_id : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotsitewise.html

and action = {
  1. iot_events : iot_events option;
  2. firehose : firehose option;
  3. dynamo_db : dynamo_db option;
  4. iot_topic_publish : iot_topic_publish option;
  5. dynamo_d_bv2 : dynamo_d_bv2 option;
  6. iot_site_wise : iot_site_wise option;
  7. reset_timer : reset_timer option;
  8. sqs : sqs option;
  9. set_timer : set_timer option;
  10. sns : sns option;
  11. clear_timer : clear_timer option;
  12. lambda : lambda option;
  13. set_variable : set_variable option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html

and event = {
  1. condition : string option;
  2. actions : action list option;
  3. event_name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-event.html

and transition_event = {
  1. condition : string;
  2. actions : action list option;
  3. next_state : string;
  4. event_name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-transitionevent.html

and on_enter = {
  1. events : event list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-onenter.html

and on_input = {
  1. events : event list option;
  2. transition_events : transition_event list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-oninput.html

and on_exit = {
  1. events : event list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-onexit.html

and state = {
  1. on_input : on_input option;
  2. on_exit : on_exit option;
  3. state_name : string;
  4. on_enter : on_enter option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-state.html

and detector_model_definition = {
  1. states : state list;
  2. initial_state_name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-detectormodeldefinition.html

type properties = {
  1. detector_model_definition : detector_model_definition;
  2. evaluation_method : string option;
  3. detector_model_name : string option;
  4. detector_model_description : string option;
  5. key : string option;
  6. role_arn : string;
  7. tags : tag list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html;

val make_properties : detector_model_definition:detector_model_definition -> ?evaluation_method:string -> ?detector_model_name:string -> ?detector_model_description:string -> ?key:string -> role_arn:string -> ?tags:tag list -> unit -> properties
val make_set_variable : value:string -> variable_name:string -> unit -> set_variable
val make_tag : value:string -> key:string -> unit -> tag
val make_payload : content_expression:string -> type_:string -> unit -> payload
val make_asset_property_timestamp : time_in_seconds:string -> ?offset_in_nanos:string -> unit -> asset_property_timestamp
val make_asset_property_variant : ?double_value:string -> ?boolean_value:string -> ?integer_value:string -> ?string_value:string -> unit -> asset_property_variant
val make_clear_timer : timer_name:string -> unit -> clear_timer
val make_reset_timer : timer_name:string -> unit -> reset_timer
val make_set_timer : ?seconds:int -> timer_name:string -> ?duration_expression:string -> unit -> set_timer
val make_asset_property_value : ?quality:string -> value:asset_property_variant -> ?timestamp:asset_property_timestamp -> unit -> asset_property_value
val make_firehose : delivery_stream_name:string -> ?payload:payload -> ?separator:string -> unit -> firehose
val make_dynamo_d_bv2 : table_name:string -> ?payload:payload -> unit -> dynamo_d_bv2
val make_sqs : ?use_base64:bool -> ?payload:payload -> queue_url:string -> unit -> sqs
val make_lambda : function_arn:string -> ?payload:payload -> unit -> lambda
val make_dynamo_db : table_name:string -> ?payload_field:string -> ?range_key_field:string -> hash_key_field:string -> ?range_key_value:string -> ?range_key_type:string -> ?hash_key_type:string -> hash_key_value:string -> ?payload:payload -> ?operation:string -> unit -> dynamo_db
val make_iot_topic_publish : mqtt_topic:string -> ?payload:payload -> unit -> iot_topic_publish
val make_iot_events : input_name:string -> ?payload:payload -> unit -> iot_events
val make_sns : target_arn:string -> ?payload:payload -> unit -> sns
val make_iot_site_wise : ?entry_id:string -> ?property_alias:string -> property_value:asset_property_value -> ?asset_id:string -> ?property_id:string -> unit -> iot_site_wise
val make_action : ?iot_events:iot_events -> ?firehose:firehose -> ?dynamo_db:dynamo_db -> ?iot_topic_publish:iot_topic_publish -> ?dynamo_d_bv2:dynamo_d_bv2 -> ?iot_site_wise:iot_site_wise -> ?reset_timer:reset_timer -> ?sqs:sqs -> ?set_timer:set_timer -> ?sns:sns -> ?clear_timer:clear_timer -> ?lambda:lambda -> ?set_variable:set_variable -> unit -> action
val make_event : ?condition:string -> ?actions:action list -> event_name:string -> unit -> event
val make_transition_event : condition:string -> ?actions:action list -> next_state:string -> event_name:string -> unit -> transition_event
val make_on_enter : ?events:event list -> unit -> on_enter
val make_on_input : ?events:event list -> ?transition_events:transition_event list -> unit -> on_input
val make_on_exit : ?events:event list -> unit -> on_exit
val make_state : ?on_input:on_input -> ?on_exit:on_exit -> state_name:string -> ?on_enter:on_enter -> unit -> state
val make_detector_model_definition : states:state list -> initial_state_name:string -> unit -> detector_model_definition
val yojson_of_set_variable : set_variable -> Yojson.Safe.t
val yojson_of_tag : tag -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_payload : payload -> Yojson.Safe.t
val yojson_of_asset_property_timestamp : asset_property_timestamp -> Yojson.Safe.t
val yojson_of_asset_property_variant : asset_property_variant -> Yojson.Safe.t
val yojson_of_clear_timer : clear_timer -> Yojson.Safe.t
val yojson_of_reset_timer : reset_timer -> Yojson.Safe.t
val yojson_of_set_timer : set_timer -> Yojson.Safe.t
val yojson_of_asset_property_value : asset_property_value -> Yojson.Safe.t
val yojson_of_firehose : firehose -> Yojson.Safe.t
val yojson_of_dynamo_d_bv2 : dynamo_d_bv2 -> Yojson.Safe.t
val yojson_of_sqs : sqs -> Yojson.Safe.t
val yojson_of_lambda : lambda -> Yojson.Safe.t
val yojson_of_dynamo_db : dynamo_db -> Yojson.Safe.t
val yojson_of_iot_topic_publish : iot_topic_publish -> Yojson.Safe.t
val yojson_of_iot_events : iot_events -> Yojson.Safe.t
val yojson_of_sns : sns -> Yojson.Safe.t
val yojson_of_iot_site_wise : iot_site_wise -> Yojson.Safe.t
val yojson_of_action : action -> Yojson.Safe.t
val yojson_of_event : event -> Yojson.Safe.t
val yojson_of_transition_event : transition_event -> Yojson.Safe.t
val yojson_of_on_enter : on_enter -> Yojson.Safe.t
val yojson_of_on_input : on_input -> Yojson.Safe.t
val yojson_of_on_exit : on_exit -> Yojson.Safe.t
val yojson_of_state : state -> Yojson.Safe.t
val yojson_of_detector_model_definition : detector_model_definition -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_properties : properties -> [> `Assoc of (string * Yojson.Safe.t) list ]
type attributes = {
  1. ref_ : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string