@pulumi/aws
Version:
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
347 lines (346 loc) • 12.9 kB
TypeScript
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>;
}