aws-instance-info - v1.0.0
    Preparing search index...

    aws-instance-info - v1.0.0

    Tests Passing

    Get detailed specifications for AWS EC2 instances, RDS instance classes, and ElastiCache node types.

    npm install aws-instance-info
    
    • Get info for both Instances and Instance Families
    • Supports EC2, RDS, and ElastiCache
    • Full TypeScript support with type definitions built-in

    Full API documentation can be found at awsinstanceinfo.brandonburrus.com.

    Get details for a specific EC2 instance type:

    import { getEC2InstanceInfo } from 'aws-instance-info';

    const m5Large = getEC2InstanceInfo('m5.large');
    console.log(m5Large.memoryGiB); // 8
    console.log(m5Large.vCPUs); // 2
    console.log(m5Large.category); // 'general_purpose'

    NOTE: By default, the API fetches and caches data synchronously on first use. If you prefer async, you can use the async API from aws-instance-info/async.

    import { getEC2InstanceInfo } from 'aws-instance-info/async';

    const m5Large = await getEC2InstanceInfo('m5.large');
    console.log(m5Large.memoryGiB); // 8
    console.log(m5Large.vCPUs); // 2
    console.log(m5Large.category); // 'general_purpose'

    Get details for an entire EC2 instance family:

    import { getEC2Family } from 'aws-instance-info';

    const m5Family = getEC2Family('M5');
    console.log(m5Family.instanceTypes); // ['m5.large', 'm5.xlarge', ...]
    console.log(m5Family.hypervisor); // 'Nitro v2'

    Get details for a specific RDS instance class:

    import { getRDSInstanceInfo } from 'aws-instance-info';

    const dbM5Large = getRDSInstanceInfo('db.m5.large');
    console.log(dbM5Large.memoryGiB); // 8
    console.log(dbM5Large.vCPUs); // 2
    console.log(dbM5Large.category); // 'general_purpose'

    Get details for a specific ElastiCache node type:

    import { getElastiCacheNodeInfo } from 'aws-instance-info';

    const cacheM5Large = getElastiCacheNodeInfo('cache.m5.large');
    console.log(cacheM5Large.memoryGiB); // 6.38
    console.log(cacheM5Large.vCPUs); // 2
    console.log(cacheM5Large.category); // 'general_purpose'

    Q: Where does the data come from? The data is sourced directly from the official AWS documentation pages at runtime. On first use, the library fetches and parses the relevant AWS docs pages, then caches the results in memory for all subsequent calls.

    Q: How is the data stored? Data is fetched from AWS documentation and held in-memory using an LRU cache. There are no bundled JSON data files — the package stays small and data is always up-to-date with what AWS publishes.