EC2.SpotFleet
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-memorymibrequest.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-networkinterfacecountrequest.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-ec2-spotfleet-totallocalstoragegbrequest.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroup.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instanceipv6address.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-vcpucountrangerequest.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-acceleratorcountrequest.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-acceleratortotalmemorymibrequest.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetmonitoring.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotplacement.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-iaminstanceprofilespecification.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-baselineebsbandwidthmbpsrequest.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-groupidentifier.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-privateipaddressspecification.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-networkbandwidthgbpsrequest.html
and ebs_block_device = {
snapshot_id : string option;
volume_type : string option;
encrypted : bool option;
iops : int option;
volume_size : int option;
delete_on_termination : bool option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-ebsblockdevice.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-memorygibpervcpurequest.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-classicloadbalancer.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotcapacityrebalance.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-fleetlaunchtemplatespecification.html
and instance_requirements_request = {
local_storage_types : string list option;
instance_generations : string list option;
network_interface_count : network_interface_count_request option;
memory_gi_b_per_v_cpu : memory_gi_b_per_v_cpu_request option;
accelerator_types : string list option;
v_cpu_count : v_cpu_count_range_request option;
excluded_instance_types : string list option;
accelerator_manufacturers : string list option;
allowed_instance_types : string list option;
local_storage : string option;
cpu_manufacturers : string list option;
network_bandwidth_gbps : network_bandwidth_gbps_request option;
accelerator_count : accelerator_count_request option;
bare_metal : string option;
require_hibernate_support : bool option;
spot_max_price_percentage_over_lowest_price : int option;
baseline_ebs_bandwidth_mbps : baseline_ebs_bandwidth_mbps_request option;
on_demand_max_price_percentage_over_lowest_price : int option;
accelerator_names : string list option;
accelerator_total_memory_mib : accelerator_total_memory_mi_b_request option;
burstable_performance : string option;
memory_mib : memory_mi_b_request option;
total_local_storage_gb : total_local_storage_gb_request option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroupsconfig.html
and block_device_mapping = {
ebs : ebs_block_device option;
no_device : string option;
virtual_name : string option;
device_name : string;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-blockdevicemapping.html
and instance_network_interface_specification = {
description : string option;
private_ip_addresses : private_ip_address_specification list option;
secondary_private_ip_address_count : int option;
device_index : int option;
groups : string list option;
ipv6_address_count : int option;
ipv6_addresses : instance_ipv6_address list option;
subnet_id : string option;
associate_public_ip_address : bool option;
network_interface_id : string option;
delete_on_termination : bool option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancenetworkinterfacespecification.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleettagspecification.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-classicloadbalancersconfig.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotmaintenancestrategies.html
and launch_template_overrides = {
spot_price : string option;
weighted_capacity : float option;
priority : float option;
availability_zone : string option;
subnet_id : string option;
instance_requirements : instance_requirements_request option;
instance_type : string option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html
and spot_fleet_launch_specification = {
security_groups : group_identifier list option;
tag_specifications : spot_fleet_tag_specification list option;
user_data : string option;
block_device_mappings : block_device_mapping list option;
iam_instance_profile : iam_instance_profile_specification option;
kernel_id : string option;
subnet_id : string option;
ebs_optimized : bool option;
key_name : string option;
ramdisk_id : string option;
spot_price : string option;
weighted_capacity : float option;
placement : spot_placement option;
network_interfaces : instance_network_interface_specification list option;
image_id : string;
instance_requirements : instance_requirements_request option;
instance_type : string option;
monitoring : spot_fleet_monitoring option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html
and load_balancers_config = {
classic_load_balancers_config : classic_load_balancers_config option;
target_groups_config : target_groups_config option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-loadbalancersconfig.html
and launch_template_config = {
launch_template_specification : fleet_launch_template_specification option;
overrides : launch_template_overrides list option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateconfig.html
and spot_fleet_request_config_data = {
context : string option;
spot_max_total_price : string option;
excess_capacity_termination_policy : string option;
tag_specifications : spot_fleet_tag_specification list option;
instance_pools_to_use_count : int option;
launch_template_configs : launch_template_config list option;
target_capacity_unit_type : string option;
iam_fleet_role : string;
spot_maintenance_strategies : spot_maintenance_strategies option;
terminate_instances_with_expiration : bool option;
valid_until : string option;
on_demand_max_total_price : string option;
on_demand_allocation_strategy : string option;
spot_price : string option;
allocation_strategy : string option;
on_demand_target_capacity : int option;
type_ : string option;
launch_specifications : spot_fleet_launch_specification list option;
instance_interruption_behavior : string option;
load_balancers_config : load_balancers_config option;
valid_from : string option;
replace_unhealthy_instances : bool option;
target_capacity : int;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.html;
val make_properties :
spot_fleet_request_config_data:spot_fleet_request_config_data ->
unit ->
properties
val make_memory_mi_b_request :
?min:int ->
?max:int ->
unit ->
memory_mi_b_request
val make_network_interface_count_request :
?min:int ->
?max:int ->
unit ->
network_interface_count_request
val make_tag : value:string -> key:string -> unit -> tag
val make_total_local_storage_gb_request :
?min:float ->
?max:float ->
unit ->
total_local_storage_gb_request
val make_target_group : arn:string -> unit -> target_group
val make_instance_ipv6_address :
ipv6_address:string ->
unit ->
instance_ipv6_address
val make_v_cpu_count_range_request :
?min:int ->
?max:int ->
unit ->
v_cpu_count_range_request
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_spot_fleet_monitoring : ?enabled:bool -> unit -> spot_fleet_monitoring
val make_spot_placement :
?group_name:string ->
?tenancy:string ->
?availability_zone:string ->
unit ->
spot_placement
val make_iam_instance_profile_specification :
?arn:string ->
unit ->
iam_instance_profile_specification
val make_baseline_ebs_bandwidth_mbps_request :
?min:int ->
?max:int ->
unit ->
baseline_ebs_bandwidth_mbps_request
val make_group_identifier : group_id:string -> unit -> group_identifier
val make_private_ip_address_specification :
private_ip_address:string ->
?primary:bool ->
unit ->
private_ip_address_specification
val make_network_bandwidth_gbps_request :
?min:float ->
?max:float ->
unit ->
network_bandwidth_gbps_request
val make_ebs_block_device :
?snapshot_id:string ->
?volume_type:string ->
?encrypted:bool ->
?iops:int ->
?volume_size:int ->
?delete_on_termination:bool ->
unit ->
ebs_block_device
val make_memory_gi_b_per_v_cpu_request :
?min:float ->
?max:float ->
unit ->
memory_gi_b_per_v_cpu_request
val make_classic_load_balancer : name:string -> unit -> classic_load_balancer
val make_spot_capacity_rebalance :
?termination_delay:int ->
?replacement_strategy:string ->
unit ->
spot_capacity_rebalance
val make_fleet_launch_template_specification :
?launch_template_name:string ->
version:string ->
?launch_template_id:string ->
unit ->
fleet_launch_template_specification
val make_instance_requirements_request :
?local_storage_types:string list ->
?instance_generations:string list ->
?network_interface_count:network_interface_count_request ->
?memory_gi_b_per_v_cpu:memory_gi_b_per_v_cpu_request ->
?accelerator_types:string list ->
?v_cpu_count:v_cpu_count_range_request ->
?excluded_instance_types:string list ->
?accelerator_manufacturers:string list ->
?allowed_instance_types:string list ->
?local_storage:string ->
?cpu_manufacturers:string list ->
?network_bandwidth_gbps:network_bandwidth_gbps_request ->
?accelerator_count:accelerator_count_request ->
?bare_metal:string ->
?require_hibernate_support:bool ->
?spot_max_price_percentage_over_lowest_price:int ->
?baseline_ebs_bandwidth_mbps:baseline_ebs_bandwidth_mbps_request ->
?on_demand_max_price_percentage_over_lowest_price:int ->
?accelerator_names:string list ->
?accelerator_total_memory_mib:accelerator_total_memory_mi_b_request ->
?burstable_performance:string ->
?memory_mib:memory_mi_b_request ->
?total_local_storage_gb:total_local_storage_gb_request ->
unit ->
instance_requirements_request
val make_target_groups_config :
target_groups:target_group list ->
unit ->
target_groups_config
val make_block_device_mapping :
?ebs:ebs_block_device ->
?no_device:string ->
?virtual_name:string ->
device_name:string ->
unit ->
block_device_mapping
val make_instance_network_interface_specification :
?description:string ->
?private_ip_addresses:private_ip_address_specification list ->
?secondary_private_ip_address_count:int ->
?device_index:int ->
?groups:string list ->
?ipv6_address_count:int ->
?ipv6_addresses:instance_ipv6_address list ->
?subnet_id:string ->
?associate_public_ip_address:bool ->
?network_interface_id:string ->
?delete_on_termination:bool ->
unit ->
instance_network_interface_specification
val make_spot_fleet_tag_specification :
?resource_type:string ->
?tags:tag list ->
unit ->
spot_fleet_tag_specification
val make_classic_load_balancers_config :
classic_load_balancers:classic_load_balancer list ->
unit ->
classic_load_balancers_config
val make_spot_maintenance_strategies :
?capacity_rebalance:spot_capacity_rebalance ->
unit ->
spot_maintenance_strategies
val make_launch_template_overrides :
?spot_price:string ->
?weighted_capacity:float ->
?priority:float ->
?availability_zone:string ->
?subnet_id:string ->
?instance_requirements:instance_requirements_request ->
?instance_type:string ->
unit ->
launch_template_overrides
val make_spot_fleet_launch_specification :
?security_groups:group_identifier list ->
?tag_specifications:spot_fleet_tag_specification list ->
?user_data:string ->
?block_device_mappings:block_device_mapping list ->
?iam_instance_profile:iam_instance_profile_specification ->
?kernel_id:string ->
?subnet_id:string ->
?ebs_optimized:bool ->
?key_name:string ->
?ramdisk_id:string ->
?spot_price:string ->
?weighted_capacity:float ->
?placement:spot_placement ->
?network_interfaces:instance_network_interface_specification list ->
image_id:string ->
?instance_requirements:instance_requirements_request ->
?instance_type:string ->
?monitoring:spot_fleet_monitoring ->
unit ->
spot_fleet_launch_specification
val make_load_balancers_config :
?classic_load_balancers_config:classic_load_balancers_config ->
?target_groups_config:target_groups_config ->
unit ->
load_balancers_config
val make_launch_template_config :
?launch_template_specification:fleet_launch_template_specification ->
?overrides:launch_template_overrides list ->
unit ->
launch_template_config
val make_spot_fleet_request_config_data :
?context:string ->
?spot_max_total_price:string ->
?excess_capacity_termination_policy:string ->
?tag_specifications:spot_fleet_tag_specification list ->
?instance_pools_to_use_count:int ->
?launch_template_configs:launch_template_config list ->
?target_capacity_unit_type:string ->
iam_fleet_role:string ->
?spot_maintenance_strategies:spot_maintenance_strategies ->
?terminate_instances_with_expiration:bool ->
?valid_until:string ->
?on_demand_max_total_price:string ->
?on_demand_allocation_strategy:string ->
?spot_price:string ->
?allocation_strategy:string ->
?on_demand_target_capacity:int ->
?type_:string ->
?launch_specifications:spot_fleet_launch_specification list ->
?instance_interruption_behavior:string ->
?load_balancers_config:load_balancers_config ->
?valid_from:string ->
?replace_unhealthy_instances:bool ->
target_capacity:int ->
unit ->
spot_fleet_request_config_data
val yojson_of_memory_mi_b_request : memory_mi_b_request -> Yojson.Safe.t
val yojson_of_network_interface_count_request :
network_interface_count_request ->
Yojson.Safe.t
val yojson_of_tag : tag -> Yojson.Safe.t
val yojson_of_total_local_storage_gb_request :
total_local_storage_gb_request ->
Yojson.Safe.t
val yojson_of_target_group : target_group -> Yojson.Safe.t
val yojson_of_instance_ipv6_address : instance_ipv6_address -> Yojson.Safe.t
val yojson_of_v_cpu_count_range_request :
v_cpu_count_range_request ->
Yojson.Safe.t
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_spot_fleet_monitoring : spot_fleet_monitoring -> Yojson.Safe.t
val yojson_of_spot_placement : spot_placement -> Yojson.Safe.t
val yojson_of_iam_instance_profile_specification :
iam_instance_profile_specification ->
Yojson.Safe.t
val yojson_of_baseline_ebs_bandwidth_mbps_request :
baseline_ebs_bandwidth_mbps_request ->
Yojson.Safe.t
val yojson_of_group_identifier : group_identifier -> Yojson.Safe.t
val yojson_of_private_ip_address_specification :
private_ip_address_specification ->
Yojson.Safe.t
val yojson_of_network_bandwidth_gbps_request :
network_bandwidth_gbps_request ->
Yojson.Safe.t
val yojson_of_ebs_block_device : ebs_block_device -> Yojson.Safe.t
val yojson_of_memory_gi_b_per_v_cpu_request :
memory_gi_b_per_v_cpu_request ->
Yojson.Safe.t
val yojson_of_classic_load_balancer : classic_load_balancer -> Yojson.Safe.t
val yojson_of_spot_capacity_rebalance :
spot_capacity_rebalance ->
Yojson.Safe.t
val yojson_of_fleet_launch_template_specification :
fleet_launch_template_specification ->
Yojson.Safe.t
val yojson_of_instance_requirements_request :
instance_requirements_request ->
Yojson.Safe.t
val yojson_of_target_groups_config : target_groups_config -> Yojson.Safe.t
val yojson_of_block_device_mapping : block_device_mapping -> Yojson.Safe.t
val yojson_of_instance_network_interface_specification :
instance_network_interface_specification ->
Yojson.Safe.t
val yojson_of_spot_fleet_tag_specification :
spot_fleet_tag_specification ->
Yojson.Safe.t
val yojson_of_classic_load_balancers_config :
classic_load_balancers_config ->
Yojson.Safe.t
val yojson_of_spot_maintenance_strategies :
spot_maintenance_strategies ->
Yojson.Safe.t
val yojson_of_launch_template_overrides :
launch_template_overrides ->
Yojson.Safe.t
val yojson_of_spot_fleet_launch_specification :
spot_fleet_launch_specification ->
Yojson.Safe.t
val yojson_of_load_balancers_config : load_balancers_config -> Yojson.Safe.t
val yojson_of_launch_template_config : launch_template_config -> Yojson.Safe.t
val yojson_of_spot_fleet_request_config_data :
spot_fleet_request_config_data ->
[> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_properties :
properties ->
[> `Assoc of (string * [> `Assoc of (string * Yojson.Safe.t) list ]) list ]
val create_attributes : string -> attributes