Module EC2.LaunchTemplate

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

type spot_options = {
  1. spot_instance_type : string option;
  2. instance_interruption_behavior : string option;
  3. max_price : string option;
  4. block_duration_minutes : int option;
  5. valid_until : string option;
}

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

and connection_tracking_specification = {
  1. udp_timeout : int option;
  2. tcp_established_timeout : int option;
  3. udp_stream_timeout : int option;
}

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

and cpu_options = {
  1. threads_per_core : int option;
  2. amd_sev_snp : string option;
  3. core_count : int option;
}

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

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

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

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

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

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

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

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

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

and elastic_gpu_specification = {
  1. type_ : string option;
}

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

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

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

and capacity_reservation_target = {
  1. capacity_reservation_resource_group_arn : string option;
  2. capacity_reservation_id : string option;
}

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

and license_specification = {
  1. license_configuration_arn : string option;
}

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

and hibernation_options = {
  1. configured : bool option;
}

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

and ena_srd_udp_specification = {
  1. ena_srd_udp_enabled : bool option;
}

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

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

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

and ebs = {
  1. snapshot_id : string option;
  2. volume_type : string option;
  3. kms_key_id : string option;
  4. encrypted : bool option;
  5. throughput : int option;
  6. iops : int option;
  7. volume_size : int option;
  8. delete_on_termination : bool option;
}

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

and placement = {
  1. group_name : string option;
  2. tenancy : string option;
  3. spread_domain : string option;
  4. partition_number : int option;
  5. availability_zone : string option;
  6. affinity : string option;
  7. host_id : string option;
  8. host_resource_group_arn : string option;
  9. group_id : string option;
}

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

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

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

and private_dns_name_options = {
  1. enable_resource_name_dns_a_record : bool option;
  2. hostname_type : string option;
  3. enable_resource_name_dns_aaaa_record : bool option;
}

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

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

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

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

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

and metadata_options = {
  1. http_put_response_hop_limit : int option;
  2. http_tokens : string option;
  3. http_protocol_ipv6 : string option;
  4. instance_metadata_tags : string option;
  5. http_endpoint : string option;
}

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

and launch_template_elastic_inference_accelerator = {
  1. type_ : string option;
  2. count : int option;
}

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

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

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

and maintenance_options = {
  1. auto_recovery : string option;
  2. reboot_migration : string option;
}

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

and ipv6_prefix_specification = {
  1. ipv6_prefix : string option;
}

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

and ipv4_prefix_specification = {
  1. ipv4_prefix : string option;
}

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

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

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

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

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

and iam_instance_profile = {
  1. arn : string option;
  2. name : string option;
}

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

and ipv6_add = {
  1. ipv6_address : string option;
}

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

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

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

and credit_specification = {
  1. cpu_credits : string option;
}

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

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

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

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

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

and instance_market_options = {
  1. spot_options : spot_options option;
  2. market_type : string option;
}

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

and capacity_reservation_specification = {
  1. capacity_reservation_preference : string option;
  2. 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 = {
  1. ena_srd_enabled : bool option;
  2. ena_srd_udp_specification : ena_srd_udp_specification option;
}

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

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

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

and instance_requirements = {
  1. local_storage_types : string list option;
  2. instance_generations : string list option;
  3. network_interface_count : network_interface_count option;
  4. memory_gi_b_per_v_cpu : memory_gi_b_per_v_cpu option;
  5. accelerator_types : string list option;
  6. v_cpu_count : v_cpu_count 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. accelerator_count : accelerator_count option;
  13. network_bandwidth_gbps : network_bandwidth_gbps option;
  14. bare_metal : string option;
  15. require_hibernate_support : bool option;
  16. max_spot_price_as_percentage_of_optimal_on_demand_price : int option;
  17. spot_max_price_percentage_over_lowest_price : int option;
  18. baseline_ebs_bandwidth_mbps : baseline_ebs_bandwidth_mbps option;
  19. on_demand_max_price_percentage_over_lowest_price : int option;
  20. accelerator_names : string list option;
  21. accelerator_total_memory_mib : accelerator_total_memory_mib option;
  22. burstable_performance : string option;
  23. memory_mib : memory_mib option;
  24. 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 = {
  1. description : string option;
  2. private_ip_address : string option;
  3. private_ip_addresses : private_ip_add list option;
  4. secondary_private_ip_address_count : int option;
  5. ipv6_prefix_count : int option;
  6. ipv4_prefixes : ipv4_prefix_specification list option;
  7. device_index : int option;
  8. primary_ipv6 : bool option;
  9. ipv4_prefix_count : int option;
  10. ipv6_prefixes : ipv6_prefix_specification list option;
  11. subnet_id : string option;
  12. ipv6_addresses : ipv6_add list option;
  13. associate_public_ip_address : bool option;
  14. network_interface_id : string option;
  15. network_card_index : int option;
  16. interface_type : string option;
  17. associate_carrier_ip_address : bool option;
  18. ena_srd_specification : ena_srd_specification option;
  19. ipv6_address_count : int option;
  20. groups : string list option;
  21. delete_on_termination : bool option;
  22. 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 = {
  1. security_groups : string list option;
  2. tag_specifications : tag_specification list option;
  3. user_data : string option;
  4. block_device_mappings : block_device_mapping list option;
  5. maintenance_options : maintenance_options option;
  6. iam_instance_profile : iam_instance_profile option;
  7. kernel_id : string option;
  8. ebs_optimized : bool option;
  9. elastic_gpu_specifications : elastic_gpu_specification list option;
  10. elastic_inference_accelerators : launch_template_elastic_inference_accelerator list option;
  11. placement : placement option;
  12. network_interfaces : network_interface list option;
  13. enclave_options : enclave_options option;
  14. image_id : string option;
  15. instance_type : string option;
  16. monitoring : monitoring option;
  17. hibernation_options : hibernation_options option;
  18. metadata_options : metadata_options option;
  19. license_specifications : license_specification list option;
  20. instance_initiated_shutdown_behavior : string option;
  21. disable_api_stop : bool option;
  22. cpu_options : cpu_options option;
  23. private_dns_name_options : private_dns_name_options option;
  24. security_group_ids : string list option;
  25. key_name : string option;
  26. disable_api_termination : bool option;
  27. instance_market_options : instance_market_options option;
  28. instance_requirements : instance_requirements option;
  29. ram_disk_id : string option;
  30. capacity_reservation_specification : capacity_reservation_specification option;
  31. credit_specification : credit_specification option;
}

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

type properties = {
  1. launch_template_name : string option;
  2. launch_template_data : launch_template_data;
  3. version_description : string option;
  4. 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 ]
type attributes = {
  1. ref_ : string;
  2. latest_version_number : string;
  3. launch_template_id : string;
  4. default_version_number : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string