CloudFront.Distribution
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-legacys3origin.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-georestriction.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cookies.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-s3originconfig.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-logging.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupmember.html
and custom_error_response = {
response_code : int option;
error_caching_min_ttl : float option;
error_code : int;
response_page_path : string option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customerrorresponse.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-originshield.html
and custom_origin_config = {
origin_read_timeout : int option;
https_port : int option;
origin_keepalive_timeout : int option;
origin_ssl_protocols : string list option;
http_port : int option;
origin_protocol_policy : string;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html
and viewer_certificate = {
iam_certificate_id : string option;
ssl_support_method : string option;
minimum_protocol_version : string option;
cloud_front_default_certificate : bool option;
acm_certificate_arn : string option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-viewercertificate.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-statuscodes.html
and legacy_custom_origin = {
https_port : int option;
origin_ssl_protocols : string list;
dns_name : string;
http_port : int option;
origin_protocol_policy : string;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-legacycustomorigin.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origincustomheader.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-lambdafunctionassociation.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-functionassociation.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-forwardedvalues.html
and origin = {
connection_timeout : int option;
origin_access_control_id : string option;
connection_attempts : int option;
origin_custom_headers : origin_custom_header list option;
domain_name : string;
origin_shield : origin_shield option;
s3_origin_config : s3_origin_config option;
origin_path : string option;
id : string;
custom_origin_config : custom_origin_config option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-restrictions.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupmembers.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupfailovercriteria.html
and cache_behavior = {
compress : bool option;
function_associations : function_association list option;
lambda_function_associations : lambda_function_association list option;
target_origin_id : string;
viewer_protocol_policy : string;
response_headers_policy_id : string option;
realtime_log_config_arn : string option;
trusted_signers : string list option;
default_ttl : float option;
field_level_encryption_id : string option;
trusted_key_groups : string list option;
allowed_methods : string list option;
path_pattern : string;
cached_methods : string list option;
smooth_streaming : bool option;
forwarded_values : forwarded_values option;
origin_request_policy_id : string option;
min_ttl : float option;
cache_policy_id : string option;
max_ttl : float option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html
and default_cache_behavior = {
compress : bool option;
function_associations : function_association list option;
lambda_function_associations : lambda_function_association list option;
target_origin_id : string;
viewer_protocol_policy : string;
response_headers_policy_id : string option;
realtime_log_config_arn : string option;
trusted_signers : string list option;
default_ttl : float option;
field_level_encryption_id : string option;
trusted_key_groups : string list option;
allowed_methods : string list option;
cached_methods : string list option;
smooth_streaming : bool option;
forwarded_values : forwarded_values option;
origin_request_policy_id : string option;
min_ttl : float option;
cache_policy_id : string option;
max_ttl : float option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html
and origin_group = {
id : string;
failover_criteria : origin_group_failover_criteria;
members : origin_group_members;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroup.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroups.html
and distribution_config = {
logging : logging option;
comment : string option;
default_root_object : string option;
origins : origin list option;
viewer_certificate : viewer_certificate option;
price_class : string option;
custom_origin : legacy_custom_origin option;
s3_origin : legacy_s3_origin option;
default_cache_behavior : default_cache_behavior;
staging : bool option;
custom_error_responses : custom_error_response list option;
continuous_deployment_policy_id : string option;
origin_groups : origin_groups option;
enabled : bool;
aliases : string list option;
ip_v6_enabled : bool option;
cnam_es : string list option;
web_acl_id : string option;
http_version : string option;
restrictions : restrictions option;
cache_behaviors : cache_behavior list option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html
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 ]
val create_attributes : string -> attributes