Module Connect.Rule

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-rule.html

type event_bridge_action = {
  1. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-rule-eventbridgeaction.html

and rule_trigger_event_source = {
  1. integration_association_arn : string option;
  2. event_source_name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-rule-ruletriggereventsource.html

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

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

and notification_recipient_type = {
  1. user_tags : string Stdlib__Map.Make(Stdlib.String).t option;
  2. user_arns : string list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-rule-notificationrecipienttype.html

and field_value = {
  1. double_value : float option;
  2. boolean_value : bool option;
  3. string_value : string option;
  4. empty_value : Yojson.Safe.t option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-rule-fieldvalue.html

and reference = {
  1. type_ : string;
  2. value : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-rule-reference.html

and task_action = {
  1. description : string option;
  2. references : reference Stdlib__Map.Make(Stdlib.String).t option;
  3. contact_flow_arn : string;
  4. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-rule-taskaction.html

and field = {
  1. value : field_value;
  2. id : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-rule-field.html

and send_notification_action = {
  1. delivery_method : string;
  2. content_type : string;
  3. content : string;
  4. recipient : notification_recipient_type;
  5. subject : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-rule-sendnotificationaction.html

and create_case_action = {
  1. fields : field list;
  2. template_id : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-rule-createcaseaction.html

and update_case_action = {
  1. fields : field list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-rule-updatecaseaction.html

and actions = {
  1. event_bridge_actions : event_bridge_action list option;
  2. update_case_actions : update_case_action list option;
  3. create_case_actions : create_case_action list option;
  4. assign_contact_category_actions : Yojson.Safe.t list option;
  5. task_actions : task_action list option;
  6. send_notification_actions : send_notification_action list option;
  7. end_associated_tasks_actions : Yojson.Safe.t list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-rule-actions.html

type properties = {
  1. function_ : string;
  2. trigger_event_source : rule_trigger_event_source;
  3. actions : actions;
  4. instance_arn : string;
  5. tags : tag list option;
  6. name : string;
  7. publish_status : string;
}

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

val make_properties : function_:string -> trigger_event_source:rule_trigger_event_source -> actions:actions -> instance_arn:string -> ?tags:tag list -> name:string -> publish_status:string -> unit -> properties
val make_event_bridge_action : name:string -> unit -> event_bridge_action
val make_rule_trigger_event_source : ?integration_association_arn:string -> event_source_name:string -> unit -> rule_trigger_event_source
val make_tag : value:string -> key:string -> unit -> tag
val make_notification_recipient_type : ?user_tags:string Stdlib__Map.Make(Stdlib.String).t -> ?user_arns:string list -> unit -> notification_recipient_type
val make_field_value : ?double_value:float -> ?boolean_value:bool -> ?string_value:string -> ?empty_value:Yojson.Safe.t -> unit -> field_value
val make_reference : type_:string -> value:string -> unit -> reference
val make_task_action : ?description:string -> ?references:reference Stdlib__Map.Make(Stdlib.String).t -> contact_flow_arn:string -> name:string -> unit -> task_action
val make_field : value:field_value -> id:string -> unit -> field
val make_send_notification_action : delivery_method:string -> content_type:string -> content:string -> recipient:notification_recipient_type -> ?subject:string -> unit -> send_notification_action
val make_create_case_action : fields:field list -> template_id:string -> unit -> create_case_action
val make_update_case_action : fields:field list -> unit -> update_case_action
val make_actions : ?event_bridge_actions:event_bridge_action list -> ?update_case_actions:update_case_action list -> ?create_case_actions:create_case_action list -> ?assign_contact_category_actions:Yojson.Safe.t list -> ?task_actions:task_action list -> ?send_notification_actions:send_notification_action list -> ?end_associated_tasks_actions:Yojson.Safe.t list -> unit -> actions
val yojson_of_event_bridge_action : event_bridge_action -> Yojson.Safe.t
val yojson_of_rule_trigger_event_source : rule_trigger_event_source -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_tag : tag -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_notification_recipient_type : notification_recipient_type -> Yojson.Safe.t
val yojson_of_field_value : field_value -> Yojson.Safe.t
val yojson_of_reference : reference -> Yojson.Safe.t
val yojson_of_task_action : task_action -> Yojson.Safe.t
val yojson_of_field : field -> Yojson.Safe.t
val yojson_of_send_notification_action : send_notification_action -> Yojson.Safe.t
val yojson_of_create_case_action : create_case_action -> Yojson.Safe.t
val yojson_of_update_case_action : update_case_action -> Yojson.Safe.t
val yojson_of_actions : actions -> [> `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_arn : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string