//go:build !ignore_autogenerated

/*
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

package fake

import (
	"github.com/aws/aws-sdk-go-v2/aws"
	"github.com/aws/aws-sdk-go-v2/service/ec2"
	ec2types "github.com/aws/aws-sdk-go-v2/service/ec2/types"
	"github.com/samber/lo"
)

// GENERATED FILE. DO NOT EDIT DIRECTLY.
// Update hack/code/instancetype_testdata_gen.go and re-generate to edit
// You can add instance types by adding to the --instance-types CLI flag

var defaultDescribeInstanceTypesOutput = &ec2.DescribeInstanceTypesOutput{
	InstanceTypes: []ec2types.InstanceTypeInfo{
		{
			InstanceType:                  "c6g.large",
			SupportedUsageClasses:         []ec2types.UsageClassType{"on-demand", "spot"},
			SupportedVirtualizationTypes:  []ec2types.VirtualizationType{"hvm"},
			BurstablePerformanceSupported: aws.Bool(false),
			BareMetal:                     aws.Bool(false),
			Hypervisor:                    "nitro",
			ProcessorInfo: &ec2types.ProcessorInfo{
				Manufacturer:             aws.String("AWS"),
				SupportedArchitectures:   []ec2types.ArchitectureType{"arm64"},
				SustainedClockSpeedInGhz: aws.Float64(2.500000),
			},
			VCpuInfo: &ec2types.VCpuInfo{
				DefaultCores: aws.Int32(2),
				DefaultVCpus: aws.Int32(2),
			},
			MemoryInfo: &ec2types.MemoryInfo{
				SizeInMiB: aws.Int64(4096),
			},
			EbsInfo: &ec2types.EbsInfo{
				EbsOptimizedInfo: &ec2types.EbsOptimizedInfo{
					BaselineBandwidthInMbps:  aws.Int32(630),
					BaselineIops:             aws.Int32(3600),
					BaselineThroughputInMBps: aws.Float64(78.75),
					MaximumBandwidthInMbps:   aws.Int32(4750),
					MaximumIops:              aws.Int32(20000),
					MaximumThroughputInMBps:  aws.Float64(593.75),
				},
				EbsOptimizedSupport: "default",
				EncryptionSupport:   "supported",
				NvmeSupport:         "required",
			},
			NetworkInfo: &ec2types.NetworkInfo{
				MaximumNetworkInterfaces:     aws.Int32(3),
				Ipv4AddressesPerInterface:    aws.Int32(10),
				EncryptionInTransitSupported: aws.Bool(false),
				DefaultNetworkCardIndex:      aws.Int32(0),
				NetworkCards: []ec2types.NetworkCardInfo{
					{
						NetworkCardIndex:         aws.Int32(0),
						MaximumNetworkInterfaces: aws.Int32(3),
					},
				},
			},
		},
		{
			InstanceType:                  "dl1.24xlarge",
			SupportedUsageClasses:         []ec2types.UsageClassType{"on-demand", "spot"},
			SupportedVirtualizationTypes:  []ec2types.VirtualizationType{"hvm"},
			BurstablePerformanceSupported: aws.Bool(false),
			BareMetal:                     aws.Bool(false),
			Hypervisor:                    "nitro",
			ProcessorInfo: &ec2types.ProcessorInfo{
				Manufacturer:             aws.String("Intel"),
				SupportedArchitectures:   []ec2types.ArchitectureType{"x86_64"},
				SustainedClockSpeedInGhz: aws.Float64(3.000000),
			},
			VCpuInfo: &ec2types.VCpuInfo{
				DefaultCores: aws.Int32(48),
				DefaultVCpus: aws.Int32(96),
			},
			MemoryInfo: &ec2types.MemoryInfo{
				SizeInMiB: aws.Int64(786432),
			},
			EbsInfo: &ec2types.EbsInfo{
				EbsOptimizedInfo: &ec2types.EbsOptimizedInfo{
					BaselineBandwidthInMbps:  aws.Int32(19000),
					BaselineIops:             aws.Int32(80000),
					BaselineThroughputInMBps: aws.Float64(2375.00),
					MaximumBandwidthInMbps:   aws.Int32(19000),
					MaximumIops:              aws.Int32(80000),
					MaximumThroughputInMBps:  aws.Float64(2375.00),
				},
				EbsOptimizedSupport: "default",
				EncryptionSupport:   "supported",
				NvmeSupport:         "required",
			},
			GpuInfo: &ec2types.GpuInfo{
				Gpus: []ec2types.GpuDeviceInfo{
					{
						Name:         aws.String("Gaudi HL-205"),
						Manufacturer: aws.String("Habana"),
						Count:        aws.Int32(8),
						MemoryInfo: &ec2types.GpuDeviceMemoryInfo{
							SizeInMiB: aws.Int32(32768),
						},
					},
				},
			},
			InstanceStorageInfo: &ec2types.InstanceStorageInfo{NvmeSupport: "required",
				TotalSizeInGB: aws.Int64(4000),
			},
			NetworkInfo: &ec2types.NetworkInfo{
				EfaInfo: &ec2types.EfaInfo{
					MaximumEfaInterfaces: aws.Int32(4),
				},
				MaximumNetworkInterfaces:     aws.Int32(60),
				Ipv4AddressesPerInterface:    aws.Int32(50),
				EncryptionInTransitSupported: aws.Bool(true),
				DefaultNetworkCardIndex:      aws.Int32(0),
				NetworkCards: []ec2types.NetworkCardInfo{
					{
						NetworkCardIndex:         aws.Int32(0),
						MaximumNetworkInterfaces: aws.Int32(15),
					},
					{
						NetworkCardIndex:         aws.Int32(1),
						MaximumNetworkInterfaces: aws.Int32(15),
					},
					{
						NetworkCardIndex:         aws.Int32(2),
						MaximumNetworkInterfaces: aws.Int32(15),
					},
					{
						NetworkCardIndex:         aws.Int32(3),
						MaximumNetworkInterfaces: aws.Int32(15),
					},
				},
			},
		},
		{
			InstanceType:                  "g4ad.16xlarge",
			SupportedUsageClasses:         []ec2types.UsageClassType{"on-demand", "spot"},
			SupportedVirtualizationTypes:  []ec2types.VirtualizationType{"hvm"},
			BurstablePerformanceSupported: aws.Bool(false),
			BareMetal:                     aws.Bool(false),
			Hypervisor:                    "nitro",
			ProcessorInfo: &ec2types.ProcessorInfo{
				Manufacturer:             aws.String("AMD"),
				SupportedArchitectures:   []ec2types.ArchitectureType{"x86_64"},
				SustainedClockSpeedInGhz: aws.Float64(3.000000),
			},
			VCpuInfo: &ec2types.VCpuInfo{
				DefaultCores: aws.Int32(32),
				DefaultVCpus: aws.Int32(64),
			},
			MemoryInfo: &ec2types.MemoryInfo{
				SizeInMiB: aws.Int64(262144),
			},
			EbsInfo: &ec2types.EbsInfo{
				EbsOptimizedInfo: &ec2types.EbsOptimizedInfo{
					BaselineBandwidthInMbps:  aws.Int32(6300),
					BaselineIops:             aws.Int32(26667),
					BaselineThroughputInMBps: aws.Float64(787.50),
					MaximumBandwidthInMbps:   aws.Int32(6300),
					MaximumIops:              aws.Int32(26667),
					MaximumThroughputInMBps:  aws.Float64(787.50),
				},
				EbsOptimizedSupport: "default",
				EncryptionSupport:   "supported",
				NvmeSupport:         "required",
			},
			GpuInfo: &ec2types.GpuInfo{
				Gpus: []ec2types.GpuDeviceInfo{
					{
						Name:         aws.String("Radeon Pro V520"),
						Manufacturer: aws.String("AMD"),
						Count:        aws.Int32(4),
						MemoryInfo: &ec2types.GpuDeviceMemoryInfo{
							SizeInMiB: aws.Int32(8192),
						},
					},
				},
			},
			InstanceStorageInfo: &ec2types.InstanceStorageInfo{NvmeSupport: "required",
				TotalSizeInGB: aws.Int64(2400),
			},
			NetworkInfo: &ec2types.NetworkInfo{
				MaximumNetworkInterfaces:     aws.Int32(8),
				Ipv4AddressesPerInterface:    aws.Int32(30),
				EncryptionInTransitSupported: aws.Bool(true),
				DefaultNetworkCardIndex:      aws.Int32(0),
				NetworkCards: []ec2types.NetworkCardInfo{
					{
						NetworkCardIndex:         aws.Int32(0),
						MaximumNetworkInterfaces: aws.Int32(8),
					},
				},
			},
		},
		{
			InstanceType:                  "g4dn.8xlarge",
			SupportedUsageClasses:         []ec2types.UsageClassType{"on-demand", "spot"},
			SupportedVirtualizationTypes:  []ec2types.VirtualizationType{"hvm"},
			BurstablePerformanceSupported: aws.Bool(false),
			BareMetal:                     aws.Bool(false),
			Hypervisor:                    "nitro",
			ProcessorInfo: &ec2types.ProcessorInfo{
				Manufacturer:             aws.String("Intel"),
				SupportedArchitectures:   []ec2types.ArchitectureType{"x86_64"},
				SustainedClockSpeedInGhz: aws.Float64(2.500000),
			},
			VCpuInfo: &ec2types.VCpuInfo{
				DefaultCores: aws.Int32(16),
				DefaultVCpus: aws.Int32(32),
			},
			MemoryInfo: &ec2types.MemoryInfo{
				SizeInMiB: aws.Int64(131072),
			},
			EbsInfo: &ec2types.EbsInfo{
				EbsOptimizedInfo: &ec2types.EbsOptimizedInfo{
					BaselineBandwidthInMbps:  aws.Int32(9500),
					BaselineIops:             aws.Int32(40000),
					BaselineThroughputInMBps: aws.Float64(1187.50),
					MaximumBandwidthInMbps:   aws.Int32(9500),
					MaximumIops:              aws.Int32(40000),
					MaximumThroughputInMBps:  aws.Float64(1187.50),
				},
				EbsOptimizedSupport: "default",
				EncryptionSupport:   "supported",
				NvmeSupport:         "required",
			},
			GpuInfo: &ec2types.GpuInfo{
				Gpus: []ec2types.GpuDeviceInfo{
					{
						Name:         aws.String("T4"),
						Manufacturer: aws.String("NVIDIA"),
						Count:        aws.Int32(1),
						MemoryInfo: &ec2types.GpuDeviceMemoryInfo{
							SizeInMiB: aws.Int32(16384),
						},
					},
				},
			},
			InstanceStorageInfo: &ec2types.InstanceStorageInfo{NvmeSupport: "required",
				TotalSizeInGB: aws.Int64(900),
			},
			NetworkInfo: &ec2types.NetworkInfo{
				EfaInfo: &ec2types.EfaInfo{
					MaximumEfaInterfaces: aws.Int32(1),
				},
				MaximumNetworkInterfaces:     aws.Int32(4),
				Ipv4AddressesPerInterface:    aws.Int32(15),
				EncryptionInTransitSupported: aws.Bool(true),
				DefaultNetworkCardIndex:      aws.Int32(0),
				NetworkCards: []ec2types.NetworkCardInfo{
					{
						NetworkCardIndex:         aws.Int32(0),
						MaximumNetworkInterfaces: aws.Int32(4),
					},
				},
			},
		},
		{
			InstanceType:                  "inf2.24xlarge",
			SupportedUsageClasses:         []ec2types.UsageClassType{"on-demand", "spot"},
			SupportedVirtualizationTypes:  []ec2types.VirtualizationType{"hvm"},
			BurstablePerformanceSupported: aws.Bool(false),
			BareMetal:                     aws.Bool(false),
			Hypervisor:                    "nitro",
			ProcessorInfo: &ec2types.ProcessorInfo{
				Manufacturer:             aws.String("AMD"),
				SupportedArchitectures:   []ec2types.ArchitectureType{"x86_64"},
				SustainedClockSpeedInGhz: aws.Float64(3.600000),
			},
			VCpuInfo: &ec2types.VCpuInfo{
				DefaultCores: aws.Int32(48),
				DefaultVCpus: aws.Int32(96),
			},
			MemoryInfo: &ec2types.MemoryInfo{
				SizeInMiB: aws.Int64(393216),
			},
			EbsInfo: &ec2types.EbsInfo{
				EbsOptimizedInfo: &ec2types.EbsOptimizedInfo{
					BaselineBandwidthInMbps:  aws.Int32(30000),
					BaselineIops:             aws.Int32(120000),
					BaselineThroughputInMBps: aws.Float64(3750.00),
					MaximumBandwidthInMbps:   aws.Int32(30000),
					MaximumIops:              aws.Int32(120000),
					MaximumThroughputInMBps:  aws.Float64(3750.00),
				},
				EbsOptimizedSupport: "default",
				EncryptionSupport:   "supported",
				NvmeSupport:         "required",
			},
			NeuronInfo: &ec2types.NeuronInfo{
				NeuronDevices: []ec2types.NeuronDeviceInfo{
					{
						Count: aws.Int32(6),
						Name:  aws.String("Inferentia2"),
						CoreInfo: &ec2types.NeuronDeviceCoreInfo{
							Count:   aws.Int32(2),
							Version: aws.Int32(2),
						},
						MemoryInfo: &ec2types.NeuronDeviceMemoryInfo{
							SizeInMiB: aws.Int32(32768),
						},
					},
				},
			},
			NetworkInfo: &ec2types.NetworkInfo{
				MaximumNetworkInterfaces:     aws.Int32(15),
				Ipv4AddressesPerInterface:    aws.Int32(50),
				EncryptionInTransitSupported: aws.Bool(true),
				DefaultNetworkCardIndex:      aws.Int32(0),
				NetworkCards: []ec2types.NetworkCardInfo{
					{
						NetworkCardIndex:         aws.Int32(0),
						MaximumNetworkInterfaces: aws.Int32(15),
					},
				},
			},
		},
		{
			InstanceType:                  "inf2.xlarge",
			SupportedUsageClasses:         []ec2types.UsageClassType{"on-demand", "spot"},
			SupportedVirtualizationTypes:  []ec2types.VirtualizationType{"hvm"},
			BurstablePerformanceSupported: aws.Bool(false),
			BareMetal:                     aws.Bool(false),
			Hypervisor:                    "nitro",
			ProcessorInfo: &ec2types.ProcessorInfo{
				Manufacturer:             aws.String("AMD"),
				SupportedArchitectures:   []ec2types.ArchitectureType{"x86_64"},
				SustainedClockSpeedInGhz: aws.Float64(3.600000),
			},
			VCpuInfo: &ec2types.VCpuInfo{
				DefaultCores: aws.Int32(2),
				DefaultVCpus: aws.Int32(4),
			},
			MemoryInfo: &ec2types.MemoryInfo{
				SizeInMiB: aws.Int64(16384),
			},
			EbsInfo: &ec2types.EbsInfo{
				EbsOptimizedInfo: &ec2types.EbsOptimizedInfo{
					BaselineBandwidthInMbps:  aws.Int32(1250),
					BaselineIops:             aws.Int32(6000),
					BaselineThroughputInMBps: aws.Float64(156.25),
					MaximumBandwidthInMbps:   aws.Int32(10000),
					MaximumIops:              aws.Int32(40000),
					MaximumThroughputInMBps:  aws.Float64(1250.00),
				},
				EbsOptimizedSupport: "default",
				EncryptionSupport:   "supported",
				NvmeSupport:         "required",
			},
			NeuronInfo: &ec2types.NeuronInfo{
				NeuronDevices: []ec2types.NeuronDeviceInfo{
					{
						Count: aws.Int32(1),
						Name:  aws.String("Inferentia2"),
						CoreInfo: &ec2types.NeuronDeviceCoreInfo{
							Count:   aws.Int32(2),
							Version: aws.Int32(2),
						},
						MemoryInfo: &ec2types.NeuronDeviceMemoryInfo{
							SizeInMiB: aws.Int32(32768),
						},
					},
				},
			},
			NetworkInfo: &ec2types.NetworkInfo{
				MaximumNetworkInterfaces:     aws.Int32(4),
				Ipv4AddressesPerInterface:    aws.Int32(15),
				EncryptionInTransitSupported: aws.Bool(true),
				DefaultNetworkCardIndex:      aws.Int32(0),
				NetworkCards: []ec2types.NetworkCardInfo{
					{
						NetworkCardIndex:         aws.Int32(0),
						MaximumNetworkInterfaces: aws.Int32(4),
					},
				},
			},
		},
		{
			InstanceType:                  "m5.large",
			SupportedUsageClasses:         []ec2types.UsageClassType{"on-demand", "spot"},
			SupportedVirtualizationTypes:  []ec2types.VirtualizationType{"hvm"},
			BurstablePerformanceSupported: aws.Bool(false),
			BareMetal:                     aws.Bool(false),
			Hypervisor:                    "nitro",
			ProcessorInfo: &ec2types.ProcessorInfo{
				Manufacturer:             aws.String("Intel"),
				SupportedArchitectures:   []ec2types.ArchitectureType{"x86_64"},
				SustainedClockSpeedInGhz: aws.Float64(3.100000),
			},
			VCpuInfo: &ec2types.VCpuInfo{
				DefaultCores: aws.Int32(1),
				DefaultVCpus: aws.Int32(2),
			},
			MemoryInfo: &ec2types.MemoryInfo{
				SizeInMiB: aws.Int64(8192),
			},
			EbsInfo: &ec2types.EbsInfo{
				EbsOptimizedInfo: &ec2types.EbsOptimizedInfo{
					BaselineBandwidthInMbps:  aws.Int32(650),
					BaselineIops:             aws.Int32(3600),
					BaselineThroughputInMBps: aws.Float64(81.25),
					MaximumBandwidthInMbps:   aws.Int32(4750),
					MaximumIops:              aws.Int32(18750),
					MaximumThroughputInMBps:  aws.Float64(593.75),
				},
				EbsOptimizedSupport: "default",
				EncryptionSupport:   "supported",
				NvmeSupport:         "required",
			},
			NetworkInfo: &ec2types.NetworkInfo{
				MaximumNetworkInterfaces:     aws.Int32(3),
				Ipv4AddressesPerInterface:    aws.Int32(10),
				EncryptionInTransitSupported: aws.Bool(false),
				DefaultNetworkCardIndex:      aws.Int32(0),
				NetworkCards: []ec2types.NetworkCardInfo{
					{
						NetworkCardIndex:         aws.Int32(0),
						MaximumNetworkInterfaces: aws.Int32(3),
					},
				},
			},
		},
		{
			InstanceType:                  "m5.metal",
			SupportedUsageClasses:         []ec2types.UsageClassType{"on-demand", "spot"},
			SupportedVirtualizationTypes:  []ec2types.VirtualizationType{"hvm"},
			BurstablePerformanceSupported: aws.Bool(false),
			BareMetal:                     aws.Bool(true),
			Hypervisor:                    "",
			ProcessorInfo: &ec2types.ProcessorInfo{
				Manufacturer:             aws.String("Intel"),
				SupportedArchitectures:   []ec2types.ArchitectureType{"x86_64"},
				SustainedClockSpeedInGhz: aws.Float64(3.100000),
			},
			VCpuInfo: &ec2types.VCpuInfo{
				DefaultCores: aws.Int32(48),
				DefaultVCpus: aws.Int32(96),
			},
			MemoryInfo: &ec2types.MemoryInfo{
				SizeInMiB: aws.Int64(393216),
			},
			EbsInfo: &ec2types.EbsInfo{
				EbsOptimizedInfo: &ec2types.EbsOptimizedInfo{
					BaselineBandwidthInMbps:  aws.Int32(19000),
					BaselineIops:             aws.Int32(80000),
					BaselineThroughputInMBps: aws.Float64(2375.00),
					MaximumBandwidthInMbps:   aws.Int32(19000),
					MaximumIops:              aws.Int32(80000),
					MaximumThroughputInMBps:  aws.Float64(2375.00),
				},
				EbsOptimizedSupport: "default",
				EncryptionSupport:   "supported",
				NvmeSupport:         "required",
			},
			NetworkInfo: &ec2types.NetworkInfo{
				MaximumNetworkInterfaces:     aws.Int32(15),
				Ipv4AddressesPerInterface:    aws.Int32(50),
				EncryptionInTransitSupported: aws.Bool(false),
				DefaultNetworkCardIndex:      aws.Int32(0),
				NetworkCards: []ec2types.NetworkCardInfo{
					{
						NetworkCardIndex:         aws.Int32(0),
						MaximumNetworkInterfaces: aws.Int32(15),
					},
				},
			},
		},
		{
			InstanceType:                  "m5.xlarge",
			SupportedUsageClasses:         []ec2types.UsageClassType{"on-demand", "spot"},
			SupportedVirtualizationTypes:  []ec2types.VirtualizationType{"hvm"},
			BurstablePerformanceSupported: aws.Bool(false),
			BareMetal:                     aws.Bool(false),
			Hypervisor:                    "nitro",
			ProcessorInfo: &ec2types.ProcessorInfo{
				Manufacturer:             aws.String("Intel"),
				SupportedArchitectures:   []ec2types.ArchitectureType{"x86_64"},
				SustainedClockSpeedInGhz: aws.Float64(3.100000),
			},
			VCpuInfo: &ec2types.VCpuInfo{
				DefaultCores: aws.Int32(2),
				DefaultVCpus: aws.Int32(4),
			},
			MemoryInfo: &ec2types.MemoryInfo{
				SizeInMiB: aws.Int64(16384),
			},
			EbsInfo: &ec2types.EbsInfo{
				EbsOptimizedInfo: &ec2types.EbsOptimizedInfo{
					BaselineBandwidthInMbps:  aws.Int32(1150),
					BaselineIops:             aws.Int32(6000),
					BaselineThroughputInMBps: aws.Float64(143.75),
					MaximumBandwidthInMbps:   aws.Int32(4750),
					MaximumIops:              aws.Int32(18750),
					MaximumThroughputInMBps:  aws.Float64(593.75),
				},
				EbsOptimizedSupport: "default",
				EncryptionSupport:   "supported",
				NvmeSupport:         "required",
			},
			NetworkInfo: &ec2types.NetworkInfo{
				MaximumNetworkInterfaces:     aws.Int32(4),
				Ipv4AddressesPerInterface:    aws.Int32(15),
				EncryptionInTransitSupported: aws.Bool(false),
				DefaultNetworkCardIndex:      aws.Int32(0),
				NetworkCards: []ec2types.NetworkCardInfo{
					{
						NetworkCardIndex:         aws.Int32(0),
						MaximumNetworkInterfaces: aws.Int32(4),
					},
				},
			},
		},
		{
			InstanceType:                  "m6idn.32xlarge",
			SupportedUsageClasses:         []ec2types.UsageClassType{"on-demand", "spot"},
			SupportedVirtualizationTypes:  []ec2types.VirtualizationType{"hvm"},
			BurstablePerformanceSupported: aws.Bool(false),
			BareMetal:                     aws.Bool(false),
			Hypervisor:                    "nitro",
			ProcessorInfo: &ec2types.ProcessorInfo{
				Manufacturer:             aws.String("Intel"),
				SupportedArchitectures:   []ec2types.ArchitectureType{"x86_64"},
				SustainedClockSpeedInGhz: aws.Float64(3.500000),
			},
			VCpuInfo: &ec2types.VCpuInfo{
				DefaultCores: aws.Int32(64),
				DefaultVCpus: aws.Int32(128),
			},
			MemoryInfo: &ec2types.MemoryInfo{
				SizeInMiB: aws.Int64(524288),
			},
			EbsInfo: &ec2types.EbsInfo{
				EbsOptimizedInfo: &ec2types.EbsOptimizedInfo{
					BaselineBandwidthInMbps:  aws.Int32(100000),
					BaselineIops:             aws.Int32(400000),
					BaselineThroughputInMBps: aws.Float64(12500.00),
					MaximumBandwidthInMbps:   aws.Int32(100000),
					MaximumIops:              aws.Int32(400000),
					MaximumThroughputInMBps:  aws.Float64(12500.00),
				},
				EbsOptimizedSupport: "default",
				EncryptionSupport:   "supported",
				NvmeSupport:         "required",
			},
			InstanceStorageInfo: &ec2types.InstanceStorageInfo{NvmeSupport: "required",
				TotalSizeInGB: aws.Int64(7600),
			},
			NetworkInfo: &ec2types.NetworkInfo{
				EfaInfo: &ec2types.EfaInfo{
					MaximumEfaInterfaces: aws.Int32(2),
				},
				MaximumNetworkInterfaces:     aws.Int32(16),
				Ipv4AddressesPerInterface:    aws.Int32(50),
				EncryptionInTransitSupported: aws.Bool(true),
				DefaultNetworkCardIndex:      aws.Int32(0),
				NetworkCards: []ec2types.NetworkCardInfo{
					{
						NetworkCardIndex:         aws.Int32(0),
						MaximumNetworkInterfaces: aws.Int32(8),
					},
					{
						NetworkCardIndex:         aws.Int32(1),
						MaximumNetworkInterfaces: aws.Int32(8),
					},
				},
			},
		},
		{
			InstanceType:                  "m7i-flex.large",
			SupportedUsageClasses:         []ec2types.UsageClassType{"on-demand", "spot"},
			SupportedVirtualizationTypes:  []ec2types.VirtualizationType{"hvm"},
			BurstablePerformanceSupported: aws.Bool(false),
			BareMetal:                     aws.Bool(false),
			Hypervisor:                    "nitro",
			ProcessorInfo: &ec2types.ProcessorInfo{
				Manufacturer:             aws.String("Intel"),
				SupportedArchitectures:   []ec2types.ArchitectureType{"x86_64"},
				SustainedClockSpeedInGhz: aws.Float64(3.200000),
			},
			VCpuInfo: &ec2types.VCpuInfo{
				DefaultCores: aws.Int32(1),
				DefaultVCpus: aws.Int32(2),
			},
			MemoryInfo: &ec2types.MemoryInfo{
				SizeInMiB: aws.Int64(8192),
			},
			EbsInfo: &ec2types.EbsInfo{
				EbsOptimizedInfo: &ec2types.EbsOptimizedInfo{
					BaselineBandwidthInMbps:  aws.Int32(312),
					BaselineIops:             aws.Int32(2500),
					BaselineThroughputInMBps: aws.Float64(39.06),
					MaximumBandwidthInMbps:   aws.Int32(10000),
					MaximumIops:              aws.Int32(40000),
					MaximumThroughputInMBps:  aws.Float64(1250.00),
				},
				EbsOptimizedSupport: "default",
				EncryptionSupport:   "supported",
				NvmeSupport:         "required",
			},
			NetworkInfo: &ec2types.NetworkInfo{
				MaximumNetworkInterfaces:     aws.Int32(3),
				Ipv4AddressesPerInterface:    aws.Int32(10),
				EncryptionInTransitSupported: aws.Bool(true),
				DefaultNetworkCardIndex:      aws.Int32(0),
				NetworkCards: []ec2types.NetworkCardInfo{
					{
						NetworkCardIndex:         aws.Int32(0),
						MaximumNetworkInterfaces: aws.Int32(3),
					},
				},
			},
		},
		{
			InstanceType:                  "p3.8xlarge",
			SupportedUsageClasses:         []ec2types.UsageClassType{"on-demand", "spot"},
			SupportedVirtualizationTypes:  []ec2types.VirtualizationType{"hvm"},
			BurstablePerformanceSupported: aws.Bool(false),
			BareMetal:                     aws.Bool(false),
			Hypervisor:                    "xen",
			ProcessorInfo: &ec2types.ProcessorInfo{
				Manufacturer:             aws.String("Intel"),
				SupportedArchitectures:   []ec2types.ArchitectureType{"x86_64"},
				SustainedClockSpeedInGhz: aws.Float64(2.700000),
			},
			VCpuInfo: &ec2types.VCpuInfo{
				DefaultCores: aws.Int32(16),
				DefaultVCpus: aws.Int32(32),
			},
			MemoryInfo: &ec2types.MemoryInfo{
				SizeInMiB: aws.Int64(249856),
			},
			EbsInfo: &ec2types.EbsInfo{
				EbsOptimizedInfo: &ec2types.EbsOptimizedInfo{
					BaselineBandwidthInMbps:  aws.Int32(7000),
					BaselineIops:             aws.Int32(40000),
					BaselineThroughputInMBps: aws.Float64(875.00),
					MaximumBandwidthInMbps:   aws.Int32(7000),
					MaximumIops:              aws.Int32(40000),
					MaximumThroughputInMBps:  aws.Float64(875.00),
				},
				EbsOptimizedSupport: "default",
				EncryptionSupport:   "supported",
				NvmeSupport:         "unsupported",
			},
			GpuInfo: &ec2types.GpuInfo{
				Gpus: []ec2types.GpuDeviceInfo{
					{
						Name:         aws.String("V100"),
						Manufacturer: aws.String("NVIDIA"),
						Count:        aws.Int32(4),
						MemoryInfo: &ec2types.GpuDeviceMemoryInfo{
							SizeInMiB: aws.Int32(16384),
						},
					},
				},
			},
			NetworkInfo: &ec2types.NetworkInfo{
				MaximumNetworkInterfaces:     aws.Int32(8),
				Ipv4AddressesPerInterface:    aws.Int32(30),
				EncryptionInTransitSupported: aws.Bool(false),
				DefaultNetworkCardIndex:      aws.Int32(0),
				NetworkCards: []ec2types.NetworkCardInfo{
					{
						NetworkCardIndex:         aws.Int32(0),
						MaximumNetworkInterfaces: aws.Int32(8),
					},
				},
			},
		},
		{
			InstanceType:                  "t3.large",
			SupportedUsageClasses:         []ec2types.UsageClassType{"on-demand", "spot"},
			SupportedVirtualizationTypes:  []ec2types.VirtualizationType{"hvm"},
			BurstablePerformanceSupported: aws.Bool(true),
			BareMetal:                     aws.Bool(false),
			Hypervisor:                    "nitro",
			ProcessorInfo: &ec2types.ProcessorInfo{
				Manufacturer:             aws.String("Intel"),
				SupportedArchitectures:   []ec2types.ArchitectureType{"x86_64"},
				SustainedClockSpeedInGhz: aws.Float64(2.500000),
			},
			VCpuInfo: &ec2types.VCpuInfo{
				DefaultCores: aws.Int32(1),
				DefaultVCpus: aws.Int32(2),
			},
			MemoryInfo: &ec2types.MemoryInfo{
				SizeInMiB: aws.Int64(8192),
			},
			EbsInfo: &ec2types.EbsInfo{
				EbsOptimizedInfo: &ec2types.EbsOptimizedInfo{
					BaselineBandwidthInMbps:  aws.Int32(695),
					BaselineIops:             aws.Int32(4000),
					BaselineThroughputInMBps: aws.Float64(86.88),
					MaximumBandwidthInMbps:   aws.Int32(2780),
					MaximumIops:              aws.Int32(15700),
					MaximumThroughputInMBps:  aws.Float64(347.50),
				},
				EbsOptimizedSupport: "default",
				EncryptionSupport:   "supported",
				NvmeSupport:         "required",
			},
			NetworkInfo: &ec2types.NetworkInfo{
				MaximumNetworkInterfaces:     aws.Int32(3),
				Ipv4AddressesPerInterface:    aws.Int32(12),
				EncryptionInTransitSupported: aws.Bool(false),
				DefaultNetworkCardIndex:      aws.Int32(0),
				NetworkCards: []ec2types.NetworkCardInfo{
					{
						NetworkCardIndex:         aws.Int32(0),
						MaximumNetworkInterfaces: aws.Int32(3),
					},
				},
			},
		},
		{
			InstanceType:                  "t4g.medium",
			SupportedUsageClasses:         []ec2types.UsageClassType{"on-demand", "spot"},
			SupportedVirtualizationTypes:  []ec2types.VirtualizationType{"hvm"},
			BurstablePerformanceSupported: aws.Bool(true),
			BareMetal:                     aws.Bool(false),
			Hypervisor:                    "nitro",
			ProcessorInfo: &ec2types.ProcessorInfo{
				Manufacturer:             aws.String("AWS"),
				SupportedArchitectures:   []ec2types.ArchitectureType{"arm64"},
				SustainedClockSpeedInGhz: aws.Float64(2.500000),
			},
			VCpuInfo: &ec2types.VCpuInfo{
				DefaultCores: aws.Int32(2),
				DefaultVCpus: aws.Int32(2),
			},
			MemoryInfo: &ec2types.MemoryInfo{
				SizeInMiB: aws.Int64(4096),
			},
			EbsInfo: &ec2types.EbsInfo{
				EbsOptimizedInfo: &ec2types.EbsOptimizedInfo{
					BaselineBandwidthInMbps:  aws.Int32(347),
					BaselineIops:             aws.Int32(2000),
					BaselineThroughputInMBps: aws.Float64(43.38),
					MaximumBandwidthInMbps:   aws.Int32(2085),
					MaximumIops:              aws.Int32(11800),
					MaximumThroughputInMBps:  aws.Float64(260.62),
				},
				EbsOptimizedSupport: "default",
				EncryptionSupport:   "supported",
				NvmeSupport:         "required",
			},
			NetworkInfo: &ec2types.NetworkInfo{
				MaximumNetworkInterfaces:     aws.Int32(3),
				Ipv4AddressesPerInterface:    aws.Int32(6),
				EncryptionInTransitSupported: aws.Bool(false),
				DefaultNetworkCardIndex:      aws.Int32(0),
				NetworkCards: []ec2types.NetworkCardInfo{
					{
						NetworkCardIndex:         aws.Int32(0),
						MaximumNetworkInterfaces: aws.Int32(3),
					},
				},
			},
		},
		{
			InstanceType:                  "t4g.small",
			SupportedUsageClasses:         []ec2types.UsageClassType{"on-demand", "spot"},
			SupportedVirtualizationTypes:  []ec2types.VirtualizationType{"hvm"},
			BurstablePerformanceSupported: aws.Bool(true),
			BareMetal:                     aws.Bool(false),
			Hypervisor:                    "nitro",
			ProcessorInfo: &ec2types.ProcessorInfo{
				Manufacturer:             aws.String("AWS"),
				SupportedArchitectures:   []ec2types.ArchitectureType{"arm64"},
				SustainedClockSpeedInGhz: aws.Float64(2.500000),
			},
			VCpuInfo: &ec2types.VCpuInfo{
				DefaultCores: aws.Int32(2),
				DefaultVCpus: aws.Int32(2),
			},
			MemoryInfo: &ec2types.MemoryInfo{
				SizeInMiB: aws.Int64(2048),
			},
			EbsInfo: &ec2types.EbsInfo{
				EbsOptimizedInfo: &ec2types.EbsOptimizedInfo{
					BaselineBandwidthInMbps:  aws.Int32(174),
					BaselineIops:             aws.Int32(1000),
					BaselineThroughputInMBps: aws.Float64(21.75),
					MaximumBandwidthInMbps:   aws.Int32(2085),
					MaximumIops:              aws.Int32(11800),
					MaximumThroughputInMBps:  aws.Float64(260.62),
				},
				EbsOptimizedSupport: "default",
				EncryptionSupport:   "supported",
				NvmeSupport:         "required",
			},
			NetworkInfo: &ec2types.NetworkInfo{
				MaximumNetworkInterfaces:     aws.Int32(3),
				Ipv4AddressesPerInterface:    aws.Int32(4),
				EncryptionInTransitSupported: aws.Bool(false),
				DefaultNetworkCardIndex:      aws.Int32(0),
				NetworkCards: []ec2types.NetworkCardInfo{
					{
						NetworkCardIndex:         aws.Int32(0),
						MaximumNetworkInterfaces: aws.Int32(3),
					},
				},
			},
		},
		{
			InstanceType:                  "t4g.xlarge",
			SupportedUsageClasses:         []ec2types.UsageClassType{"on-demand", "spot"},
			SupportedVirtualizationTypes:  []ec2types.VirtualizationType{"hvm"},
			BurstablePerformanceSupported: aws.Bool(true),
			BareMetal:                     aws.Bool(false),
			Hypervisor:                    "nitro",
			ProcessorInfo: &ec2types.ProcessorInfo{
				Manufacturer:             aws.String("AWS"),
				SupportedArchitectures:   []ec2types.ArchitectureType{"arm64"},
				SustainedClockSpeedInGhz: aws.Float64(2.500000),
			},
			VCpuInfo: &ec2types.VCpuInfo{
				DefaultCores: aws.Int32(4),
				DefaultVCpus: aws.Int32(4),
			},
			MemoryInfo: &ec2types.MemoryInfo{
				SizeInMiB: aws.Int64(16384),
			},
			EbsInfo: &ec2types.EbsInfo{
				EbsOptimizedInfo: &ec2types.EbsOptimizedInfo{
					BaselineBandwidthInMbps:  aws.Int32(695),
					BaselineIops:             aws.Int32(4000),
					BaselineThroughputInMBps: aws.Float64(86.88),
					MaximumBandwidthInMbps:   aws.Int32(2780),
					MaximumIops:              aws.Int32(15700),
					MaximumThroughputInMBps:  aws.Float64(347.50),
				},
				EbsOptimizedSupport: "default",
				EncryptionSupport:   "supported",
				NvmeSupport:         "required",
			},
			NetworkInfo: &ec2types.NetworkInfo{
				MaximumNetworkInterfaces:     aws.Int32(4),
				Ipv4AddressesPerInterface:    aws.Int32(15),
				EncryptionInTransitSupported: aws.Bool(false),
				DefaultNetworkCardIndex:      aws.Int32(0),
				NetworkCards: []ec2types.NetworkCardInfo{
					{
						NetworkCardIndex:         aws.Int32(0),
						MaximumNetworkInterfaces: aws.Int32(4),
					},
				},
			},
		},
		{
			InstanceType:                  "trn1.2xlarge",
			SupportedUsageClasses:         []ec2types.UsageClassType{"on-demand", "spot"},
			SupportedVirtualizationTypes:  []ec2types.VirtualizationType{"hvm"},
			BurstablePerformanceSupported: aws.Bool(false),
			BareMetal:                     aws.Bool(false),
			Hypervisor:                    "nitro",
			ProcessorInfo: &ec2types.ProcessorInfo{
				Manufacturer:             aws.String("Intel"),
				SupportedArchitectures:   []ec2types.ArchitectureType{"x86_64"},
				SustainedClockSpeedInGhz: aws.Float64(3.500000),
			},
			VCpuInfo: &ec2types.VCpuInfo{
				DefaultCores: aws.Int32(4),
				DefaultVCpus: aws.Int32(8),
			},
			MemoryInfo: &ec2types.MemoryInfo{
				SizeInMiB: aws.Int64(32768),
			},
			EbsInfo: &ec2types.EbsInfo{
				EbsOptimizedInfo: &ec2types.EbsOptimizedInfo{
					BaselineBandwidthInMbps:  aws.Int32(5000),
					BaselineIops:             aws.Int32(16250),
					BaselineThroughputInMBps: aws.Float64(625.00),
					MaximumBandwidthInMbps:   aws.Int32(20000),
					MaximumIops:              aws.Int32(65000),
					MaximumThroughputInMBps:  aws.Float64(2500.00),
				},
				EbsOptimizedSupport: "default",
				EncryptionSupport:   "supported",
				NvmeSupport:         "required",
			},
			NeuronInfo: &ec2types.NeuronInfo{
				NeuronDevices: []ec2types.NeuronDeviceInfo{
					{
						Count: aws.Int32(1),
						Name:  aws.String("Trainium"),
						CoreInfo: &ec2types.NeuronDeviceCoreInfo{
							Count:   aws.Int32(2),
							Version: aws.Int32(2),
						},
						MemoryInfo: &ec2types.NeuronDeviceMemoryInfo{
							SizeInMiB: aws.Int32(32768),
						},
					},
				},
			},
			InstanceStorageInfo: &ec2types.InstanceStorageInfo{NvmeSupport: "required",
				TotalSizeInGB: aws.Int64(474),
			},
			NetworkInfo: &ec2types.NetworkInfo{
				MaximumNetworkInterfaces:     aws.Int32(4),
				Ipv4AddressesPerInterface:    aws.Int32(15),
				EncryptionInTransitSupported: aws.Bool(true),
				DefaultNetworkCardIndex:      aws.Int32(0),
				NetworkCards: []ec2types.NetworkCardInfo{
					{
						NetworkCardIndex:         aws.Int32(0),
						MaximumNetworkInterfaces: aws.Int32(4),
					},
				},
			},
		},
	},
}

var defaultDescribeInstanceTypeOfferingsOutput = &ec2.DescribeInstanceTypeOfferingsOutput{
	InstanceTypeOfferings: []ec2types.InstanceTypeOffering{
		{
			InstanceType: "c6g.large",
			Location:     lo.ToPtr("test-zone-1a"),
		},
		{
			InstanceType: "dl1.24xlarge",
			Location:     lo.ToPtr("test-zone-1a"),
		},
		{
			InstanceType: "dl1.24xlarge",
			Location:     lo.ToPtr("test-zone-1b"),
		},
		{
			InstanceType: "g4ad.16xlarge",
			Location:     lo.ToPtr("test-zone-1a"),
		},
		{
			InstanceType: "g4ad.16xlarge",
			Location:     lo.ToPtr("test-zone-1b"),
		},
		{
			InstanceType: "g4dn.8xlarge",
			Location:     lo.ToPtr("test-zone-1a"),
		},
		{
			InstanceType: "g4dn.8xlarge",
			Location:     lo.ToPtr("test-zone-1b"),
		},
		{
			InstanceType: "inf2.24xlarge",
			Location:     lo.ToPtr("test-zone-1a"),
		},
		{
			InstanceType: "inf2.xlarge",
			Location:     lo.ToPtr("test-zone-1a"),
		},
		{
			InstanceType: "m5.2xlarge",
			Location:     lo.ToPtr("test-zone-1a"),
		},
		{
			InstanceType: "m5.4xlarge",
			Location:     lo.ToPtr("test-zone-1a"),
		},
		{
			InstanceType: "m5.8xlarge",
			Location:     lo.ToPtr("test-zone-1a"),
		},
		{
			InstanceType: "m5.large",
			Location:     lo.ToPtr("test-zone-1a"),
		},
		{
			InstanceType: "m5.large",
			Location:     lo.ToPtr("test-zone-1b"),
		},
		{
			InstanceType: "m5.large",
			Location:     lo.ToPtr("test-zone-1c"),
		},
		{
			InstanceType: "m5.large",
			Location:     lo.ToPtr("test-zone-1a-local"),
		},
		{
			InstanceType: "m5.metal",
			Location:     lo.ToPtr("test-zone-1a"),
		},
		{
			InstanceType: "m5.metal",
			Location:     lo.ToPtr("test-zone-1b"),
		},
		{
			InstanceType: "m5.xlarge",
			Location:     lo.ToPtr("test-zone-1a"),
		},
		{
			InstanceType: "m5.xlarge",
			Location:     lo.ToPtr("test-zone-1b"),
		},
		{
			InstanceType: "m6idn.32xlarge",
			Location:     lo.ToPtr("test-zone-1a"),
		},
		{
			InstanceType: "m6idn.32xlarge",
			Location:     lo.ToPtr("test-zone-1b"),
		},
		{
			InstanceType: "m6idn.32xlarge",
			Location:     lo.ToPtr("test-zone-1c"),
		},
		{
			InstanceType: "m7i-flex.large",
			Location:     lo.ToPtr("test-zone-1a"),
		},
		{
			InstanceType: "p3.8xlarge",
			Location:     lo.ToPtr("test-zone-1a"),
		},
		{
			InstanceType: "p3.8xlarge",
			Location:     lo.ToPtr("test-zone-1b"),
		},
		{
			InstanceType: "t3.large",
			Location:     lo.ToPtr("test-zone-1a"),
		},
		{
			InstanceType: "t3.large",
			Location:     lo.ToPtr("test-zone-1b"),
		},
		{
			InstanceType: "trn1.2xlarge",
			Location:     lo.ToPtr("test-zone-1a"),
		},
	},
}
