UNPKG

@pulumi/aws

Version:

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

347 lines (346 loc) • 12.9 kB
import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../types/output"; /** * Get characteristics for a single EC2 Instance Type. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = aws.ec2.getInstanceType({ * instanceType: "t2.micro", * }); * ``` */ export declare function getInstanceType(args: GetInstanceTypeArgs, opts?: pulumi.InvokeOptions): Promise<GetInstanceTypeResult>; /** * A collection of arguments for invoking getInstanceType. */ export interface GetInstanceTypeArgs { /** * Instance */ instanceType: string; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: string; } /** * A collection of values returned by getInstanceType. */ export interface GetInstanceTypeResult { /** * `true` if auto recovery is supported. */ readonly autoRecoverySupported: boolean; /** * A set of strings of valid settings for [configurable bandwidth weighting](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-bandwidth-weighting.html), if supported. */ readonly bandwidthWeightings: string[]; /** * `true` if it is a bare metal instance type. */ readonly bareMetal: boolean; /** * A set of strings of supported boot modes. */ readonly bootModes: string[]; /** * `true` if the instance type is a burstable performance instance type. */ readonly burstablePerformanceSupported: boolean; /** * `true` if the instance type is a current generation. */ readonly currentGeneration: boolean; /** * `true` if Dedicated Hosts are supported on the instance type. */ readonly dedicatedHostsSupported: boolean; /** * Default number of cores for the instance type. */ readonly defaultCores: number; /** * The index of the default network card, starting at `0`. */ readonly defaultNetworkCardIndex: number; /** * The default number of threads per core for the instance type. */ readonly defaultThreadsPerCore: number; /** * Default number of vCPUs for the instance type. */ readonly defaultVcpus: number; /** * Indicates whether Amazon EBS encryption is supported. */ readonly ebsEncryptionSupport: string; /** * Whether non-volatile memory express (NVMe) is supported. */ readonly ebsNvmeSupport: string; /** * Indicates that the instance type is Amazon EBS-optimized. */ readonly ebsOptimizedSupport: string; /** * The baseline bandwidth performance for an EBS-optimized instance type, in Mbps. */ readonly ebsPerformanceBaselineBandwidth: number; /** * The baseline input/output storage operations per seconds for an EBS-optimized instance type. */ readonly ebsPerformanceBaselineIops: number; /** * The baseline throughput performance for an EBS-optimized instance type, in MBps. */ readonly ebsPerformanceBaselineThroughput: number; /** * The maximum bandwidth performance for an EBS-optimized instance type, in Mbps. */ readonly ebsPerformanceMaximumBandwidth: number; /** * The maximum input/output storage operations per second for an EBS-optimized instance type. */ readonly ebsPerformanceMaximumIops: number; /** * The maximum throughput performance for an EBS-optimized instance type, in MBps. */ readonly ebsPerformanceMaximumThroughput: number; /** * The maximum number of Elastic Fabric Adapters for the instance type. */ readonly efaMaximumInterfaces: number; /** * `true` if Elastic Fabric Adapter (EFA) is supported. */ readonly efaSupported: boolean; /** * `true` if the instance type supports [ENA Express](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ena-express.html). */ readonly enaSrdSupported: boolean; /** * Indicates whether Elastic Network Adapter (ENA) is `"supported"`, `"required"`, or `"unsupported"`. */ readonly enaSupport: string; /** * `true` if encryption in-transit between instances is supported. */ readonly encryptionInTransitSupported: boolean; /** * Describes the FPGA accelerator settings for the instance type. * * `fpgas.#.count` - The count of FPGA accelerators for the instance type. * * `fpgas.#.manufacturer` - The manufacturer of the FPGA accelerator. * * `fpgas.#.memory_size` - The size (in MiB) of the memory available to the FPGA accelerator. * * `fpgas.#.name` - The name of the FPGA accelerator. */ readonly fpgas: outputs.ec2.GetInstanceTypeFpga[]; /** * `true` if the instance type is eligible for the free tier. */ readonly freeTierEligible: boolean; /** * Describes the GPU accelerators for the instance type. * * `gpus.#.count` - The number of GPUs for the instance type. * * `gpus.#.manufacturer` - The manufacturer of the GPU accelerator. * * `gpus.#.memory_size` - The size (in MiB) of the memory available to the GPU accelerator. * * `gpus.#.name` - The name of the GPU accelerator. */ readonly gpuses: outputs.ec2.GetInstanceTypeGpus[]; /** * `true` if On-Demand hibernation is supported. */ readonly hibernationSupported: boolean; /** * Hypervisor used for the instance type. */ readonly hypervisor: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * Describes the Inference accelerators for the instance type. * * `inference_accelerators.#.count` - The number of Inference accelerators for the instance type. * * `inference_accelerators.#.manufacturer` - The manufacturer of the Inference accelerator. * * `inference_accelerators.#.memory_size` - The size (in MiB) of the memory available to the inference accelerator. * * `inference_accelerators.#.name` - The name of the Inference accelerator. */ readonly inferenceAccelerators: outputs.ec2.GetInstanceTypeInferenceAccelerator[]; /** * Describes the disks for the instance type. * * `instance_disks.#.count` - The number of disks with this configuration. * * `instance_disks.#.size` - The size of the disk in GB. * * `instance_disks.#.type` - The type of disk. */ readonly instanceDisks: outputs.ec2.GetInstanceTypeInstanceDisk[]; /** * `true` if instance storage is supported. */ readonly instanceStorageSupported: boolean; readonly instanceType: string; /** * `true` if IPv6 is supported. */ readonly ipv6Supported: boolean; /** * The maximum number of IPv4 addresses per network interface. */ readonly maximumIpv4AddressesPerInterface: number; /** * The maximum number of IPv6 addresses per network interface. */ readonly maximumIpv6AddressesPerInterface: number; /** * The maximum number of physical network cards that can be allocated to the instance. */ readonly maximumNetworkCards: number; /** * The maximum number of network interfaces for the instance type. */ readonly maximumNetworkInterfaces: number; /** * Describes the media accelerator settings for the instance type. * * `media_accelerators.#.count` - The number of media accelerators for the instance type. * * `media_accelerators.#.manufacturer` - The manufacturer of the media accelerator. * * `media_accelerators.#.memory_size` - The size (in MiB) of the memory available to each media accelerator. * * `media_accelerators.#.name` - The name of the media accelerator. */ readonly mediaAccelerators: outputs.ec2.GetInstanceTypeMediaAccelerator[]; /** * Size of the instance memory, in MiB. */ readonly memorySize: number; /** * Describes the network cards for the instance type. * * `network_cards.#.baseline_bandwidth` - The baseline network performance (in Gbps) of the network card. * * `network_cards.#.index` - The index of the network card. * * `network_cards.#.maximum_interfaces` - The maximum number of network interfaces for the /network card. * * `network_cards.#.performance` - Describes the network performance of the network card. * * `network_cards.#.peak_bandwidth` - The peak (burst) network performance (in Gbps) of the network card. */ readonly networkCards: outputs.ec2.GetInstanceTypeNetworkCard[]; /** * Describes the network performance. */ readonly networkPerformance: string; /** * Describes the Neuron accelerator settings for the instance type. * * `neuron_devices.#.core_count` - The number of cores available to the neuron accelerator. * * `neuron_devices.#.core_version` - A number representing the version of the neuron accelerator. * * `neuron_devices.#.count` - The number of neuron accelerators for the instance type. * * `neuron_devices.#.memory_size` - The size (in MiB) of the memory available to the neuron accelerator. * * `neuron_devices.#.name` - The name of the neuron accelerator. */ readonly neuronDevices: outputs.ec2.GetInstanceTypeNeuronDevice[]; /** * Indicates whether Nitro Enclaves is `"supported"` or `"unsupported"`. */ readonly nitroEnclavesSupport: string; /** * Indicates whether NitroTPM is `"supported"` or `"unsupported"`. */ readonly nitroTpmSupport: string; /** * A set of strings indicating the supported NitroTPM versions. */ readonly nitroTpmSupportedVersions: string[]; /** * `true` if a local Precision Time Protocol (PTP) hardware clock (PHC) is supported. */ readonly phcSupport: string; readonly region: string; /** * A list of strings of architectures supported by the instance type. */ readonly supportedArchitectures: string[]; /** * A set of strings indicating supported CPU features. */ readonly supportedCpuFeatures: string[]; /** * A list of supported placement groups types. */ readonly supportedPlacementStrategies: string[]; /** * A list of supported root device types. */ readonly supportedRootDeviceTypes: string[]; /** * A list of supported usage classes. Usage classes are `"spot"`, `"on-demand"`, or `"capacity-block"`. */ readonly supportedUsagesClasses: string[]; /** * The supported virtualization types. */ readonly supportedVirtualizationTypes: string[]; /** * The speed of the processor, in GHz. */ readonly sustainedClockSpeed: number; /** * Total memory of all FPGA accelerators for the instance type (in MiB). */ readonly totalFpgaMemory: number; /** * Total size of the memory for the GPU accelerators for the instance type (in MiB). */ readonly totalGpuMemory: number; /** * The total size of the memory for the neuron accelerators for the instance type (in MiB). */ readonly totalInferenceMemory: number; /** * The total size of the instance disks, in GB. */ readonly totalInstanceStorage: number; /** * The total size of the memory for the media accelerators for the instance type (in MiB). */ readonly totalMediaMemory: number; /** * The total size of the memory for the neuron accelerators for the instance type (in MiB). */ readonly totalNeuronDeviceMemory: number; /** * List of the valid number of cores that can be configured for the instance type. */ readonly validCores: number[]; /** * List of the valid number of threads per core that can be configured for the instance type. */ readonly validThreadsPerCores: number[]; } /** * Get characteristics for a single EC2 Instance Type. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = aws.ec2.getInstanceType({ * instanceType: "t2.micro", * }); * ``` */ export declare function getInstanceTypeOutput(args: GetInstanceTypeOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetInstanceTypeResult>; /** * A collection of arguments for invoking getInstanceType. */ export interface GetInstanceTypeOutputArgs { /** * Instance */ instanceType: pulumi.Input<string>; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input<string>; }