func getInstanceTypeInfo()

in hack/code/instancetype_testdata_gen/main.go [158:238]


func getInstanceTypeInfo(info ec2types.InstanceTypeInfo) string {
	src := &bytes.Buffer{}

	fmt.Fprintf(src, "InstanceType: \"%s\",\n", info.InstanceType)
	fmt.Fprintf(src, "SupportedUsageClasses:[]ec2types.UsageClassType{%s},\n", getStringSliceData(info.SupportedUsageClasses))
	fmt.Fprintf(src, "SupportedVirtualizationTypes: []ec2types.VirtualizationType{%s},\n", getStringSliceData(info.SupportedVirtualizationTypes))
	fmt.Fprintf(src, "BurstablePerformanceSupported: aws.Bool(%t),\n", lo.FromPtr(info.BurstablePerformanceSupported))
	fmt.Fprintf(src, "BareMetal: aws.Bool(%t),\n", lo.FromPtr(info.BareMetal))
	fmt.Fprintf(src, "Hypervisor: \"%s\",\n", info.Hypervisor)

	fmt.Fprintf(src, "ProcessorInfo: &ec2types.ProcessorInfo{\n")
	fmt.Fprintf(src, "Manufacturer: aws.String(\"%s\"),\n", lo.FromPtr(info.ProcessorInfo.Manufacturer))
	fmt.Fprintf(src, "SupportedArchitectures: []ec2types.ArchitectureType{%s},\n", getStringSliceData(info.ProcessorInfo.SupportedArchitectures))
	fmt.Fprintf(src, "SustainedClockSpeedInGhz: aws.Float64(%f),\n", lo.FromPtr(info.ProcessorInfo.SustainedClockSpeedInGhz))
	fmt.Fprintf(src, "},\n")
	fmt.Fprintf(src, "VCpuInfo: &ec2types.VCpuInfo{\n")
	fmt.Fprintf(src, "DefaultCores: aws.Int32(%d),\n", lo.FromPtr(info.VCpuInfo.DefaultCores))
	fmt.Fprintf(src, "DefaultVCpus: aws.Int32(%d),\n", lo.FromPtr(info.VCpuInfo.DefaultVCpus))
	fmt.Fprintf(src, "},\n")
	fmt.Fprintf(src, "MemoryInfo: &ec2types.MemoryInfo{\n")
	fmt.Fprintf(src, "SizeInMiB: aws.Int64(%d),\n", lo.FromPtr(info.MemoryInfo.SizeInMiB))
	fmt.Fprintf(src, "},\n")
	if info.EbsInfo != nil {
		fmt.Fprintf(src, "EbsInfo: &ec2types.EbsInfo{\n")
		if info.EbsInfo.EbsOptimizedInfo != nil {
			fmt.Fprintf(src, "EbsOptimizedInfo: &ec2types.EbsOptimizedInfo{\n")
			fmt.Fprintf(src, "BaselineBandwidthInMbps: aws.Int32(%d),\n", lo.FromPtr(info.EbsInfo.EbsOptimizedInfo.BaselineBandwidthInMbps))
			fmt.Fprintf(src, "BaselineIops: aws.Int32(%d),\n", lo.FromPtr(info.EbsInfo.EbsOptimizedInfo.BaselineIops))
			fmt.Fprintf(src, "BaselineThroughputInMBps: aws.Float64(%.2f),\n", lo.FromPtr(info.EbsInfo.EbsOptimizedInfo.BaselineThroughputInMBps))
			fmt.Fprintf(src, "MaximumBandwidthInMbps: aws.Int32(%d),\n", lo.FromPtr(info.EbsInfo.EbsOptimizedInfo.MaximumBandwidthInMbps))
			fmt.Fprintf(src, "MaximumIops: aws.Int32(%d),\n", lo.FromPtr(info.EbsInfo.EbsOptimizedInfo.MaximumIops))
			fmt.Fprintf(src, "MaximumThroughputInMBps: aws.Float64(%.2f),\n", lo.FromPtr(info.EbsInfo.EbsOptimizedInfo.MaximumThroughputInMBps))
			fmt.Fprintf(src, "},\n")
		}
		fmt.Fprintf(src, "EbsOptimizedSupport: \"%s\",\n", info.EbsInfo.EbsOptimizedSupport)
		fmt.Fprintf(src, "EncryptionSupport: \"%s\",\n", info.EbsInfo.EncryptionSupport)
		fmt.Fprintf(src, "NvmeSupport: \"%s\",\n", info.EbsInfo.NvmeSupport)
		fmt.Fprintf(src, "},\n")
	}
	if info.NeuronInfo != nil {
		fmt.Fprintf(src, "NeuronInfo: &ec2types.NeuronInfo{\n")
		fmt.Fprintf(src, "NeuronDevices: []ec2types.NeuronDeviceInfo{\n")
		for _, elem := range info.NeuronInfo.NeuronDevices {
			fmt.Fprintf(src, getNeuronDeviceInfo(elem))
		}
		fmt.Fprintf(src, "},\n")
		fmt.Fprintf(src, "},\n")
	}
	if info.GpuInfo != nil {
		fmt.Fprintf(src, "GpuInfo: &ec2types.GpuInfo{\n")
		fmt.Fprintf(src, "Gpus: []ec2types.GpuDeviceInfo{\n")
		for _, elem := range info.GpuInfo.Gpus {
			fmt.Fprintf(src, getGPUDeviceInfo(elem))
		}
		fmt.Fprintf(src, "},\n")
		fmt.Fprintf(src, "},\n")
	}
	if info.InstanceStorageInfo != nil {
		fmt.Fprintf(src, "InstanceStorageInfo: &ec2types.InstanceStorageInfo{")
		fmt.Fprintf(src, "NvmeSupport: \"%s\",\n", string(info.InstanceStorageInfo.NvmeSupport))
		fmt.Fprintf(src, "TotalSizeInGB: aws.Int64(%d),\n", lo.FromPtr(info.InstanceStorageInfo.TotalSizeInGB))
		fmt.Fprintf(src, "},\n")
	}
	fmt.Fprintf(src, "NetworkInfo: &ec2types.NetworkInfo{\n")
	if info.NetworkInfo.EfaInfo != nil {
		fmt.Fprintf(src, "EfaInfo: &ec2types.EfaInfo{\n")
		fmt.Fprintf(src, "MaximumEfaInterfaces: aws.Int32(%d),\n", lo.FromPtr(info.NetworkInfo.EfaInfo.MaximumEfaInterfaces))
		fmt.Fprintf(src, "},\n")
	}
	fmt.Fprintf(src, "MaximumNetworkInterfaces: aws.Int32(%d),\n", lo.FromPtr(info.NetworkInfo.MaximumNetworkInterfaces))
	fmt.Fprintf(src, "Ipv4AddressesPerInterface: aws.Int32(%d),\n", lo.FromPtr(info.NetworkInfo.Ipv4AddressesPerInterface))
	fmt.Fprintf(src, "EncryptionInTransitSupported: aws.Bool(%t),\n", lo.FromPtr(info.NetworkInfo.EncryptionInTransitSupported))
	fmt.Fprintf(src, "DefaultNetworkCardIndex: aws.Int32(%d),\n", lo.FromPtr(info.NetworkInfo.DefaultNetworkCardIndex))
	fmt.Fprintf(src, "NetworkCards: []ec2types.NetworkCardInfo{\n")
	for _, networkCard := range info.NetworkInfo.NetworkCards {
		fmt.Fprintf(src, getNetworkCardInfo(networkCard))
	}
	fmt.Fprintf(src, "},\n")
	fmt.Fprintf(src, "},\n")
	return src.String()
}