Module NetworkFirewall.RuleGroup

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-rulegroup.html

type port_range = {
  1. from_port : int;
  2. to_port : int;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-portrange.html

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

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

and dimension = {
  1. value : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-dimension.html

and ip_set_reference = {
  1. reference_arn : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-ipsetreference.html

and header = {
  1. destination : string;
  2. protocol : string;
  3. source_port : string;
  4. direction : string;
  5. destination_port : string;
  6. source : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-header.html

and tcp_flag_field = {
  1. flags : string list;
  2. masks : string list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-tcpflagfield.html

and stateful_rule_options = {
  1. rule_order : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-statefulruleoptions.html

and rules_source_list = {
  1. generated_rules_type : string;
  2. target_types : string list;
  3. targets : string list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulessourcelist.html

and address = {
  1. address_definition : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-address.html

and port_set = {
  1. definition : string list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-portset.html

and ip_set = {
  1. definition : string list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-ipset.html

and rule_option = {
  1. keyword : string;
  2. settings : string list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-ruleoption.html

and rule_variables = {
  1. port_sets : port_set Stdlib__Map.Make(Stdlib.String).t option;
  2. ip_sets : ip_set Stdlib__Map.Make(Stdlib.String).t option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulevariables.html

and publish_metric_action = {
  1. dimensions : dimension list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-publishmetricaction.html

and stateful_rule = {
  1. action : string;
  2. header : header;
  3. rule_options : rule_option list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-statefulrule.html

and reference_sets = {
  1. ip_set_references : ip_set_reference Stdlib__Map.Make(Stdlib.String).t option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-referencesets.html

and match_attributes = {
  1. protocols : int list option;
  2. tcp_flags : tcp_flag_field list option;
  3. destination_ports : port_range list option;
  4. destinations : address list option;
  5. sources : address list option;
  6. source_ports : port_range list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-matchattributes.html

and rule_definition = {
  1. actions : string list;
  2. match_attributes : match_attributes;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-ruledefinition.html

and action_definition = {
  1. publish_metric_action : publish_metric_action option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-actiondefinition.html

and stateless_rule = {
  1. priority : int;
  2. rule_definition : rule_definition;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-statelessrule.html

and custom_action = {
  1. action_name : string;
  2. action_definition : action_definition;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-customaction.html

and stateless_rules_and_custom_actions = {
  1. stateless_rules : stateless_rule list;
  2. custom_actions : custom_action list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-statelessrulesandcustomactions.html

and rules_source = {
  1. stateless_rules_and_custom_actions : stateless_rules_and_custom_actions option;
  2. stateful_rules : stateful_rule list option;
  3. rules_string : string option;
  4. rules_source_list : rules_source_list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulessource.html

and rule_group = {
  1. stateful_rule_options : stateful_rule_options option;
  2. reference_sets : reference_sets option;
  3. rules_source : rules_source;
  4. rule_variables : rule_variables option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulegroup.html

type properties = {
  1. type_ : string;
  2. description : string option;
  3. capacity : int;
  4. rule_group_name : string;
  5. rule_group : rule_group option;
  6. tags : tag list option;
}

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

val make_properties : type_:string -> ?description:string -> capacity:int -> rule_group_name:string -> ?rule_group:rule_group -> ?tags:tag list -> unit -> properties
val make_port_range : from_port:int -> to_port:int -> unit -> port_range
val make_tag : value:string -> key:string -> unit -> tag
val make_dimension : value:string -> unit -> dimension
val make_ip_set_reference : ?reference_arn:string -> unit -> ip_set_reference
val make_header : destination:string -> protocol:string -> source_port:string -> direction:string -> destination_port:string -> source:string -> unit -> header
val make_tcp_flag_field : flags:string list -> ?masks:string list -> unit -> tcp_flag_field
val make_stateful_rule_options : ?rule_order:string -> unit -> stateful_rule_options
val make_rules_source_list : generated_rules_type:string -> target_types:string list -> targets:string list -> unit -> rules_source_list
val make_address : address_definition:string -> unit -> address
val make_port_set : ?definition:string list -> unit -> port_set
val make_ip_set : ?definition:string list -> unit -> ip_set
val make_rule_option : keyword:string -> ?settings:string list -> unit -> rule_option
val make_rule_variables : ?port_sets:port_set Stdlib__Map.Make(Stdlib.String).t -> ?ip_sets:ip_set Stdlib__Map.Make(Stdlib.String).t -> unit -> rule_variables
val make_publish_metric_action : dimensions:dimension list -> unit -> publish_metric_action
val make_stateful_rule : action:string -> header:header -> rule_options:rule_option list -> unit -> stateful_rule
val make_reference_sets : ?ip_set_references:ip_set_reference Stdlib__Map.Make(Stdlib.String).t -> unit -> reference_sets
val make_match_attributes : ?protocols:int list -> ?tcp_flags:tcp_flag_field list -> ?destination_ports:port_range list -> ?destinations:address list -> ?sources:address list -> ?source_ports:port_range list -> unit -> match_attributes
val make_rule_definition : actions:string list -> match_attributes:match_attributes -> unit -> rule_definition
val make_action_definition : ?publish_metric_action:publish_metric_action -> unit -> action_definition
val make_stateless_rule : priority:int -> rule_definition:rule_definition -> unit -> stateless_rule
val make_custom_action : action_name:string -> action_definition:action_definition -> unit -> custom_action
val make_stateless_rules_and_custom_actions : stateless_rules:stateless_rule list -> ?custom_actions:custom_action list -> unit -> stateless_rules_and_custom_actions
val make_rules_source : ?stateless_rules_and_custom_actions:stateless_rules_and_custom_actions -> ?stateful_rules:stateful_rule list -> ?rules_string:string -> ?rules_source_list:rules_source_list -> unit -> rules_source
val make_rule_group : ?stateful_rule_options:stateful_rule_options -> ?reference_sets:reference_sets -> rules_source:rules_source -> ?rule_variables:rule_variables -> unit -> rule_group
val yojson_of_port_range : port_range -> Yojson.Safe.t
val yojson_of_tag : tag -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_dimension : dimension -> Yojson.Safe.t
val yojson_of_ip_set_reference : ip_set_reference -> Yojson.Safe.t
val yojson_of_header : header -> Yojson.Safe.t
val yojson_of_tcp_flag_field : tcp_flag_field -> Yojson.Safe.t
val yojson_of_stateful_rule_options : stateful_rule_options -> Yojson.Safe.t
val yojson_of_rules_source_list : rules_source_list -> Yojson.Safe.t
val yojson_of_address : address -> Yojson.Safe.t
val yojson_of_port_set : port_set -> Yojson.Safe.t
val yojson_of_ip_set : ip_set -> Yojson.Safe.t
val yojson_of_rule_option : rule_option -> Yojson.Safe.t
val yojson_of_rule_variables : rule_variables -> Yojson.Safe.t
val yojson_of_publish_metric_action : publish_metric_action -> Yojson.Safe.t
val yojson_of_stateful_rule : stateful_rule -> Yojson.Safe.t
val yojson_of_reference_sets : reference_sets -> Yojson.Safe.t
val yojson_of_match_attributes : match_attributes -> Yojson.Safe.t
val yojson_of_rule_definition : rule_definition -> Yojson.Safe.t
val yojson_of_action_definition : action_definition -> Yojson.Safe.t
val yojson_of_stateless_rule : stateless_rule -> Yojson.Safe.t
val yojson_of_custom_action : custom_action -> Yojson.Safe.t
val yojson_of_stateless_rules_and_custom_actions : stateless_rules_and_custom_actions -> Yojson.Safe.t
val yojson_of_rules_source : rules_source -> Yojson.Safe.t
val yojson_of_rule_group : rule_group -> [> `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. rule_group_id : string;
  3. rule_group_arn : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string