Module Lightsail.Distribution

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html

type cache_behavior = {
  1. behavior : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachebehavior.html

and query_string_object = {
  1. option : bool option;
  2. query_strings_allow_list : string list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-querystringobject.html

and input_origin = {
  1. region_name : string option;
  2. protocol_policy : string option;
  3. name : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-inputorigin.html

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

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

and cache_behavior_per_path = {
  1. path : string option;
  2. behavior : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachebehaviorperpath.html

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cookieobject.html

and header_object = {
  1. headers_allow_list : string list option;
  2. option : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-headerobject.html

and cache_settings = {
  1. forwarded_cookies : cookie_object option;
  2. minimum_ttl : int option;
  3. cached_http_methods : string option;
  4. allowed_http_methods : string option;
  5. maximum_ttl : int option;
  6. forwarded_headers : header_object option;
  7. default_ttl : int option;
  8. forwarded_query_strings : query_string_object option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html

type properties = {
  1. ip_address_type : string option;
  2. origin : input_origin;
  3. distribution_name : string;
  4. bundle_id : string;
  5. default_cache_behavior : cache_behavior;
  6. is_enabled : bool option;
  7. cache_behavior_settings : cache_settings option;
  8. certificate_name : string option;
  9. tags : tag list option;
  10. cache_behaviors : cache_behavior_per_path list option;
}

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

val make_properties : ?ip_address_type:string -> origin:input_origin -> distribution_name:string -> bundle_id:string -> default_cache_behavior:cache_behavior -> ?is_enabled:bool -> ?cache_behavior_settings:cache_settings -> ?certificate_name:string -> ?tags:tag list -> ?cache_behaviors:cache_behavior_per_path list -> unit -> properties
val make_cache_behavior : ?behavior:string -> unit -> cache_behavior
val make_query_string_object : ?option:bool -> ?query_strings_allow_list:string list -> unit -> query_string_object
val make_input_origin : ?region_name:string -> ?protocol_policy:string -> ?name:string -> unit -> input_origin
val make_tag : value:string -> key:string -> unit -> tag
val make_cache_behavior_per_path : ?path:string -> ?behavior:string -> unit -> cache_behavior_per_path
val make_header_object : ?headers_allow_list:string list -> ?option:string -> unit -> header_object
val make_cache_settings : ?forwarded_cookies:cookie_object -> ?minimum_ttl:int -> ?cached_http_methods:string -> ?allowed_http_methods:string -> ?maximum_ttl:int -> ?forwarded_headers:header_object -> ?default_ttl:int -> ?forwarded_query_strings:query_string_object -> unit -> cache_settings
val yojson_of_cache_behavior : cache_behavior -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_query_string_object : query_string_object -> Yojson.Safe.t
val yojson_of_input_origin : input_origin -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_tag : tag -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_cache_behavior_per_path : cache_behavior_per_path -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_header_object : header_object -> Yojson.Safe.t
val yojson_of_cache_settings : cache_settings -> [> `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. status : string;
  3. distribution_arn : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string