Module Types.Instance

type t = {
ami_launch_index : Aws.BaseTypes.Integer.t;
image_id : Aws.BaseTypes.String.t;
instance_id : Aws.BaseTypes.String.t;
instance_type : InstanceType.t;
kernel_id : Aws.BaseTypes.String.t option;
key_name : Aws.BaseTypes.String.t option;
launch_time : Aws.BaseTypes.DateTime.t;
monitoring : Monitoring.t;
placement : Placement.t;
platform : PlatformValues.t option;
private_dns_name : Aws.BaseTypes.String.t option;
private_ip_address : Aws.BaseTypes.String.t option;
product_codes : ProductCodeList.t;
public_dns_name : Aws.BaseTypes.String.t option;
public_ip_address : Aws.BaseTypes.String.t option;
ramdisk_id : Aws.BaseTypes.String.t option;
state : InstanceState.t;
state_transition_reason : Aws.BaseTypes.String.t option;
subnet_id : Aws.BaseTypes.String.t option;
vpc_id : Aws.BaseTypes.String.t option;
architecture : ArchitectureValues.t;
block_device_mappings : InstanceBlockDeviceMappingList.t;
client_token : Aws.BaseTypes.String.t option;
ebs_optimized : Aws.BaseTypes.Boolean.t option;
ena_support : Aws.BaseTypes.Boolean.t option;
hypervisor : HypervisorType.t;
iam_instance_profile : IamInstanceProfile.t option;
instance_lifecycle : InstanceLifecycleType.t option;
elastic_gpu_associations : ElasticGpuAssociationList.t;
elastic_inference_accelerator_associations : ElasticInferenceAcceleratorAssociationList.t;
network_interfaces : InstanceNetworkInterfaceList.t;
outpost_arn : Aws.BaseTypes.String.t option;
root_device_name : Aws.BaseTypes.String.t option;
root_device_type : DeviceType.t;
security_groups : GroupIdentifierList.t;
source_dest_check : Aws.BaseTypes.Boolean.t option;
spot_instance_request_id : Aws.BaseTypes.String.t option;
sriov_net_support : Aws.BaseTypes.String.t option;
state_reason : StateReason.t option;
tags : TagList.t;
virtualization_type : VirtualizationType.t;
cpu_options : CpuOptions.t option;
capacity_reservation_id : Aws.BaseTypes.String.t option;
capacity_reservation_specification : CapacityReservationSpecificationResponse.t option;
hibernation_options : HibernationOptions.t option;
licenses : LicenseList.t;
metadata_options : InstanceMetadataOptionsResponse.t option;
enclave_options : EnclaveOptions.t option;
}
val make : ami_launch_index:Aws.BaseTypes.Integer.t -> image_id:Aws.BaseTypes.String.t -> instance_id:Aws.BaseTypes.String.t -> instance_type:InstanceType.t -> ?⁠kernel_id:Aws.BaseTypes.String.t -> ?⁠key_name:Aws.BaseTypes.String.t -> launch_time:Aws.BaseTypes.DateTime.t -> monitoring:Monitoring.t -> placement:Placement.t -> ?⁠platform:PlatformValues.t -> ?⁠private_dns_name:Aws.BaseTypes.String.t -> ?⁠private_ip_address:Aws.BaseTypes.String.t -> ?⁠product_codes:ProductCodeList.t -> ?⁠public_dns_name:Aws.BaseTypes.String.t -> ?⁠public_ip_address:Aws.BaseTypes.String.t -> ?⁠ramdisk_id:Aws.BaseTypes.String.t -> state:InstanceState.t -> ?⁠state_transition_reason:Aws.BaseTypes.String.t -> ?⁠subnet_id:Aws.BaseTypes.String.t -> ?⁠vpc_id:Aws.BaseTypes.String.t -> architecture:ArchitectureValues.t -> ?⁠block_device_mappings:InstanceBlockDeviceMappingList.t -> ?⁠client_token:Aws.BaseTypes.String.t -> ?⁠ebs_optimized:Aws.BaseTypes.Boolean.t -> ?⁠ena_support:Aws.BaseTypes.Boolean.t -> hypervisor:HypervisorType.t -> ?⁠iam_instance_profile:IamInstanceProfile.t -> ?⁠instance_lifecycle:InstanceLifecycleType.t -> ?⁠elastic_gpu_associations:ElasticGpuAssociationList.t -> ?⁠elastic_inference_accelerator_associations:ElasticInferenceAcceleratorAssociationList.t -> ?⁠network_interfaces:InstanceNetworkInterfaceList.t -> ?⁠outpost_arn:Aws.BaseTypes.String.t -> ?⁠root_device_name:Aws.BaseTypes.String.t -> root_device_type:DeviceType.t -> ?⁠security_groups:GroupIdentifierList.t -> ?⁠source_dest_check:Aws.BaseTypes.Boolean.t -> ?⁠spot_instance_request_id:Aws.BaseTypes.String.t -> ?⁠sriov_net_support:Aws.BaseTypes.String.t -> ?⁠state_reason:StateReason.t -> ?⁠tags:TagList.t -> virtualization_type:VirtualizationType.t -> ?⁠cpu_options:CpuOptions.t -> ?⁠capacity_reservation_id:Aws.BaseTypes.String.t -> ?⁠capacity_reservation_specification:CapacityReservationSpecificationResponse.t -> ?⁠hibernation_options:HibernationOptions.t -> ?⁠licenses:LicenseList.t -> ?⁠metadata_options:InstanceMetadataOptionsResponse.t -> ?⁠enclave_options:EnclaveOptions.t -> unit -> t
val parse : Ezxmlm.nodes -> t option
val to_query : t -> Aws.Query.t
val to_json : t -> [> `Assoc of (string * Aws.Json.t) list ]
val of_json : Aws.Json.t -> t