Module EC2.SpotFleet

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.html

type memory_mi_b_request = {
  1. min : int option;
  2. max : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-memorymibrequest.html

and network_interface_count_request = {
  1. min : int option;
  2. max : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-networkinterfacecountrequest.html

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

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

and total_local_storage_gb_request = {
  1. min : float option;
  2. max : float option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-totallocalstoragegbrequest.html

and target_group = {
  1. arn : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroup.html

and instance_ipv6_address = {
  1. ipv6_address : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instanceipv6address.html

and v_cpu_count_range_request = {
  1. min : int option;
  2. max : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-vcpucountrangerequest.html

and accelerator_count_request = {
  1. min : int option;
  2. max : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-acceleratorcountrequest.html

and accelerator_total_memory_mi_b_request = {
  1. min : int option;
  2. max : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-acceleratortotalmemorymibrequest.html

and spot_fleet_monitoring = {
  1. enabled : bool option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetmonitoring.html

and spot_placement = {
  1. group_name : string option;
  2. tenancy : string option;
  3. availability_zone : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotplacement.html

and iam_instance_profile_specification = {
  1. arn : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-iaminstanceprofilespecification.html

and baseline_ebs_bandwidth_mbps_request = {
  1. min : int option;
  2. max : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-baselineebsbandwidthmbpsrequest.html

and group_identifier = {
  1. group_id : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-groupidentifier.html

and private_ip_address_specification = {
  1. private_ip_address : string;
  2. primary : bool option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-privateipaddressspecification.html

and network_bandwidth_gbps_request = {
  1. min : float option;
  2. max : float option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-networkbandwidthgbpsrequest.html

and ebs_block_device = {
  1. snapshot_id : string option;
  2. volume_type : string option;
  3. encrypted : bool option;
  4. iops : int option;
  5. volume_size : int option;
  6. delete_on_termination : bool option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-ebsblockdevice.html

and memory_gi_b_per_v_cpu_request = {
  1. min : float option;
  2. max : float option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-memorygibpervcpurequest.html

and classic_load_balancer = {
  1. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-classicloadbalancer.html

and spot_capacity_rebalance = {
  1. termination_delay : int option;
  2. replacement_strategy : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotcapacityrebalance.html

and fleet_launch_template_specification = {
  1. launch_template_name : string option;
  2. version : string;
  3. launch_template_id : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-fleetlaunchtemplatespecification.html

and instance_requirements_request = {
  1. local_storage_types : string list option;
  2. instance_generations : string list option;
  3. network_interface_count : network_interface_count_request option;
  4. memory_gi_b_per_v_cpu : memory_gi_b_per_v_cpu_request option;
  5. accelerator_types : string list option;
  6. v_cpu_count : v_cpu_count_range_request option;
  7. excluded_instance_types : string list option;
  8. accelerator_manufacturers : string list option;
  9. allowed_instance_types : string list option;
  10. local_storage : string option;
  11. cpu_manufacturers : string list option;
  12. network_bandwidth_gbps : network_bandwidth_gbps_request option;
  13. accelerator_count : accelerator_count_request option;
  14. bare_metal : string option;
  15. require_hibernate_support : bool option;
  16. spot_max_price_percentage_over_lowest_price : int option;
  17. baseline_ebs_bandwidth_mbps : baseline_ebs_bandwidth_mbps_request option;
  18. on_demand_max_price_percentage_over_lowest_price : int option;
  19. accelerator_names : string list option;
  20. accelerator_total_memory_mib : accelerator_total_memory_mi_b_request option;
  21. burstable_performance : string option;
  22. memory_mib : memory_mi_b_request option;
  23. 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

and target_groups_config = {
  1. target_groups : target_group list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroupsconfig.html

and block_device_mapping = {
  1. ebs : ebs_block_device option;
  2. no_device : string option;
  3. virtual_name : string option;
  4. device_name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-blockdevicemapping.html

and instance_network_interface_specification = {
  1. description : string option;
  2. private_ip_addresses : private_ip_address_specification list option;
  3. secondary_private_ip_address_count : int option;
  4. device_index : int option;
  5. groups : string list option;
  6. ipv6_address_count : int option;
  7. ipv6_addresses : instance_ipv6_address list option;
  8. subnet_id : string option;
  9. associate_public_ip_address : bool option;
  10. network_interface_id : string option;
  11. delete_on_termination : bool option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancenetworkinterfacespecification.html

and spot_fleet_tag_specification = {
  1. resource_type : string option;
  2. tags : tag list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleettagspecification.html

and classic_load_balancers_config = {
  1. classic_load_balancers : classic_load_balancer list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-classicloadbalancersconfig.html

and spot_maintenance_strategies = {
  1. capacity_rebalance : spot_capacity_rebalance option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotmaintenancestrategies.html

and launch_template_overrides = {
  1. spot_price : string option;
  2. weighted_capacity : float option;
  3. priority : float option;
  4. availability_zone : string option;
  5. subnet_id : string option;
  6. instance_requirements : instance_requirements_request option;
  7. instance_type : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html

and spot_fleet_launch_specification = {
  1. security_groups : group_identifier list option;
  2. tag_specifications : spot_fleet_tag_specification list option;
  3. user_data : string option;
  4. block_device_mappings : block_device_mapping list option;
  5. iam_instance_profile : iam_instance_profile_specification option;
  6. kernel_id : string option;
  7. subnet_id : string option;
  8. ebs_optimized : bool option;
  9. key_name : string option;
  10. ramdisk_id : string option;
  11. spot_price : string option;
  12. weighted_capacity : float option;
  13. placement : spot_placement option;
  14. network_interfaces : instance_network_interface_specification list option;
  15. image_id : string;
  16. instance_requirements : instance_requirements_request option;
  17. instance_type : string option;
  18. monitoring : spot_fleet_monitoring option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html

and load_balancers_config = {
  1. classic_load_balancers_config : classic_load_balancers_config option;
  2. 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 = {
  1. launch_template_specification : fleet_launch_template_specification option;
  2. 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 = {
  1. context : string option;
  2. spot_max_total_price : string option;
  3. excess_capacity_termination_policy : string option;
  4. tag_specifications : spot_fleet_tag_specification list option;
  5. instance_pools_to_use_count : int option;
  6. launch_template_configs : launch_template_config list option;
  7. target_capacity_unit_type : string option;
  8. iam_fleet_role : string;
  9. spot_maintenance_strategies : spot_maintenance_strategies option;
  10. terminate_instances_with_expiration : bool option;
  11. valid_until : string option;
  12. on_demand_max_total_price : string option;
  13. on_demand_allocation_strategy : string option;
  14. spot_price : string option;
  15. allocation_strategy : string option;
  16. on_demand_target_capacity : int option;
  17. type_ : string option;
  18. launch_specifications : spot_fleet_launch_specification list option;
  19. instance_interruption_behavior : string option;
  20. load_balancers_config : load_balancers_config option;
  21. valid_from : string option;
  22. replace_unhealthy_instances : bool option;
  23. target_capacity : int;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html

type properties = {
  1. spot_fleet_request_config_data : spot_fleet_request_config_data;
}

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 ]
type attributes = {
  1. ref_ : string;
  2. id : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string