AutoScaling.AutoScalingGroup
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-acceleratorcountrequest.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-acceleratortotalmemorymibrequest.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancemaintenancepolicy.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-networkinterfacecountrequest.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-metricscollection.html
and lifecycle_hook_specification = {
lifecycle_hook_name : string;
lifecycle_transition : string;
heartbeat_timeout : int option;
notification_metadata : string option;
default_result : string option;
notification_target_arn : string option;
role_arn : string option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-tagproperty.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-networkbandwidthgbpsrequest.html
and instances_distribution = {
on_demand_allocation_strategy : string option;
on_demand_base_capacity : int option;
on_demand_percentage_above_base_capacity : int option;
spot_instance_pools : int option;
spot_allocation_strategy : string option;
spot_max_price : string option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancesdistribution.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-baselineebsbandwidthmbpsrequest.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-notificationconfiguration.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-memorygibpervcpurequest.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-memorymibrequest.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-vcpucountrequest.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-totallocalstoragegbrequest.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplatespecification.html
and instance_requirements = {
local_storage_types : string list option;
instance_generations : string list option;
network_interface_count : network_interface_count_request option;
accelerator_types : string list option;
memory_gi_b_per_v_cpu : memory_gi_b_per_v_cpu_request option;
accelerator_manufacturers : string list option;
excluded_instance_types : string list option;
v_cpu_count : v_cpu_count_request;
allowed_instance_types : string list option;
local_storage : string option;
cpu_manufacturers : string list option;
accelerator_count : accelerator_count_request option;
network_bandwidth_gbps : network_bandwidth_gbps_request option;
bare_metal : string option;
require_hibernate_support : bool option;
max_spot_price_as_percentage_of_optimal_on_demand_price : int option;
baseline_ebs_bandwidth_mbps : baseline_ebs_bandwidth_mbps_request option;
spot_max_price_percentage_over_lowest_price : int option;
accelerator_names : string list option;
accelerator_total_memory_mib : accelerator_total_memory_mi_b_request option;
on_demand_max_price_percentage_over_lowest_price : int option;
burstable_performance : string option;
memory_mib : memory_mi_b_request;
total_local_storage_gb : total_local_storage_gb_request option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html
and launch_template_overrides = {
launch_template_specification : launch_template_specification option;
weighted_capacity : string option;
instance_requirements : instance_requirements option;
instance_type : string option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html
and launch_template = {
launch_template_specification : launch_template_specification;
overrides : launch_template_overrides list option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplate.html
and mixed_instances_policy = {
instances_distribution : instances_distribution option;
launch_template : launch_template;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-mixedinstancespolicy.html
type properties = {
lifecycle_hook_specification_list : lifecycle_hook_specification list option;
load_balancer_names : string list option;
launch_configuration_name : string option;
service_linked_role_arn : string option;
target_group_ar_ns : string list option;
cooldown : string option;
notification_configurations : notification_configuration list option;
desired_capacity : string option;
health_check_grace_period : int option;
default_instance_warmup : int option;
new_instances_protected_from_scale_in : bool option;
launch_template : launch_template_specification option;
mixed_instances_policy : mixed_instances_policy option;
vpc_zone_identifier : string list option;
context : string option;
capacity_rebalance : bool option;
instance_id : string option;
availability_zones : string list option;
metrics_collection : metrics_collection list option;
instance_maintenance_policy : instance_maintenance_policy option;
max_size : string;
min_size : string;
termination_policies : string list option;
auto_scaling_group_name : string option;
desired_capacity_type : string option;
placement_group : string option;
health_check_type : string option;
max_instance_lifetime : int option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html;
val make_properties :
?lifecycle_hook_specification_list:lifecycle_hook_specification list ->
?load_balancer_names:string list ->
?launch_configuration_name:string ->
?service_linked_role_arn:string ->
?target_group_ar_ns:string list ->
?cooldown:string ->
?notification_configurations:notification_configuration list ->
?desired_capacity:string ->
?health_check_grace_period:int ->
?default_instance_warmup:int ->
?new_instances_protected_from_scale_in:bool ->
?launch_template:launch_template_specification ->
?mixed_instances_policy:mixed_instances_policy ->
?vpc_zone_identifier:string list ->
?tags:tag_property list ->
?context:string ->
?capacity_rebalance:bool ->
?instance_id:string ->
?availability_zones:string list ->
?metrics_collection:metrics_collection list ->
?instance_maintenance_policy:instance_maintenance_policy ->
max_size:string ->
min_size:string ->
?termination_policies:string list ->
?auto_scaling_group_name:string ->
?desired_capacity_type:string ->
?placement_group:string ->
?health_check_type:string ->
?max_instance_lifetime:int ->
unit ->
properties
val make_accelerator_count_request :
?min:int ->
?max:int ->
unit ->
accelerator_count_request
val make_accelerator_total_memory_mi_b_request :
?min:int ->
?max:int ->
unit ->
accelerator_total_memory_mi_b_request
val make_instance_maintenance_policy :
?max_healthy_percentage:int ->
?min_healthy_percentage:int ->
unit ->
instance_maintenance_policy
val make_network_interface_count_request :
?min:int ->
?max:int ->
unit ->
network_interface_count_request
val make_metrics_collection :
?metrics:string list ->
granularity:string ->
unit ->
metrics_collection
val make_lifecycle_hook_specification :
lifecycle_hook_name:string ->
lifecycle_transition:string ->
?heartbeat_timeout:int ->
?notification_metadata:string ->
?default_result:string ->
?notification_target_arn:string ->
?role_arn:string ->
unit ->
lifecycle_hook_specification
val make_tag_property :
value:string ->
key:string ->
propagate_at_launch:bool ->
unit ->
tag_property
val make_network_bandwidth_gbps_request :
?min:float ->
?max:float ->
unit ->
network_bandwidth_gbps_request
val make_instances_distribution :
?on_demand_allocation_strategy:string ->
?on_demand_base_capacity:int ->
?on_demand_percentage_above_base_capacity:int ->
?spot_instance_pools:int ->
?spot_allocation_strategy:string ->
?spot_max_price:string ->
unit ->
instances_distribution
val make_baseline_ebs_bandwidth_mbps_request :
?min:int ->
?max:int ->
unit ->
baseline_ebs_bandwidth_mbps_request
val make_notification_configuration :
topic_arn:string list ->
?notification_types:string list ->
unit ->
notification_configuration
val make_memory_gi_b_per_v_cpu_request :
?min:float ->
?max:float ->
unit ->
memory_gi_b_per_v_cpu_request
val make_memory_mi_b_request :
?min:int ->
?max:int ->
unit ->
memory_mi_b_request
val make_v_cpu_count_request :
?min:int ->
?max:int ->
unit ->
v_cpu_count_request
val make_total_local_storage_gb_request :
?min:float ->
?max:float ->
unit ->
total_local_storage_gb_request
val make_launch_template_specification :
?launch_template_name:string ->
version:string ->
?launch_template_id:string ->
unit ->
launch_template_specification
val make_instance_requirements :
?local_storage_types:string list ->
?instance_generations:string list ->
?network_interface_count:network_interface_count_request ->
?accelerator_types:string list ->
?memory_gi_b_per_v_cpu:memory_gi_b_per_v_cpu_request ->
?accelerator_manufacturers:string list ->
?excluded_instance_types:string list ->
v_cpu_count:v_cpu_count_request ->
?allowed_instance_types:string list ->
?local_storage:string ->
?cpu_manufacturers:string list ->
?accelerator_count:accelerator_count_request ->
?network_bandwidth_gbps:network_bandwidth_gbps_request ->
?bare_metal:string ->
?require_hibernate_support:bool ->
?max_spot_price_as_percentage_of_optimal_on_demand_price:int ->
?baseline_ebs_bandwidth_mbps:baseline_ebs_bandwidth_mbps_request ->
?spot_max_price_percentage_over_lowest_price:int ->
?accelerator_names:string list ->
?accelerator_total_memory_mib:accelerator_total_memory_mi_b_request ->
?on_demand_max_price_percentage_over_lowest_price:int ->
?burstable_performance:string ->
memory_mib:memory_mi_b_request ->
?total_local_storage_gb:total_local_storage_gb_request ->
unit ->
instance_requirements
val make_launch_template_overrides :
?launch_template_specification:launch_template_specification ->
?weighted_capacity:string ->
?instance_requirements:instance_requirements ->
?instance_type:string ->
unit ->
launch_template_overrides
val make_launch_template :
launch_template_specification:launch_template_specification ->
?overrides:launch_template_overrides list ->
unit ->
launch_template
val make_mixed_instances_policy :
?instances_distribution:instances_distribution ->
launch_template:launch_template ->
unit ->
mixed_instances_policy
val yojson_of_accelerator_count_request :
accelerator_count_request ->
Yojson.Safe.t
val yojson_of_accelerator_total_memory_mi_b_request :
accelerator_total_memory_mi_b_request ->
Yojson.Safe.t
val yojson_of_instance_maintenance_policy :
instance_maintenance_policy ->
[> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_network_interface_count_request :
network_interface_count_request ->
Yojson.Safe.t
val yojson_of_metrics_collection :
metrics_collection ->
[> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_lifecycle_hook_specification :
lifecycle_hook_specification ->
[> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_tag_property :
tag_property ->
[> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_network_bandwidth_gbps_request :
network_bandwidth_gbps_request ->
Yojson.Safe.t
val yojson_of_instances_distribution : instances_distribution -> Yojson.Safe.t
val yojson_of_baseline_ebs_bandwidth_mbps_request :
baseline_ebs_bandwidth_mbps_request ->
Yojson.Safe.t
val yojson_of_notification_configuration :
notification_configuration ->
[> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_memory_gi_b_per_v_cpu_request :
memory_gi_b_per_v_cpu_request ->
Yojson.Safe.t
val yojson_of_memory_mi_b_request : memory_mi_b_request -> Yojson.Safe.t
val yojson_of_v_cpu_count_request : v_cpu_count_request -> Yojson.Safe.t
val yojson_of_total_local_storage_gb_request :
total_local_storage_gb_request ->
Yojson.Safe.t
val yojson_of_launch_template_specification :
launch_template_specification ->
Yojson.Safe.t
val yojson_of_instance_requirements : instance_requirements -> Yojson.Safe.t
val yojson_of_launch_template_overrides :
launch_template_overrides ->
Yojson.Safe.t
val yojson_of_launch_template : launch_template -> Yojson.Safe.t
val yojson_of_mixed_instances_policy :
mixed_instances_policy ->
[> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_properties :
properties ->
[> `Assoc of (string * Yojson.Safe.t) list ]
val create_attributes : string -> attributes