Module IoT.SecurityProfile

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-securityprofile.html

type alert_target = {
  1. alert_target_arn : string;
  2. role_arn : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-alerttarget.html

and metrics_export_config = {
  1. mqtt_topic : string;
  2. role_arn : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metricsexportconfig.html

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

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

and metric_value = {
  1. numbers : float list option;
  2. number : float option;
  3. ports : int list option;
  4. count : string option;
  5. strings : string list option;
  6. cidrs : string list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metricvalue.html

and machine_learning_detection_config = {
  1. confidence_level : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-machinelearningdetectionconfig.html

and statistical_threshold = {
  1. statistic : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-statisticalthreshold.html

and metric_dimension = {
  1. operator : string option;
  2. dimension_name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metricdimension.html

and behavior_criteria = {
  1. comparison_operator : string option;
  2. ml_detection_config : machine_learning_detection_config option;
  3. value : metric_value option;
  4. statistical_threshold : statistical_threshold option;
  5. duration_seconds : int option;
  6. consecutive_datapoints_to_alarm : int option;
  7. consecutive_datapoints_to_clear : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behaviorcriteria.html

and metric_to_retain = {
  1. export_metric : bool option;
  2. metric : string;
  3. metric_dimension : metric_dimension option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metrictoretain.html

and behavior = {
  1. export_metric : bool option;
  2. suppress_alerts : bool option;
  3. metric : string option;
  4. criteria : behavior_criteria option;
  5. metric_dimension : metric_dimension option;
  6. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behavior.html

type properties = {
  1. additional_metrics_to_retain_v2 : metric_to_retain list option;
  2. metrics_export_config : metrics_export_config option;
  3. security_profile_description : string option;
  4. behaviors : behavior list option;
  5. security_profile_name : string option;
  6. alert_targets : alert_target Stdlib__Map.Make(Stdlib.String).t option;
  7. target_arns : string list option;
  8. tags : tag list option;
}

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

val make_properties : ?additional_metrics_to_retain_v2:metric_to_retain list -> ?metrics_export_config:metrics_export_config -> ?security_profile_description:string -> ?behaviors:behavior list -> ?security_profile_name:string -> ?alert_targets:alert_target Stdlib__Map.Make(Stdlib.String).t -> ?target_arns:string list -> ?tags:tag list -> unit -> properties
val make_alert_target : alert_target_arn:string -> role_arn:string -> unit -> alert_target
val make_metrics_export_config : mqtt_topic:string -> role_arn:string -> unit -> metrics_export_config
val make_tag : value:string -> key:string -> unit -> tag
val make_metric_value : ?numbers:float list -> ?number:float -> ?ports:int list -> ?count:string -> ?strings:string list -> ?cidrs:string list -> unit -> metric_value
val make_machine_learning_detection_config : ?confidence_level:string -> unit -> machine_learning_detection_config
val make_statistical_threshold : ?statistic:string -> unit -> statistical_threshold
val make_metric_dimension : ?operator:string -> dimension_name:string -> unit -> metric_dimension
val make_behavior_criteria : ?comparison_operator:string -> ?ml_detection_config:machine_learning_detection_config -> ?value:metric_value -> ?statistical_threshold:statistical_threshold -> ?duration_seconds:int -> ?consecutive_datapoints_to_alarm:int -> ?consecutive_datapoints_to_clear:int -> unit -> behavior_criteria
val make_metric_to_retain : ?export_metric:bool -> metric:string -> ?metric_dimension:metric_dimension -> unit -> metric_to_retain
val make_behavior : ?export_metric:bool -> ?suppress_alerts:bool -> ?metric:string -> ?criteria:behavior_criteria -> ?metric_dimension:metric_dimension -> name:string -> unit -> behavior
val yojson_of_alert_target : alert_target -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_metrics_export_config : metrics_export_config -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_tag : tag -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_metric_value : metric_value -> Yojson.Safe.t
val yojson_of_machine_learning_detection_config : machine_learning_detection_config -> Yojson.Safe.t
val yojson_of_statistical_threshold : statistical_threshold -> Yojson.Safe.t
val yojson_of_metric_dimension : metric_dimension -> Yojson.Safe.t
val yojson_of_behavior_criteria : behavior_criteria -> Yojson.Safe.t
val yojson_of_metric_to_retain : metric_to_retain -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_behavior : behavior -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_properties : properties -> [> `Assoc of (string * Yojson.Safe.t) list ]
type attributes = {
  1. ref_ : string;
  2. security_profile_arn : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string