import type { IInstanceType, IInstanceTypeCategory, IInstanceTypesByRegion, IPreferredInstanceType } from '@spinnaker/core'; export interface IAmazonPreferredInstanceType extends IPreferredInstanceType { cpuCreditsPerHour?: number; } export interface IAmazonInstanceTypeCategory extends IInstanceTypeCategory { showCpuCredits?: boolean; descriptionListOverride?: string[]; } export interface IAmazonInstanceType extends IInstanceType { defaultVCpus: number; memoryInGiB: number; hypervisor: string; instanceStorageInfo?: IAmazonInstanceTypeStorageInfo; ebsInfo?: IAmazonInstanceTypeEbsInfo; gpuInfo?: IAmazonInstanceGpuInfo; instanceStorageSupported: boolean; currentGeneration: boolean; bareMetal: boolean; ipv6Supported?: boolean; burstablePerformanceSupported: boolean; supportedArchitectures: string[]; supportedUsageClasses: string[]; supportedRootDeviceTypes: string[]; supportedVirtualizationTypes: string[]; } export interface IAmazonInstanceTypeStorageInfo { storageTypes: string; totalSizeInGB?: number; nvmeSupport?: string; } export interface IAmazonInstanceTypeEbsInfo { ebsOptimizedSupport: string; nvmeSupport?: string; encryptionSupport: string; } export interface IAmazonInstanceGpuInfo { totalGpuMemoryInMiB: number; gpus: IAmazonInstanceGpuDeviceInfo[]; } export interface IAmazonInstanceGpuDeviceInfo { name: string; manufacturer: string; count: number; gpuSizeInMiB: number; } export interface IAmazonInstanceTypesByRegion extends IInstanceTypesByRegion { [region: string]: IAmazonInstanceType[]; } export declare const AMAZON_INSTANCE_AWSINSTANCETYPE_SERVICE = "spinnaker.amazon.instanceType.service"; export declare const name = "spinnaker.amazon.instanceType.service";