# Generated from notebooks/ec2-instance-type-selection.ipynb
ON_DEMAND_INSTANCE_TYPES: list[str] = [
    "c5a.large",
    "c5a.xlarge",
    "c5a.2xlarge",
    "c5a.4xlarge",
    "c5a.8xlarge",
    "c5a.12xlarge",
    "c5a.16xlarge",
    "c5a.24xlarge",
    "c6a.large",
    "c6a.xlarge",
    "c6a.2xlarge",
    "c6a.4xlarge",
    "c6a.8xlarge",
    "c6a.12xlarge",
    "c6a.16xlarge",
    "c6a.24xlarge",
    "c6a.32xlarge",
    "c6a.48xlarge",
    "c6a.metal",
    "i3.large",
    "i3.xlarge",
    "i3.2xlarge",
    "i3.4xlarge",
    "i3.8xlarge",
    "i3.16xlarge",
    "inf2.8xlarge",
    "m5.large",
    "m5.xlarge",
    "m5.2xlarge",
    "m5.4xlarge",
    "m5.8xlarge",
    "m5.12xlarge",
    "m5.16xlarge",
    "m5.24xlarge",
    "m5.metal",
    "m5a.large",
    "m5a.xlarge",
    "m5a.2xlarge",
    "m5a.4xlarge",
    "m5a.8xlarge",
    "m5a.12xlarge",
    "m5a.16xlarge",
    "m5a.24xlarge",
    "m5ad.large",
    "m5ad.xlarge",
    "m5ad.2xlarge",
    "m5ad.4xlarge",
    "m5ad.8xlarge",
    "m5ad.12xlarge",
    "m5ad.16xlarge",
    "m5ad.24xlarge",
    "m5d.large",
    "m5d.xlarge",
    "m5d.2xlarge",
    "m5d.4xlarge",
    "m5d.8xlarge",
    "m5d.12xlarge",
    "m5d.16xlarge",
    "m5d.24xlarge",
    "m5d.metal",
    "m6a.large",
    "m6a.xlarge",
    "m6a.2xlarge",
    "m6a.4xlarge",
    "m6a.8xlarge",
    "m6a.12xlarge",
    "m6a.16xlarge",
    "m6a.24xlarge",
    "m6a.32xlarge",
    "m6a.48xlarge",
    "m6a.metal",
    "m6i.large",
    "m6i.xlarge",
    "m6i.2xlarge",
    "m6i.4xlarge",
    "m6i.8xlarge",
    "m6i.12xlarge",
    "m6i.16xlarge",
    "m6i.24xlarge",
    "m6i.32xlarge",
    "m6i.metal",
    "m6id.large",
    "m6id.xlarge",
    "m6id.2xlarge",
    "m6id.4xlarge",
    "m6id.8xlarge",
    "m6id.12xlarge",
    "m6id.16xlarge",
    "m6id.24xlarge",
    "m6id.32xlarge",
    "m6id.metal",
    "m7a.medium",
    "m7a.large",
    "m7a.xlarge",
    "m7a.2xlarge",
    "m7a.4xlarge",
    "m7a.8xlarge",
    "m7a.12xlarge",
    "m7a.16xlarge",
    "m7a.24xlarge",
    "m7a.32xlarge",
    "m7a.48xlarge",
    "m7a.metal-48xl",
    "m7i.large",
    "m7i.xlarge",
    "m7i.2xlarge",
    "m7i.4xlarge",
    "m7i.8xlarge",
    "m7i.12xlarge",
    "m7i.16xlarge",
    "m7i.24xlarge",
    "m7i.48xlarge",
    "m7i.metal-24xl",
    "m7i.metal-48xl",
    "m7i-flex.large",
    "m7i-flex.xlarge",
    "m7i-flex.2xlarge",
    "m7i-flex.4xlarge",
    "m7i-flex.8xlarge",
    "r5.large",
    "r5.xlarge",
    "r5.2xlarge",
    "r5.4xlarge",
    "r5.8xlarge",
    "r5.12xlarge",
    "r5.16xlarge",
    "r5.24xlarge",
    "r5.metal",
    "r5a.large",
    "r5a.xlarge",
    "r5a.2xlarge",
    "r5a.4xlarge",
    "r5a.8xlarge",
    "r5a.12xlarge",
    "r5a.16xlarge",
    "r5a.24xlarge",
    "r5ad.large",
    "r5ad.xlarge",
    "r5ad.2xlarge",
    "r5ad.4xlarge",
    "r5ad.8xlarge",
    "r5ad.12xlarge",
    "r5ad.16xlarge",
    "r5ad.24xlarge",
    "r5d.large",
    "r5d.xlarge",
    "r5d.2xlarge",
    "r5d.4xlarge",
    "r5d.8xlarge",
    "r5d.12xlarge",
    "r5d.16xlarge",
    "r5d.24xlarge",
    "r6a.large",
    "r6a.xlarge",
    "r6a.2xlarge",
    "r6a.4xlarge",
    "r6a.8xlarge",
    "r6a.12xlarge",
    "r6a.16xlarge",
    "r6a.24xlarge",
    "r6a.32xlarge",
    "r6i.large",
    "r6i.xlarge",
    "r6i.2xlarge",
    "r6i.4xlarge",
    "r6i.8xlarge",
    "r6i.12xlarge",
    "r6i.16xlarge",
    "r6i.24xlarge",
    "r6i.32xlarge",
    "r6i.metal",
    "r6id.large",
    "r6id.xlarge",
    "r6id.2xlarge",
    "r6id.4xlarge",
    "r6id.8xlarge",
    "r6id.12xlarge",
    "r6id.16xlarge",
    "r6id.24xlarge",
    "r6id.32xlarge",
    "r6id.metal",
    "r7a.medium",
    "r7a.large",
    "r7a.xlarge",
    "r7a.2xlarge",
    "r7a.4xlarge",
    "r7a.8xlarge",
    "r7a.12xlarge",
    "r7a.16xlarge",
    "r7a.24xlarge",
    "r7a.32xlarge",
    "r7i.large",
    "r7i.xlarge",
    "r7i.2xlarge",
    "r7i.4xlarge",
    "r7i.8xlarge",
    "r7i.12xlarge",
    "r7i.16xlarge",
    "r7i.24xlarge",
    "r7i.metal-24xl",
]


SPOT_INSTANCE_TYPES: list[str] = [
    "c5a.large",
    "c5a.xlarge",
    "c5a.2xlarge",
    "c6a.large",
    "inf2.8xlarge",
    "m5a.large",
    "m5a.xlarge",
    "m5ad.large",
    "m5ad.xlarge",
    "m5ad.2xlarge",
    "m5ad.4xlarge",
    "m5d.large",
    "m5d.xlarge",
    "m5d.8xlarge",
    "m5d.metal",
    "m6a.large",
    "m6a.xlarge",
    "m6a.4xlarge",
    "m6a.metal",
    "m6i.large",
    "m6id.large",
    "m6id.4xlarge",
    "m6id.24xlarge",
    "m7a.medium",
    "m7a.large",
    "m7a.xlarge",
    "m7a.12xlarge",
    "m7a.16xlarge",
    "m7a.32xlarge",
    "m7a.48xlarge",
    "m7i.large",
    "m7i.xlarge",
    "m7i.2xlarge",
    "m7i.12xlarge",
    "m7i.16xlarge",
    "m7i.48xlarge",
    "m7i-flex.large",
    "m7i-flex.xlarge",
    "m7i-flex.2xlarge",
    "r5.large",
    "r5.4xlarge",
    "r5.metal",
    "r5a.large",
    "r5a.xlarge",
    "r5a.2xlarge",
    "r5a.4xlarge",
    "r5a.8xlarge",
    "r5ad.large",
    "r5ad.xlarge",
    "r5ad.2xlarge",
    "r5ad.4xlarge",
    "r5ad.8xlarge",
    "r5ad.12xlarge",
    "r5ad.16xlarge",
    "r5ad.24xlarge",
    "r5d.large",
    "r5d.2xlarge",
    "r5d.4xlarge",
    "r6a.large",
    "r6a.xlarge",
    "r6a.2xlarge",
    "r6a.4xlarge",
    "r6i.large",
    "r6id.large",
    "r6id.xlarge",
    "r6id.2xlarge",
    "r6id.4xlarge",
    "r7a.medium",
    "r7a.16xlarge",
    "r7i.large",
    "r7i.xlarge",
    "r7i.16xlarge",
    "r7i.metal-24xl",
]


TRANSFER_INSTANCE_TYPES: list[str] = [
    "c5.large",
    "c5.xlarge",
    "c5a.large",
    "c5a.xlarge",
    "c5d.large",
    "c5d.xlarge",
    "c5n.large",
    "c6a.large",
    "c6a.xlarge",
    "c6i.large",
    "c6i.xlarge",
    "c6id.large",
    "c6id.xlarge",
    "c7a.medium",
    "c7a.large",
    "c7a.xlarge",
    "c7i.large",
    "c7i.xlarge",
    "inf1.xlarge",
    "m5.large",
    "m5a.large",
    "m5ad.large",
    "m5d.large",
    "m6a.large",
    "m6i.large",
    "m6id.large",
    "m6idn.large",
    "m6in.large",
    "m7a.medium",
    "m7a.large",
    "m7i.large",
    "m7i-flex.large",
    "r7a.medium",
]


LAMBDA_SMALL_INSTANCE_TYPES: list[str] = [
    "c5.large",
    "c5a.large",
    "c5d.large",
    "c6a.large",
    "c6i.large",
    "c6id.large",
    "c7a.medium",
    "c7a.large",
    "c7i.large",
    "m7a.medium",
]


LAMBDA_MEDIUM_INSTANCE_TYPES: list[str] = [
    "c5.xlarge",
    "c5a.xlarge",
    "c5d.xlarge",
    "c5n.large",
    "c6a.xlarge",
    "c6i.xlarge",
    "c6id.xlarge",
    "c7a.xlarge",
    "c7i.xlarge",
    "inf1.xlarge",
    "m5.large",
    "m5a.large",
    "m5ad.large",
    "m5d.large",
    "m6a.large",
    "m6i.large",
    "m6id.large",
    "m6idn.large",
    "m6in.large",
    "m7a.large",
    "m7i.large",
    "m7i-flex.large",
    "r7a.medium",
]


LAMBDA_LARGE_INSTANCE_TYPES: list[str] = [
    "c5.2xlarge",
    "c5a.2xlarge",
    "c5d.2xlarge",
    "c5n.xlarge",
    "c6a.2xlarge",
    "c6i.2xlarge",
    "c6id.2xlarge",
    "c7a.2xlarge",
    "c7i.2xlarge",
    "i3.large",
    "i3en.large",
    "i4i.large",
    "inf1.2xlarge",
    "m5.xlarge",
    "m5a.xlarge",
    "m5ad.xlarge",
    "m5d.xlarge",
    "m6a.xlarge",
    "m6i.xlarge",
    "m6id.xlarge",
    "m6idn.xlarge",
    "m6in.xlarge",
    "m7a.xlarge",
    "m7i.xlarge",
    "m7i-flex.xlarge",
    "r5.large",
    "r5a.large",
    "r5ad.large",
    "r5d.large",
    "r5dn.large",
    "r6a.large",
    "r6i.large",
    "r6id.large",
    "r7a.large",
    "r7i.large",
    "r7iz.large",
]
