Module CloudFront.Distribution

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

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

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

and legacy_s3_origin = {
  1. origin_access_identity : string option;
  2. dns_name : string;
}

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

and geo_restriction = {
  1. locations : string list option;
  2. restriction_type : string;
}

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

and cookies = {
  1. whitelisted_names : string list option;
  2. forward : string;
}

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

and s3_origin_config = {
  1. origin_access_identity : string option;
}

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

and logging = {
  1. include_cookies : bool option;
  2. bucket : string;
  3. prefix : string option;
}

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

and origin_group_member = {
  1. origin_id : string;
}

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

and custom_error_response = {
  1. response_code : int option;
  2. error_caching_min_ttl : float option;
  3. error_code : int;
  4. response_page_path : string option;
}

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

and origin_shield = {
  1. origin_shield_region : string option;
  2. enabled : bool option;
}

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

and custom_origin_config = {
  1. origin_read_timeout : int option;
  2. https_port : int option;
  3. origin_keepalive_timeout : int option;
  4. origin_ssl_protocols : string list option;
  5. http_port : int option;
  6. origin_protocol_policy : string;
}

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

and viewer_certificate = {
  1. iam_certificate_id : string option;
  2. ssl_support_method : string option;
  3. minimum_protocol_version : string option;
  4. cloud_front_default_certificate : bool option;
  5. acm_certificate_arn : string option;
}

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

and status_codes = {
  1. quantity : int;
  2. items : int list;
}

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

and legacy_custom_origin = {
  1. https_port : int option;
  2. origin_ssl_protocols : string list;
  3. dns_name : string;
  4. http_port : int option;
  5. origin_protocol_policy : string;
}

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

and origin_custom_header = {
  1. header_value : string;
  2. header_name : string;
}

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

and lambda_function_association = {
  1. include_body : bool option;
  2. event_type : string option;
  3. lambda_function_arn : string option;
}

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

and function_association = {
  1. function_arn : string option;
  2. event_type : string option;
}

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

and forwarded_values = {
  1. cookies : cookies option;
  2. headers : string list option;
  3. query_string : bool;
  4. query_string_cache_keys : string list option;
}

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

and origin = {
  1. connection_timeout : int option;
  2. origin_access_control_id : string option;
  3. connection_attempts : int option;
  4. origin_custom_headers : origin_custom_header list option;
  5. domain_name : string;
  6. origin_shield : origin_shield option;
  7. s3_origin_config : s3_origin_config option;
  8. origin_path : string option;
  9. id : string;
  10. custom_origin_config : custom_origin_config option;
}

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

and restrictions = {
  1. geo_restriction : geo_restriction;
}

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

and origin_group_members = {
  1. quantity : int;
  2. items : origin_group_member list;
}

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

and origin_group_failover_criteria = {
  1. status_codes : status_codes;
}

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

and cache_behavior = {
  1. compress : bool option;
  2. function_associations : function_association list option;
  3. lambda_function_associations : lambda_function_association list option;
  4. target_origin_id : string;
  5. viewer_protocol_policy : string;
  6. response_headers_policy_id : string option;
  7. realtime_log_config_arn : string option;
  8. trusted_signers : string list option;
  9. default_ttl : float option;
  10. field_level_encryption_id : string option;
  11. trusted_key_groups : string list option;
  12. allowed_methods : string list option;
  13. path_pattern : string;
  14. cached_methods : string list option;
  15. smooth_streaming : bool option;
  16. forwarded_values : forwarded_values option;
  17. origin_request_policy_id : string option;
  18. min_ttl : float option;
  19. cache_policy_id : string option;
  20. max_ttl : float option;
}

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

and default_cache_behavior = {
  1. compress : bool option;
  2. function_associations : function_association list option;
  3. lambda_function_associations : lambda_function_association list option;
  4. target_origin_id : string;
  5. viewer_protocol_policy : string;
  6. response_headers_policy_id : string option;
  7. realtime_log_config_arn : string option;
  8. trusted_signers : string list option;
  9. default_ttl : float option;
  10. field_level_encryption_id : string option;
  11. trusted_key_groups : string list option;
  12. allowed_methods : string list option;
  13. cached_methods : string list option;
  14. smooth_streaming : bool option;
  15. forwarded_values : forwarded_values option;
  16. origin_request_policy_id : string option;
  17. min_ttl : float option;
  18. cache_policy_id : string option;
  19. max_ttl : float option;
}

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

and origin_group = {
  1. id : string;
  2. failover_criteria : origin_group_failover_criteria;
  3. members : origin_group_members;
}

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

and origin_groups = {
  1. quantity : int;
  2. items : origin_group list option;
}

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

and distribution_config = {
  1. logging : logging option;
  2. comment : string option;
  3. default_root_object : string option;
  4. origins : origin list option;
  5. viewer_certificate : viewer_certificate option;
  6. price_class : string option;
  7. custom_origin : legacy_custom_origin option;
  8. s3_origin : legacy_s3_origin option;
  9. default_cache_behavior : default_cache_behavior;
  10. staging : bool option;
  11. custom_error_responses : custom_error_response list option;
  12. continuous_deployment_policy_id : string option;
  13. origin_groups : origin_groups option;
  14. enabled : bool;
  15. aliases : string list option;
  16. ip_v6_enabled : bool option;
  17. cnam_es : string list option;
  18. web_acl_id : string option;
  19. http_version : string option;
  20. restrictions : restrictions option;
  21. cache_behaviors : cache_behavior list option;
}

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

type properties = {
  1. distribution_config : distribution_config;
  2. tags : tag list option;
}

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

val make_properties : distribution_config:distribution_config -> ?tags:tag list -> unit -> properties
val make_tag : value:string -> key:string -> unit -> tag
val make_legacy_s3_origin : ?origin_access_identity:string -> dns_name:string -> unit -> legacy_s3_origin
val make_geo_restriction : ?locations:string list -> restriction_type:string -> unit -> geo_restriction
val make_cookies : ?whitelisted_names:string list -> forward:string -> unit -> cookies
val make_s3_origin_config : ?origin_access_identity:string -> unit -> s3_origin_config
val make_logging : ?include_cookies:bool -> bucket:string -> ?prefix:string -> unit -> logging
val make_origin_group_member : origin_id:string -> unit -> origin_group_member
val make_custom_error_response : ?response_code:int -> ?error_caching_min_ttl:float -> error_code:int -> ?response_page_path:string -> unit -> custom_error_response
val make_origin_shield : ?origin_shield_region:string -> ?enabled:bool -> unit -> origin_shield
val make_custom_origin_config : ?origin_read_timeout:int -> ?https_port:int -> ?origin_keepalive_timeout:int -> ?origin_ssl_protocols:string list -> ?http_port:int -> origin_protocol_policy:string -> unit -> custom_origin_config
val make_viewer_certificate : ?iam_certificate_id:string -> ?ssl_support_method:string -> ?minimum_protocol_version:string -> ?cloud_front_default_certificate:bool -> ?acm_certificate_arn:string -> unit -> viewer_certificate
val make_status_codes : quantity:int -> items:int list -> unit -> status_codes
val make_legacy_custom_origin : ?https_port:int -> origin_ssl_protocols:string list -> dns_name:string -> ?http_port:int -> origin_protocol_policy:string -> unit -> legacy_custom_origin
val make_origin_custom_header : header_value:string -> header_name:string -> unit -> origin_custom_header
val make_lambda_function_association : ?include_body:bool -> ?event_type:string -> ?lambda_function_arn:string -> unit -> lambda_function_association
val make_function_association : ?function_arn:string -> ?event_type:string -> unit -> function_association
val make_forwarded_values : ?cookies:cookies -> ?headers:string list -> query_string:bool -> ?query_string_cache_keys:string list -> unit -> forwarded_values
val make_origin : ?connection_timeout:int -> ?origin_access_control_id:string -> ?connection_attempts:int -> ?origin_custom_headers:origin_custom_header list -> domain_name:string -> ?origin_shield:origin_shield -> ?s3_origin_config:s3_origin_config -> ?origin_path:string -> id:string -> ?custom_origin_config:custom_origin_config -> unit -> origin
val make_restrictions : geo_restriction:geo_restriction -> unit -> restrictions
val make_origin_group_members : quantity:int -> items:origin_group_member list -> unit -> origin_group_members
val make_origin_group_failover_criteria : status_codes:status_codes -> unit -> origin_group_failover_criteria
val make_cache_behavior : ?compress:bool -> ?function_associations:function_association list -> ?lambda_function_associations:lambda_function_association list -> target_origin_id:string -> viewer_protocol_policy:string -> ?response_headers_policy_id:string -> ?realtime_log_config_arn:string -> ?trusted_signers:string list -> ?default_ttl:float -> ?field_level_encryption_id:string -> ?trusted_key_groups:string list -> ?allowed_methods:string list -> path_pattern:string -> ?cached_methods:string list -> ?smooth_streaming:bool -> ?forwarded_values:forwarded_values -> ?origin_request_policy_id:string -> ?min_ttl:float -> ?cache_policy_id:string -> ?max_ttl:float -> unit -> cache_behavior
val make_default_cache_behavior : ?compress:bool -> ?function_associations:function_association list -> ?lambda_function_associations:lambda_function_association list -> target_origin_id:string -> viewer_protocol_policy:string -> ?response_headers_policy_id:string -> ?realtime_log_config_arn:string -> ?trusted_signers:string list -> ?default_ttl:float -> ?field_level_encryption_id:string -> ?trusted_key_groups:string list -> ?allowed_methods:string list -> ?cached_methods:string list -> ?smooth_streaming:bool -> ?forwarded_values:forwarded_values -> ?origin_request_policy_id:string -> ?min_ttl:float -> ?cache_policy_id:string -> ?max_ttl:float -> unit -> default_cache_behavior
val make_origin_group : id:string -> failover_criteria:origin_group_failover_criteria -> members:origin_group_members -> unit -> origin_group
val make_origin_groups : quantity:int -> ?items:origin_group list -> unit -> origin_groups
val make_distribution_config : ?logging:logging -> ?comment:string -> ?default_root_object:string -> ?origins:origin list -> ?viewer_certificate:viewer_certificate -> ?price_class:string -> ?custom_origin:legacy_custom_origin -> ?s3_origin:legacy_s3_origin -> default_cache_behavior:default_cache_behavior -> ?staging:bool -> ?custom_error_responses:custom_error_response list -> ?continuous_deployment_policy_id:string -> ?origin_groups:origin_groups -> enabled:bool -> ?aliases:string list -> ?ip_v6_enabled:bool -> ?cnam_es:string list -> ?web_acl_id:string -> ?http_version:string -> ?restrictions:restrictions -> ?cache_behaviors:cache_behavior list -> unit -> distribution_config
val yojson_of_tag : tag -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_legacy_s3_origin : legacy_s3_origin -> Yojson.Safe.t
val yojson_of_geo_restriction : geo_restriction -> Yojson.Safe.t
val yojson_of_cookies : cookies -> Yojson.Safe.t
val yojson_of_s3_origin_config : s3_origin_config -> Yojson.Safe.t
val yojson_of_logging : logging -> Yojson.Safe.t
val yojson_of_origin_group_member : origin_group_member -> Yojson.Safe.t
val yojson_of_custom_error_response : custom_error_response -> Yojson.Safe.t
val yojson_of_origin_shield : origin_shield -> Yojson.Safe.t
val yojson_of_custom_origin_config : custom_origin_config -> Yojson.Safe.t
val yojson_of_viewer_certificate : viewer_certificate -> Yojson.Safe.t
val yojson_of_status_codes : status_codes -> Yojson.Safe.t
val yojson_of_legacy_custom_origin : legacy_custom_origin -> Yojson.Safe.t
val yojson_of_origin_custom_header : origin_custom_header -> Yojson.Safe.t
val yojson_of_lambda_function_association : lambda_function_association -> Yojson.Safe.t
val yojson_of_function_association : function_association -> Yojson.Safe.t
val yojson_of_forwarded_values : forwarded_values -> Yojson.Safe.t
val yojson_of_origin : origin -> Yojson.Safe.t
val yojson_of_restrictions : restrictions -> Yojson.Safe.t
val yojson_of_origin_group_members : origin_group_members -> Yojson.Safe.t
val yojson_of_origin_group_failover_criteria : origin_group_failover_criteria -> Yojson.Safe.t
val yojson_of_cache_behavior : cache_behavior -> Yojson.Safe.t
val yojson_of_default_cache_behavior : default_cache_behavior -> Yojson.Safe.t
val yojson_of_origin_group : origin_group -> Yojson.Safe.t
val yojson_of_origin_groups : origin_groups -> Yojson.Safe.t
val yojson_of_distribution_config : distribution_config -> [> `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. domain_name : string;
  3. id : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string