Module AppMesh.Route

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html

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

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

and http_query_parameter_match = {
  1. exact : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpqueryparametermatch.html

and http_path_match = {
  1. regex : string option;
  2. exact : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httppathmatch.html

and match_range = {
  1. start : int;
  2. end_ : int;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-matchrange.html

and tcp_route_match = {
  1. port : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcproutematch.html

and weighted_target = {
  1. virtual_node : string;
  2. port : int option;
  3. weight : int;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-weightedtarget.html

and duration = {
  1. value : int;
  2. unit : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-duration.html

and grpc_retry_policy = {
  1. max_retries : int;
  2. per_retry_timeout : duration;
  3. grpc_retry_events : string list option;
  4. http_retry_events : string list option;
  5. tcp_retry_events : string list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html

and http_retry_policy = {
  1. max_retries : int;
  2. per_retry_timeout : duration;
  3. http_retry_events : string list option;
  4. tcp_retry_events : string list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpretrypolicy.html

and tcp_route_action = {
  1. weighted_targets : weighted_target list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcprouteaction.html

and http_timeout = {
  1. per_request : duration option;
  2. idle : duration option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httptimeout.html

and query_parameter = {
  1. name : string;
  2. match_ : http_query_parameter_match option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-queryparameter.html

and grpc_route_metadata_match_method = {
  1. suffix : string option;
  2. regex : string option;
  3. exact : string option;
  4. prefix : string option;
  5. range : match_range option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html

and tcp_timeout = {
  1. idle : duration option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcptimeout.html

and header_match_method = {
  1. suffix : string option;
  2. regex : string option;
  3. exact : string option;
  4. prefix : string option;
  5. range : match_range option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html

and http_route_action = {
  1. weighted_targets : weighted_target list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteaction.html

and grpc_route_action = {
  1. weighted_targets : weighted_target list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcrouteaction.html

and grpc_timeout = {
  1. per_request : duration option;
  2. idle : duration option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpctimeout.html

and tcp_route = {
  1. action : tcp_route_action;
  2. timeout : tcp_timeout option;
  3. match_ : tcp_route_match option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcproute.html

and grpc_route_metadata = {
  1. invert : bool option;
  2. name : string;
  3. match_ : grpc_route_metadata_match_method option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadata.html

and http_route_header = {
  1. invert : bool option;
  2. name : string;
  3. match_ : header_match_method option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteheader.html

and http_route_match = {
  1. path : http_path_match option;
  2. scheme : string option;
  3. headers : http_route_header list option;
  4. port : int option;
  5. prefix : string option;
  6. method_ : string option;
  7. query_parameters : query_parameter list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html

and grpc_route_match = {
  1. service_name : string option;
  2. port : int option;
  3. metadata : grpc_route_metadata list option;
  4. method_name : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutematch.html

and http_route = {
  1. action : http_route_action;
  2. timeout : http_timeout option;
  3. retry_policy : http_retry_policy option;
  4. match_ : http_route_match;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproute.html

and grpc_route = {
  1. action : grpc_route_action;
  2. timeout : grpc_timeout option;
  3. retry_policy : grpc_retry_policy option;
  4. match_ : grpc_route_match;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroute.html

and route_spec = {
  1. http_route : http_route option;
  2. priority : int option;
  3. http2_route : http_route option;
  4. grpc_route : grpc_route option;
  5. tcp_route : tcp_route option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html

type properties = {
  1. mesh_name : string;
  2. virtual_router_name : string;
  3. mesh_owner : string option;
  4. route_name : string option;
  5. spec : route_spec;
  6. tags : tag list option;
}

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

val make_properties : mesh_name:string -> virtual_router_name:string -> ?mesh_owner:string -> ?route_name:string -> spec:route_spec -> ?tags:tag list -> unit -> properties
val make_tag : key:string -> value:string -> unit -> tag
val make_http_query_parameter_match : ?exact:string -> unit -> http_query_parameter_match
val make_http_path_match : ?regex:string -> ?exact:string -> unit -> http_path_match
val make_match_range : start:int -> end_:int -> unit -> match_range
val make_tcp_route_match : ?port:int -> unit -> tcp_route_match
val make_weighted_target : virtual_node:string -> ?port:int -> weight:int -> unit -> weighted_target
val make_duration : value:int -> unit:string -> unit -> duration
val make_grpc_retry_policy : max_retries:int -> per_retry_timeout:duration -> ?grpc_retry_events:string list -> ?http_retry_events:string list -> ?tcp_retry_events:string list -> unit -> grpc_retry_policy
val make_http_retry_policy : max_retries:int -> per_retry_timeout:duration -> ?http_retry_events:string list -> ?tcp_retry_events:string list -> unit -> http_retry_policy
val make_tcp_route_action : weighted_targets:weighted_target list -> unit -> tcp_route_action
val make_http_timeout : ?per_request:duration -> ?idle:duration -> unit -> http_timeout
val make_query_parameter : name:string -> ?match_:http_query_parameter_match -> unit -> query_parameter
val make_grpc_route_metadata_match_method : ?suffix:string -> ?regex:string -> ?exact:string -> ?prefix:string -> ?range:match_range -> unit -> grpc_route_metadata_match_method
val make_tcp_timeout : ?idle:duration -> unit -> tcp_timeout
val make_header_match_method : ?suffix:string -> ?regex:string -> ?exact:string -> ?prefix:string -> ?range:match_range -> unit -> header_match_method
val make_http_route_action : weighted_targets:weighted_target list -> unit -> http_route_action
val make_grpc_route_action : weighted_targets:weighted_target list -> unit -> grpc_route_action
val make_grpc_timeout : ?per_request:duration -> ?idle:duration -> unit -> grpc_timeout
val make_tcp_route : action:tcp_route_action -> ?timeout:tcp_timeout -> ?match_:tcp_route_match -> unit -> tcp_route
val make_grpc_route_metadata : ?invert:bool -> name:string -> ?match_:grpc_route_metadata_match_method -> unit -> grpc_route_metadata
val make_http_route_header : ?invert:bool -> name:string -> ?match_:header_match_method -> unit -> http_route_header
val make_http_route_match : ?path:http_path_match -> ?scheme:string -> ?headers:http_route_header list -> ?port:int -> ?prefix:string -> ?method_:string -> ?query_parameters:query_parameter list -> unit -> http_route_match
val make_grpc_route_match : ?service_name:string -> ?port:int -> ?metadata:grpc_route_metadata list -> ?method_name:string -> unit -> grpc_route_match
val make_http_route : action:http_route_action -> ?timeout:http_timeout -> ?retry_policy:http_retry_policy -> match_:http_route_match -> unit -> http_route
val make_grpc_route : action:grpc_route_action -> ?timeout:grpc_timeout -> ?retry_policy:grpc_retry_policy -> match_:grpc_route_match -> unit -> grpc_route
val make_route_spec : ?http_route:http_route -> ?priority:int -> ?http2_route:http_route -> ?grpc_route:grpc_route -> ?tcp_route:tcp_route -> unit -> route_spec
val yojson_of_tag : tag -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_http_query_parameter_match : http_query_parameter_match -> Yojson.Safe.t
val yojson_of_http_path_match : http_path_match -> Yojson.Safe.t
val yojson_of_match_range : match_range -> Yojson.Safe.t
val yojson_of_tcp_route_match : tcp_route_match -> Yojson.Safe.t
val yojson_of_weighted_target : weighted_target -> Yojson.Safe.t
val yojson_of_duration : duration -> Yojson.Safe.t
val yojson_of_grpc_retry_policy : grpc_retry_policy -> Yojson.Safe.t
val yojson_of_http_retry_policy : http_retry_policy -> Yojson.Safe.t
val yojson_of_tcp_route_action : tcp_route_action -> Yojson.Safe.t
val yojson_of_http_timeout : http_timeout -> Yojson.Safe.t
val yojson_of_query_parameter : query_parameter -> Yojson.Safe.t
val yojson_of_grpc_route_metadata_match_method : grpc_route_metadata_match_method -> Yojson.Safe.t
val yojson_of_tcp_timeout : tcp_timeout -> Yojson.Safe.t
val yojson_of_header_match_method : header_match_method -> Yojson.Safe.t
val yojson_of_http_route_action : http_route_action -> Yojson.Safe.t
val yojson_of_grpc_route_action : grpc_route_action -> Yojson.Safe.t
val yojson_of_grpc_timeout : grpc_timeout -> Yojson.Safe.t
val yojson_of_tcp_route : tcp_route -> Yojson.Safe.t
val yojson_of_grpc_route_metadata : grpc_route_metadata -> Yojson.Safe.t
val yojson_of_http_route_header : http_route_header -> Yojson.Safe.t
val yojson_of_http_route_match : http_route_match -> Yojson.Safe.t
val yojson_of_grpc_route_match : grpc_route_match -> Yojson.Safe.t
val yojson_of_http_route : http_route -> Yojson.Safe.t
val yojson_of_grpc_route : grpc_route -> Yojson.Safe.t
val yojson_of_route_spec : route_spec -> [> `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. uid : string;
  3. mesh_name : string;
  4. virtual_router_name : string;
  5. mesh_owner : string;
  6. resource_owner : string;
  7. route_name : string;
  8. arn : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string