[ aws . ec2 ]

describe-instance-types

Description

Describes the details of the instance types that are offered in a location. The results can be filtered by the attributes of the instance types.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

describe-instance-types is a paginated operation. Multiple API calls may be issued in order to retrieve the entire data set of results. You can disable pagination by providing the --no-paginate argument. When using --output text and the --query argument on a paginated response, the --query argument must extract data from the results of the following query expressions: InstanceTypes

Synopsis

  describe-instance-types
[--dry-run | --no-dry-run]
[--instance-types <value>]
[--filters <value>]
[--cli-input-json | --cli-input-yaml]
[--starting-token <value>]
[--page-size <value>]
[--max-items <value>]
[--generate-cli-skeleton <value>]
[--cli-auto-prompt <value>]

Options

--dry-run | --no-dry-run (boolean)

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation . Otherwise, it is UnauthorizedOperation .

--instance-types (list)

The instance types. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide .

(string)

Syntax:

"string" "string" ...

Where valid values are:
  t1.micro
  t2.nano
  t2.micro
  t2.small
  t2.medium
  t2.large
  t2.xlarge
  t2.2xlarge
  t3.nano
  t3.micro
  t3.small
  t3.medium
  t3.large
  t3.xlarge
  t3.2xlarge
  t3a.nano
  t3a.micro
  t3a.small
  t3a.medium
  t3a.large
  t3a.xlarge
  t3a.2xlarge
  m1.small
  m1.medium
  m1.large
  m1.xlarge
  m3.medium
  m3.large
  m3.xlarge
  m3.2xlarge
  m4.large
  m4.xlarge
  m4.2xlarge
  m4.4xlarge
  m4.10xlarge
  m4.16xlarge
  m2.xlarge
  m2.2xlarge
  m2.4xlarge
  cr1.8xlarge
  r3.large
  r3.xlarge
  r3.2xlarge
  r3.4xlarge
  r3.8xlarge
  r4.large
  r4.xlarge
  r4.2xlarge
  r4.4xlarge
  r4.8xlarge
  r4.16xlarge
  r5.large
  r5.xlarge
  r5.2xlarge
  r5.4xlarge
  r5.8xlarge
  r5.12xlarge
  r5.16xlarge
  r5.24xlarge
  r5.metal
  r5a.large
  r5a.xlarge
  r5a.2xlarge
  r5a.4xlarge
  r5a.8xlarge
  r5a.12xlarge
  r5a.16xlarge
  r5a.24xlarge
  r5d.large
  r5d.xlarge
  r5d.2xlarge
  r5d.4xlarge
  r5d.8xlarge
  r5d.12xlarge
  r5d.16xlarge
  r5d.24xlarge
  r5d.metal
  r5ad.large
  r5ad.xlarge
  r5ad.2xlarge
  r5ad.4xlarge
  r5ad.8xlarge
  r5ad.12xlarge
  r5ad.16xlarge
  r5ad.24xlarge
  r6g.metal
  r6g.medium
  r6g.large
  r6g.xlarge
  r6g.2xlarge
  r6g.4xlarge
  r6g.8xlarge
  r6g.12xlarge
  r6g.16xlarge
  x1.16xlarge
  x1.32xlarge
  x1e.xlarge
  x1e.2xlarge
  x1e.4xlarge
  x1e.8xlarge
  x1e.16xlarge
  x1e.32xlarge
  i2.xlarge
  i2.2xlarge
  i2.4xlarge
  i2.8xlarge
  i3.large
  i3.xlarge
  i3.2xlarge
  i3.4xlarge
  i3.8xlarge
  i3.16xlarge
  i3.metal
  i3en.large
  i3en.xlarge
  i3en.2xlarge
  i3en.3xlarge
  i3en.6xlarge
  i3en.12xlarge
  i3en.24xlarge
  i3en.metal
  hi1.4xlarge
  hs1.8xlarge
  c1.medium
  c1.xlarge
  c3.large
  c3.xlarge
  c3.2xlarge
  c3.4xlarge
  c3.8xlarge
  c4.large
  c4.xlarge
  c4.2xlarge
  c4.4xlarge
  c4.8xlarge
  c5.large
  c5.xlarge
  c5.2xlarge
  c5.4xlarge
  c5.9xlarge
  c5.12xlarge
  c5.18xlarge
  c5.24xlarge
  c5.metal
  c5a.large
  c5a.xlarge
  c5a.2xlarge
  c5a.4xlarge
  c5a.8xlarge
  c5a.12xlarge
  c5a.16xlarge
  c5a.24xlarge
  c5d.large
  c5d.xlarge
  c5d.2xlarge
  c5d.4xlarge
  c5d.9xlarge
  c5d.12xlarge
  c5d.18xlarge
  c5d.24xlarge
  c5d.metal
  c5n.large
  c5n.xlarge
  c5n.2xlarge
  c5n.4xlarge
  c5n.9xlarge
  c5n.18xlarge
  c6g.metal
  c6g.medium
  c6g.large
  c6g.xlarge
  c6g.2xlarge
  c6g.4xlarge
  c6g.8xlarge
  c6g.12xlarge
  c6g.16xlarge
  cc1.4xlarge
  cc2.8xlarge
  g2.2xlarge
  g2.8xlarge
  g3.4xlarge
  g3.8xlarge
  g3.16xlarge
  g3s.xlarge
  g4dn.xlarge
  g4dn.2xlarge
  g4dn.4xlarge
  g4dn.8xlarge
  g4dn.12xlarge
  g4dn.16xlarge
  g4dn.metal
  cg1.4xlarge
  p2.xlarge
  p2.8xlarge
  p2.16xlarge
  p3.2xlarge
  p3.8xlarge
  p3.16xlarge
  p3dn.24xlarge
  d2.xlarge
  d2.2xlarge
  d2.4xlarge
  d2.8xlarge
  f1.2xlarge
  f1.4xlarge
  f1.16xlarge
  m5.large
  m5.xlarge
  m5.2xlarge
  m5.4xlarge
  m5.8xlarge
  m5.12xlarge
  m5.16xlarge
  m5.24xlarge
  m5.metal
  m5a.large
  m5a.xlarge
  m5a.2xlarge
  m5a.4xlarge
  m5a.8xlarge
  m5a.12xlarge
  m5a.16xlarge
  m5a.24xlarge
  m5d.large
  m5d.xlarge
  m5d.2xlarge
  m5d.4xlarge
  m5d.8xlarge
  m5d.12xlarge
  m5d.16xlarge
  m5d.24xlarge
  m5d.metal
  m5ad.large
  m5ad.xlarge
  m5ad.2xlarge
  m5ad.4xlarge
  m5ad.8xlarge
  m5ad.12xlarge
  m5ad.16xlarge
  m5ad.24xlarge
  h1.2xlarge
  h1.4xlarge
  h1.8xlarge
  h1.16xlarge
  z1d.large
  z1d.xlarge
  z1d.2xlarge
  z1d.3xlarge
  z1d.6xlarge
  z1d.12xlarge
  z1d.metal
  u-6tb1.metal
  u-9tb1.metal
  u-12tb1.metal
  u-18tb1.metal
  u-24tb1.metal
  a1.medium
  a1.large
  a1.xlarge
  a1.2xlarge
  a1.4xlarge
  a1.metal
  m5dn.large
  m5dn.xlarge
  m5dn.2xlarge
  m5dn.4xlarge
  m5dn.8xlarge
  m5dn.12xlarge
  m5dn.16xlarge
  m5dn.24xlarge
  m5n.large
  m5n.xlarge
  m5n.2xlarge
  m5n.4xlarge
  m5n.8xlarge
  m5n.12xlarge
  m5n.16xlarge
  m5n.24xlarge
  r5dn.large
  r5dn.xlarge
  r5dn.2xlarge
  r5dn.4xlarge
  r5dn.8xlarge
  r5dn.12xlarge
  r5dn.16xlarge
  r5dn.24xlarge
  r5n.large
  r5n.xlarge
  r5n.2xlarge
  r5n.4xlarge
  r5n.8xlarge
  r5n.12xlarge
  r5n.16xlarge
  r5n.24xlarge
  inf1.xlarge
  inf1.2xlarge
  inf1.6xlarge
  inf1.24xlarge
  m6g.metal
  m6g.medium
  m6g.large
  m6g.xlarge
  m6g.2xlarge
  m6g.4xlarge
  m6g.8xlarge
  m6g.12xlarge
  m6g.16xlarge

--filters (list)

One or more filters. Filter names and values are case-sensitive.

  • auto-recovery-supported - Indicates whether auto recovery is supported. (true | false )

  • bare-metal - Indicates whether it is a bare metal instance type. (true | false )

  • burstable-performance-supported - Indicates whether it is a burstable performance instance type. (true | false )

  • current-generation - Indicates whether this instance type is the latest generation instance type of an instance family. (true | false )

  • ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps - The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.

  • ebs-info.ebs-optimized-info.baseline-throughput-in-mbps - The baseline throughput performance for an EBS-optimized instance type, in MBps.

  • ebs-info.ebs-optimized-info.baseline-iops - The baseline input/output storage operations per second for an EBS-optimized instance type.

  • ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps - The maximum bandwidth performance for an EBS-optimized instance type, in Mbps.

  • ebs-info.ebs-optimized-info.maximum-throughput-in-mbps - The maximum throughput performance for an EBS-optimized instance type, in MBps.

  • ebs-info.ebs-optimized-info.maximum-iops - The maximum input/output storage operations per second for an EBS-optimized instance type.

  • ebs-info.ebs-optimized-support - Indicates whether the instance type is EBS-optimized. (supported | unsupported | default )

  • ebs-info.encryption-support - Indicates whether EBS encryption is supported. (supported | unsupported )

  • ebs-info.nvme-support - Indicates whether non-volatile memory express (NVMe) is supported or required. (required | supported | unsupported )

  • free-tier-eligible - Indicates whether the instance type is eligible to use in the free tier. (true | false )

  • hibernation-supported - Indicates whether On-Demand hibernation is supported. (true | false )

  • hypervisor - The hypervisor used. (nitro | xen )

  • instance-storage-info.disk.count - The number of local disks.

  • instance-storage-info.disk.size-in-gb - The storage size of each instance storage disk, in GB.

  • instance-storage-info.disk.type - The storage technology for the local instance storage disks. (hdd | ssd )

  • instance-storage-info.total-size-in-gb - The total amount of storage available from all local instance storage, in GB.

  • instance-storage-supported - Indicates whether the instance type has local instance storage. (true | false )

  • memory-info.size-in-mib - The memory size.

  • network-info.ena-support - Indicates whether Elastic Network Adapter (ENA) is supported or required. (required | supported | unsupported )

  • network-info.efa-supported - Indicates whether the instance type supports Elastic Fabric Adapter (EFA). (true | false )

  • network-info.ipv4-addresses-per-interface - The maximum number of private IPv4 addresses per network interface.

  • network-info.ipv6-addresses-per-interface - The maximum number of private IPv6 addresses per network interface.

  • network-info.ipv6-supported - Indicates whether the instance type supports IPv6. (true | false )

  • network-info.maximum-network-interfaces - The maximum number of network interfaces per instance.

  • network-info.network-performance - Describes the network performance.

  • processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in GHz.

  • vcpu-info.default-cores - The default number of cores for the instance type.

  • vcpu-info.default-threads-per-core - The default number of threads per core for the instance type.

  • vcpu-info.default-vcpus - The default number of vCPUs for the instance type.

(structure)

A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs. The filters supported by a describe operation are documented with the describe operation. For example:

  • DescribeAvailabilityZones

  • DescribeImages

  • DescribeInstances

  • DescribeKeyPairs

  • DescribeSecurityGroups

  • DescribeSnapshots

  • DescribeSubnets

  • DescribeTags

  • DescribeVolumes

  • DescribeVpcs

Name -> (string)

The name of the filter. Filter names are case-sensitive.

Values -> (list)

The filter values. Filter values are case-sensitive.

(string)

Shorthand Syntax:

Name=string,Values=string,string ...

JSON Syntax:

[
  {
    "Name": "string",
    "Values": ["string", ...]
  }
  ...
]

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--starting-token (string)

A token to specify where to start paginating. This is the NextToken from a previously truncated response.

For usage examples, see Pagination in the AWS Command Line Interface User Guide .

--page-size (integer)

The size of each page to get in the AWS service call. This does not affect the number of items returned in the command’s output. Setting a smaller page size results in more calls to the AWS service, retrieving fewer items in each call. This can help prevent the AWS service calls from timing out.

For usage examples, see Pagination in the AWS Command Line Interface User Guide .

--max-items (integer)

The total number of items to return in the command’s output. If the total number of items available is more than the value specified, a NextToken is provided in the command’s output. To resume pagination, provide the NextToken value in the starting-token argument of a subsequent command. Do not use the NextToken response element directly outside of the AWS CLI.

For usage examples, see Pagination in the AWS Command Line Interface User Guide .

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

--cli-auto-prompt (boolean) Automatically prompt for CLI input parameters.

See ‘aws help’ for descriptions of global parameters.

Examples

Example 1: To describe an instance type

The following describe-instance-types example displays details for the specified instance type.

aws ec2 describe-instance-types \
    --instance-types t2.micro

Output:

{
    "InstanceTypes": [
        {
            "InstanceType": "t2.micro",
            "CurrentGeneration": true,
            "FreeTierEligible": true,
            "SupportedUsageClasses": [
                "on-demand",
                "spot"
            ],
            "SupportedRootDeviceTypes": [
                "ebs"
            ],
            "BareMetal": false,
            "Hypervisor": "xen",
            "ProcessorInfo": {
                "SupportedArchitectures": [
                    "i386",
                    "x86_64"
                ],
                "SustainedClockSpeedInGhz": 2.5
            },
            "VCpuInfo": {
                "DefaultVCpus": 1,
                "DefaultCores": 1,
                "DefaultThreadsPerCore": 1,
                "ValidCores": [
                    1
                ],
                "ValidThreadsPerCore": [
                    1
                ]
            },
            "MemoryInfo": {
                "SizeInMiB": 1024
            },
            "InstanceStorageSupported": false,
            "EbsInfo": {
                "EbsOptimizedSupport": "unsupported",
                "EncryptionSupport": "supported"
            },
            "NetworkInfo": {
                "NetworkPerformance": "Low to Moderate",
                "MaximumNetworkInterfaces": 2,
                "Ipv4AddressesPerInterface": 2,
                "Ipv6AddressesPerInterface": 2,
                "Ipv6Supported": true,
                "EnaSupport": "unsupported"
            },
            "PlacementGroupInfo": {
                "SupportedStrategies": [
                    "partition",
                    "spread"
                ]
            },
            "HibernationSupported": false,
            "BurstablePerformanceSupported": true,
            "DedicatedHostsSupported": false,
            "AutoRecoverySupported": true
        }
    ]
}

Example 2: To filter the available instance types

You can specify a filter to scope the results to instance types that have a specific characteristic. The following describe-instance-types example lists the instance types that support hibernation.

aws ec2 describe-instance-types --filters Name=hibernation-supported,Values=true --query InstanceTypes[].InstanceType

Output:

[
    "m5.8xlarge",
    "r3.large",
    "c3.8xlarge",
    "r5.large",
    "m4.4xlarge",
    "c4.large",
    "m5.xlarge",
    "m4.xlarge",
    "c3.large",
    "c4.8xlarge",
    "c4.4xlarge",
    "c5.xlarge",
    "c5.12xlarge",
    "r5.4xlarge",
    "c5.4xlarge"
]

Output

InstanceTypes -> (list)

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide .

(structure)

Describes the instance type.

InstanceType -> (string)

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide .

CurrentGeneration -> (boolean)

Indicates whether the instance type is a current generation.

FreeTierEligible -> (boolean)

Indicates whether the instance type is eligible for the free tier.

SupportedUsageClasses -> (list)

Indicates whether the instance type is offered for spot or On-Demand.

(string)

SupportedRootDeviceTypes -> (list)

Indicates the supported root device types.

(string)

SupportedVirtualizationTypes -> (list)

The supported virtualization types.

(string)

BareMetal -> (boolean)

Indicates whether the instance is bare metal.

Hypervisor -> (string)

Indicates the hypervisor used for the instance type.

ProcessorInfo -> (structure)

Describes the processor.

SupportedArchitectures -> (list)

A list of architectures supported by the instance type.

(string)

SustainedClockSpeedInGhz -> (double)

The speed of the processor, in GHz.

VCpuInfo -> (structure)

Describes the vCPU configurations for the instance type.

DefaultVCpus -> (integer)

The default number of vCPUs for the instance type.

DefaultCores -> (integer)

The default number of cores for the instance type.

DefaultThreadsPerCore -> (integer)

The default number of threads per core for the instance type.

ValidCores -> (list)

List of the valid number of cores that can be configured for the instance type.

(integer)

ValidThreadsPerCore -> (list)

List of the valid number of threads per core that can be configured for the instance type.

(integer)

MemoryInfo -> (structure)

Describes the memory for the instance type.

SizeInMiB -> (long)

Size of the memory, in MiB.

InstanceStorageSupported -> (boolean)

Indicates whether instance storage is supported.

InstanceStorageInfo -> (structure)

Describes the disks for the instance type.

TotalSizeInGB -> (long)

The total size of the disks, in GB.

Disks -> (list)

Array describing the disks that are available for the instance type.

(structure)

Describes the disk.

SizeInGB -> (long)

The size of the disk in GB.

Count -> (integer)

The number of disks with this configuration.

Type -> (string)

The type of disk.

EbsInfo -> (structure)

Describes the Amazon EBS settings for the instance type.

EbsOptimizedSupport -> (string)

Indicates that the instance type is Amazon EBS-optimized. For more information, see Amazon EBS-Optimized Instances in Amazon EC2 User Guide for Linux Instances .

EncryptionSupport -> (string)

Indicates whether Amazon EBS encryption is supported.

EbsOptimizedInfo -> (structure)

Describes the optimized EBS performance for the instance type.

BaselineBandwidthInMbps -> (integer)

The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.

BaselineThroughputInMBps -> (double)

The baseline throughput performance for an EBS-optimized instance type, in MBps.

BaselineIops -> (integer)

The baseline input/output storage operations per seconds for an EBS-optimized instance type.

MaximumBandwidthInMbps -> (integer)

The maximum bandwidth performance for an EBS-optimized instance type, in Mbps.

MaximumThroughputInMBps -> (double)

The maximum throughput performance for an EBS-optimized instance type, in MBps.

MaximumIops -> (integer)

The maximum input/output storage operations per second for an EBS-optimized instance type.

NvmeSupport -> (string)

Indicates whether non-volatile memory express (NVMe) is supported.

NetworkInfo -> (structure)

Describes the network settings for the instance type.

NetworkPerformance -> (string)

Describes the network performance.

MaximumNetworkInterfaces -> (integer)

The maximum number of network interfaces for the instance type.

Ipv4AddressesPerInterface -> (integer)

The maximum number of IPv4 addresses per network interface.

Ipv6AddressesPerInterface -> (integer)

The maximum number of IPv6 addresses per network interface.

Ipv6Supported -> (boolean)

Indicates whether IPv6 is supported.

EnaSupport -> (string)

Indicates whether Elastic Network Adapter (ENA) is supported.

EfaSupported -> (boolean)

Indicates whether Elastic Fabric Adapter (EFA) is supported.

GpuInfo -> (structure)

Describes the GPU accelerator settings for the instance type.

Gpus -> (list)

Describes the GPU accelerators for the instance type.

(structure)

Describes the GPU accelerators for the instance type.

Name -> (string)

The name of the GPU accelerator.

Manufacturer -> (string)

The manufacturer of the GPU accelerator.

Count -> (integer)

The number of GPUs for the instance type.

MemoryInfo -> (structure)

Describes the memory available to the GPU accelerator.

SizeInMiB -> (integer)

The size (in MiB) for the memory available to the GPU accelerator.

TotalGpuMemoryInMiB -> (integer)

The total size of the memory for the GPU accelerators for the instance type.

FpgaInfo -> (structure)

Describes the FPGA accelerator settings for the instance type.

Fpgas -> (list)

Describes the FPGAs for the instance type.

(structure)

Describes the FPGA accelerator for the instance type.

Name -> (string)

The name of the FPGA accelerator.

Manufacturer -> (string)

The manufacturer of the FPGA accelerator.

Count -> (integer)

The count of FPGA accelerators for the instance type.

MemoryInfo -> (structure)

Describes the memory for the FPGA accelerator for the instance type.

SizeInMiB -> (integer)

The size (in MiB) for the memory available to the FPGA accelerator.

TotalFpgaMemoryInMiB -> (integer)

The total memory of all FPGA accelerators for the instance type.

PlacementGroupInfo -> (structure)

Describes the placement group settings for the instance type.

SupportedStrategies -> (list)

A list of supported placement groups types.

(string)

InferenceAcceleratorInfo -> (structure)

Describes the Inference accelerator settings for the instance type.

Accelerators -> (list)

Describes the Inference accelerators for the instance type.

(structure)

Describes the Inference accelerators for the instance type.

Count -> (integer)

The number of Inference accelerators for the instance type.

Name -> (string)

The name of the Inference accelerator.

Manufacturer -> (string)

The manufacturer of the Inference accelerator.

HibernationSupported -> (boolean)

Indicates whether On-Demand hibernation is supported.

BurstablePerformanceSupported -> (boolean)

Indicates whether the instance type is a burstable performance instance type.

DedicatedHostsSupported -> (boolean)

Indicates whether Dedicated Hosts are supported on the instance type.

AutoRecoverySupported -> (boolean)

Indicates whether auto recovery is supported.

NextToken -> (string)

The token to use to retrieve the next page of results. This value is null when there are no more results to return.