Module VpcLattice.Rule

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

type weighted_target_group = {
  1. weight : int option;
  2. target_group_identifier : string;
}

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

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

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

and fixed_response = {
  1. status_code : int;
}

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

and path_match_type = {
  1. exact : string option;
  2. prefix : string option;
}

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

and header_match_type = {
  1. contains : string option;
  2. exact : string option;
  3. prefix : string option;
}

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

and forward = {
  1. target_groups : weighted_target_group list;
}

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

and header_match = {
  1. case_sensitive : bool option;
  2. name : string;
  3. match_ : header_match_type;
}

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

and path_match = {
  1. case_sensitive : bool option;
  2. match_ : path_match_type;
}

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

and action = {
  1. forward : forward option;
  2. fixed_response : fixed_response option;
}

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

and http_match = {
  1. header_matches : header_match list option;
  2. path_match : path_match option;
  3. method_ : string option;
}

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

and match_ = {
  1. http_match : http_match;
}

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

type properties = {
  1. action : action;
  2. priority : int;
  3. service_identifier : string option;
  4. listener_identifier : string option;
  5. tags : tag list option;
  6. match_ : match_;
  7. name : string option;
}

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

val make_properties : action:action -> priority:int -> ?service_identifier:string -> ?listener_identifier:string -> ?tags:tag list -> match_:match_ -> ?name:string -> unit -> properties
val make_weighted_target_group : ?weight:int -> target_group_identifier:string -> unit -> weighted_target_group
val make_tag : value:string -> key:string -> unit -> tag
val make_fixed_response : status_code:int -> unit -> fixed_response
val make_path_match_type : ?exact:string -> ?prefix:string -> unit -> path_match_type
val make_header_match_type : ?contains:string -> ?exact:string -> ?prefix:string -> unit -> header_match_type
val make_forward : target_groups:weighted_target_group list -> unit -> forward
val make_header_match : ?case_sensitive:bool -> name:string -> match_:header_match_type -> unit -> header_match
val make_path_match : ?case_sensitive:bool -> match_:path_match_type -> unit -> path_match
val make_action : ?forward:forward -> ?fixed_response:fixed_response -> unit -> action
val make_http_match : ?header_matches:header_match list -> ?path_match:path_match -> ?method_:string -> unit -> http_match
val make_match_ : http_match:http_match -> unit -> match_
val yojson_of_weighted_target_group : weighted_target_group -> Yojson.Safe.t
val yojson_of_tag : tag -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_fixed_response : fixed_response -> Yojson.Safe.t
val yojson_of_path_match_type : path_match_type -> Yojson.Safe.t
val yojson_of_header_match_type : header_match_type -> Yojson.Safe.t
val yojson_of_forward : forward -> Yojson.Safe.t
val yojson_of_header_match : header_match -> Yojson.Safe.t
val yojson_of_path_match : path_match -> Yojson.Safe.t
val yojson_of_action : action -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_http_match : http_match -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_match_ : match_ -> [> `Assoc of (string * [> `Assoc of (string * Yojson.Safe.t) list ]) list ]
val yojson_of_properties : properties -> [> `Assoc of (string * Yojson.Safe.t) list ]
type attributes = {
  1. ref_ : string;
  2. id : string;
  3. arn : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string