EC2.LaunchTemplate
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html
type spot_options = {
spot_instance_type : string option;
instance_interruption_behavior : string option;
max_price : string option;
block_duration_minutes : int option;
valid_until : string option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-spotoptions.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-connectiontrackingspecification.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-cpuoptions.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-totallocalstoragegb.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-memorygibpervcpu.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-launchtemplate-acceleratorcount.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-elasticgpuspecification.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-baselineebsbandwidthmbps.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-capacityreservationtarget.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-licensespecification.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-hibernationoptions.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-enasrdudpspecification.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterfacecount.html
and ebs = {
snapshot_id : string option;
volume_type : string option;
kms_key_id : string option;
encrypted : bool option;
throughput : int 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-launchtemplate-ebs.html
and placement = {
group_name : string option;
tenancy : string option;
spread_domain : string option;
partition_number : int option;
availability_zone : string option;
affinity : string option;
host_id : string option;
host_resource_group_arn : string option;
group_id : string option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-placement.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-enclaveoptions.html
and private_dns_name_options = {
enable_resource_name_dns_a_record : bool option;
hostname_type : string option;
enable_resource_name_dns_aaaa_record : bool option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-privatednsnameoptions.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-memorymib.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkbandwidthgbps.html
and metadata_options = {
http_put_response_hop_limit : int option;
http_tokens : string option;
http_protocol_ipv6 : string option;
http_endpoint : string option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-metadataoptions.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplateelasticinferenceaccelerator.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-monitoring.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-maintenanceoptions.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ipv6prefixspecification.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ipv4prefixspecification.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-vcpucount.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-privateipadd.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-iaminstanceprofile.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ipv6add.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-acceleratortotalmemorymib.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-creditspecification.html
and block_device_mapping = {
ebs : ebs option;
no_device : string option;
virtual_name : string option;
device_name : string option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancemarketoptions.html
and capacity_reservation_specification = {
capacity_reservation_preference : string option;
capacity_reservation_target : capacity_reservation_target option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-capacityreservationspecification.html
and ena_srd_specification = {
ena_srd_enabled : bool option;
ena_srd_udp_specification : ena_srd_udp_specification option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-enasrdspecification.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatetagspecification.html
and instance_requirements = {
local_storage_types : string list option;
instance_generations : string list option;
network_interface_count : network_interface_count option;
memory_gi_b_per_v_cpu : memory_gi_b_per_v_cpu option;
accelerator_types : string list option;
v_cpu_count : v_cpu_count 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;
accelerator_count : accelerator_count option;
network_bandwidth_gbps : network_bandwidth_gbps option;
bare_metal : string option;
require_hibernate_support : bool option;
max_spot_price_as_percentage_of_optimal_on_demand_price : int option;
spot_max_price_percentage_over_lowest_price : int option;
baseline_ebs_bandwidth_mbps : baseline_ebs_bandwidth_mbps option;
on_demand_max_price_percentage_over_lowest_price : int option;
accelerator_names : string list option;
accelerator_total_memory_mib : accelerator_total_memory_mib option;
burstable_performance : string option;
memory_mib : memory_mib option;
total_local_storage_gb : total_local_storage_gb option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html
and network_interface = {
description : string option;
private_ip_address : string option;
private_ip_addresses : private_ip_add list option;
secondary_private_ip_address_count : int option;
ipv6_prefix_count : int option;
ipv4_prefixes : ipv4_prefix_specification list option;
device_index : int option;
primary_ipv6 : bool option;
ipv4_prefix_count : int option;
ipv6_prefixes : ipv6_prefix_specification list option;
subnet_id : string option;
ipv6_addresses : ipv6_add list option;
associate_public_ip_address : bool option;
network_interface_id : string option;
network_card_index : int option;
interface_type : string option;
associate_carrier_ip_address : bool option;
ena_srd_specification : ena_srd_specification option;
ipv6_address_count : int option;
groups : string list option;
delete_on_termination : bool option;
connection_tracking_specification : connection_tracking_specification option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html
and launch_template_data = {
security_groups : string list option;
tag_specifications : tag_specification list option;
user_data : string option;
block_device_mappings : block_device_mapping list option;
maintenance_options : maintenance_options option;
iam_instance_profile : iam_instance_profile option;
kernel_id : string option;
ebs_optimized : bool option;
elastic_gpu_specifications : elastic_gpu_specification list option;
elastic_inference_accelerators : launch_template_elastic_inference_accelerator
list
option;
placement : placement option;
network_interfaces : network_interface list option;
enclave_options : enclave_options option;
image_id : string option;
instance_type : string option;
monitoring : monitoring option;
hibernation_options : hibernation_options option;
metadata_options : metadata_options option;
license_specifications : license_specification list option;
instance_initiated_shutdown_behavior : string option;
disable_api_stop : bool option;
cpu_options : cpu_options option;
private_dns_name_options : private_dns_name_options option;
security_group_ids : string list option;
key_name : string option;
disable_api_termination : bool option;
instance_market_options : instance_market_options option;
instance_requirements : instance_requirements option;
ram_disk_id : string option;
capacity_reservation_specification : capacity_reservation_specification option;
credit_specification : credit_specification option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html
type properties = {
launch_template_name : string option;
launch_template_data : launch_template_data;
version_description : string option;
tag_specifications : launch_template_tag_specification list option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html;
val make_properties :
?launch_template_name:string ->
launch_template_data:launch_template_data ->
?version_description:string ->
?tag_specifications:launch_template_tag_specification list ->
unit ->
properties
val make_spot_options :
?spot_instance_type:string ->
?instance_interruption_behavior:string ->
?max_price:string ->
?block_duration_minutes:int ->
?valid_until:string ->
unit ->
spot_options
val make_connection_tracking_specification :
?udp_timeout:int ->
?tcp_established_timeout:int ->
?udp_stream_timeout:int ->
unit ->
connection_tracking_specification
val make_cpu_options :
?threads_per_core:int ->
?amd_sev_snp:string ->
?core_count:int ->
unit ->
cpu_options
val make_total_local_storage_gb :
?min:float ->
?max:float ->
unit ->
total_local_storage_gb
val make_memory_gi_b_per_v_cpu :
?min:float ->
?max:float ->
unit ->
memory_gi_b_per_v_cpu
val make_tag : value:string -> key:string -> unit -> tag
val make_accelerator_count : ?min:int -> ?max:int -> unit -> accelerator_count
val make_elastic_gpu_specification :
?type_:string ->
unit ->
elastic_gpu_specification
val make_baseline_ebs_bandwidth_mbps :
?min:int ->
?max:int ->
unit ->
baseline_ebs_bandwidth_mbps
val make_capacity_reservation_target :
?capacity_reservation_resource_group_arn:string ->
?capacity_reservation_id:string ->
unit ->
capacity_reservation_target
val make_license_specification :
?license_configuration_arn:string ->
unit ->
license_specification
val make_hibernation_options : ?configured:bool -> unit -> hibernation_options
val make_ena_srd_udp_specification :
?ena_srd_udp_enabled:bool ->
unit ->
ena_srd_udp_specification
val make_network_interface_count :
?min:int ->
?max:int ->
unit ->
network_interface_count
val make_ebs :
?snapshot_id:string ->
?volume_type:string ->
?kms_key_id:string ->
?encrypted:bool ->
?throughput:int ->
?iops:int ->
?volume_size:int ->
?delete_on_termination:bool ->
unit ->
ebs
val make_placement :
?group_name:string ->
?tenancy:string ->
?spread_domain:string ->
?partition_number:int ->
?availability_zone:string ->
?affinity:string ->
?host_id:string ->
?host_resource_group_arn:string ->
?group_id:string ->
unit ->
placement
val make_enclave_options : ?enabled:bool -> unit -> enclave_options
val make_private_dns_name_options :
?enable_resource_name_dns_a_record:bool ->
?hostname_type:string ->
?enable_resource_name_dns_aaaa_record:bool ->
unit ->
private_dns_name_options
val make_memory_mib : ?min:int -> ?max:int -> unit -> memory_mib
val make_network_bandwidth_gbps :
?min:float ->
?max:float ->
unit ->
network_bandwidth_gbps
val make_metadata_options :
?http_put_response_hop_limit:int ->
?http_tokens:string ->
?http_protocol_ipv6:string ->
?instance_metadata_tags:string ->
?http_endpoint:string ->
unit ->
metadata_options
val make_launch_template_elastic_inference_accelerator :
?type_:string ->
?count:int ->
unit ->
launch_template_elastic_inference_accelerator
val make_monitoring : ?enabled:bool -> unit -> monitoring
val make_maintenance_options :
?auto_recovery:string ->
?reboot_migration:string ->
unit ->
maintenance_options
val make_ipv6_prefix_specification :
?ipv6_prefix:string ->
unit ->
ipv6_prefix_specification
val make_ipv4_prefix_specification :
?ipv4_prefix:string ->
unit ->
ipv4_prefix_specification
val make_v_cpu_count : ?min:int -> ?max:int -> unit -> v_cpu_count
val make_private_ip_add :
?private_ip_address:string ->
?primary:bool ->
unit ->
private_ip_add
val make_iam_instance_profile :
?arn:string ->
?name:string ->
unit ->
iam_instance_profile
val make_ipv6_add : ?ipv6_address:string -> unit -> ipv6_add
val make_accelerator_total_memory_mib :
?min:int ->
?max:int ->
unit ->
accelerator_total_memory_mib
val make_credit_specification :
?cpu_credits:string ->
unit ->
credit_specification
val make_block_device_mapping :
?ebs:ebs ->
?no_device:string ->
?virtual_name:string ->
?device_name:string ->
unit ->
block_device_mapping
val make_tag_specification :
?resource_type:string ->
?tags:tag list ->
unit ->
tag_specification
val make_instance_market_options :
?spot_options:spot_options ->
?market_type:string ->
unit ->
instance_market_options
val make_capacity_reservation_specification :
?capacity_reservation_preference:string ->
?capacity_reservation_target:capacity_reservation_target ->
unit ->
capacity_reservation_specification
val make_ena_srd_specification :
?ena_srd_enabled:bool ->
?ena_srd_udp_specification:ena_srd_udp_specification ->
unit ->
ena_srd_specification
val make_launch_template_tag_specification :
?resource_type:string ->
?tags:tag list ->
unit ->
launch_template_tag_specification
val make_instance_requirements :
?local_storage_types:string list ->
?instance_generations:string list ->
?network_interface_count:network_interface_count ->
?memory_gi_b_per_v_cpu:memory_gi_b_per_v_cpu ->
?accelerator_types:string list ->
?v_cpu_count:v_cpu_count ->
?excluded_instance_types:string list ->
?accelerator_manufacturers:string list ->
?allowed_instance_types:string list ->
?local_storage:string ->
?cpu_manufacturers:string list ->
?accelerator_count:accelerator_count ->
?network_bandwidth_gbps:network_bandwidth_gbps ->
?bare_metal:string ->
?require_hibernate_support:bool ->
?max_spot_price_as_percentage_of_optimal_on_demand_price:int ->
?spot_max_price_percentage_over_lowest_price:int ->
?baseline_ebs_bandwidth_mbps:baseline_ebs_bandwidth_mbps ->
?on_demand_max_price_percentage_over_lowest_price:int ->
?accelerator_names:string list ->
?accelerator_total_memory_mib:accelerator_total_memory_mib ->
?burstable_performance:string ->
?memory_mib:memory_mib ->
?total_local_storage_gb:total_local_storage_gb ->
unit ->
instance_requirements
val make_network_interface :
?description:string ->
?private_ip_address:string ->
?private_ip_addresses:private_ip_add list ->
?secondary_private_ip_address_count:int ->
?ipv6_prefix_count:int ->
?ipv4_prefixes:ipv4_prefix_specification list ->
?device_index:int ->
?primary_ipv6:bool ->
?ipv4_prefix_count:int ->
?ipv6_prefixes:ipv6_prefix_specification list ->
?subnet_id:string ->
?ipv6_addresses:ipv6_add list ->
?associate_public_ip_address:bool ->
?network_interface_id:string ->
?network_card_index:int ->
?interface_type:string ->
?associate_carrier_ip_address:bool ->
?ena_srd_specification:ena_srd_specification ->
?ipv6_address_count:int ->
?groups:string list ->
?delete_on_termination:bool ->
?connection_tracking_specification:connection_tracking_specification ->
unit ->
network_interface
val make_launch_template_data :
?security_groups:string list ->
?tag_specifications:tag_specification list ->
?user_data:string ->
?block_device_mappings:block_device_mapping list ->
?maintenance_options:maintenance_options ->
?iam_instance_profile:iam_instance_profile ->
?kernel_id:string ->
?ebs_optimized:bool ->
?elastic_gpu_specifications:elastic_gpu_specification list ->
?elastic_inference_accelerators:
launch_template_elastic_inference_accelerator list ->
?placement:placement ->
?network_interfaces:network_interface list ->
?enclave_options:enclave_options ->
?image_id:string ->
?instance_type:string ->
?monitoring:monitoring ->
?hibernation_options:hibernation_options ->
?metadata_options:metadata_options ->
?license_specifications:license_specification list ->
?instance_initiated_shutdown_behavior:string ->
?disable_api_stop:bool ->
?cpu_options:cpu_options ->
?private_dns_name_options:private_dns_name_options ->
?security_group_ids:string list ->
?key_name:string ->
?disable_api_termination:bool ->
?instance_market_options:instance_market_options ->
?instance_requirements:instance_requirements ->
?ram_disk_id:string ->
?capacity_reservation_specification:capacity_reservation_specification ->
?credit_specification:credit_specification ->
unit ->
launch_template_data
val yojson_of_spot_options : spot_options -> Yojson.Safe.t
val yojson_of_connection_tracking_specification :
connection_tracking_specification ->
Yojson.Safe.t
val yojson_of_cpu_options : cpu_options -> Yojson.Safe.t
val yojson_of_total_local_storage_gb : total_local_storage_gb -> Yojson.Safe.t
val yojson_of_memory_gi_b_per_v_cpu : memory_gi_b_per_v_cpu -> Yojson.Safe.t
val yojson_of_tag : tag -> Yojson.Safe.t
val yojson_of_accelerator_count : accelerator_count -> Yojson.Safe.t
val yojson_of_elastic_gpu_specification :
elastic_gpu_specification ->
Yojson.Safe.t
val yojson_of_baseline_ebs_bandwidth_mbps :
baseline_ebs_bandwidth_mbps ->
Yojson.Safe.t
val yojson_of_capacity_reservation_target :
capacity_reservation_target ->
Yojson.Safe.t
val yojson_of_license_specification : license_specification -> Yojson.Safe.t
val yojson_of_hibernation_options : hibernation_options -> Yojson.Safe.t
val yojson_of_ena_srd_udp_specification :
ena_srd_udp_specification ->
Yojson.Safe.t
val yojson_of_network_interface_count :
network_interface_count ->
Yojson.Safe.t
val yojson_of_ebs : ebs -> Yojson.Safe.t
val yojson_of_placement : placement -> Yojson.Safe.t
val yojson_of_enclave_options : enclave_options -> Yojson.Safe.t
val yojson_of_private_dns_name_options :
private_dns_name_options ->
Yojson.Safe.t
val yojson_of_memory_mib : memory_mib -> Yojson.Safe.t
val yojson_of_network_bandwidth_gbps : network_bandwidth_gbps -> Yojson.Safe.t
val yojson_of_metadata_options : metadata_options -> Yojson.Safe.t
val yojson_of_launch_template_elastic_inference_accelerator :
launch_template_elastic_inference_accelerator ->
Yojson.Safe.t
val yojson_of_monitoring : monitoring -> Yojson.Safe.t
val yojson_of_maintenance_options : maintenance_options -> Yojson.Safe.t
val yojson_of_ipv6_prefix_specification :
ipv6_prefix_specification ->
Yojson.Safe.t
val yojson_of_ipv4_prefix_specification :
ipv4_prefix_specification ->
Yojson.Safe.t
val yojson_of_v_cpu_count : v_cpu_count -> Yojson.Safe.t
val yojson_of_private_ip_add : private_ip_add -> Yojson.Safe.t
val yojson_of_iam_instance_profile : iam_instance_profile -> Yojson.Safe.t
val yojson_of_ipv6_add : ipv6_add -> Yojson.Safe.t
val yojson_of_accelerator_total_memory_mib :
accelerator_total_memory_mib ->
Yojson.Safe.t
val yojson_of_credit_specification : credit_specification -> Yojson.Safe.t
val yojson_of_block_device_mapping : block_device_mapping -> Yojson.Safe.t
val yojson_of_tag_specification : tag_specification -> Yojson.Safe.t
val yojson_of_instance_market_options :
instance_market_options ->
Yojson.Safe.t
val yojson_of_capacity_reservation_specification :
capacity_reservation_specification ->
Yojson.Safe.t
val yojson_of_ena_srd_specification : ena_srd_specification -> Yojson.Safe.t
val yojson_of_launch_template_tag_specification :
launch_template_tag_specification ->
[> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_instance_requirements : instance_requirements -> Yojson.Safe.t
val yojson_of_network_interface : network_interface -> Yojson.Safe.t
val yojson_of_launch_template_data :
launch_template_data ->
[> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_properties :
properties ->
[> `Assoc of (string * Yojson.Safe.t) list ]
val create_attributes : string -> attributes