Skip to content

Canonical list of AWS Lambda runtime identifiers and corresponding CPU architectures

Notifications You must be signed in to change notification settings

architect/lambda-runtimes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jan 17, 2025
68ba6c0 · Jan 17, 2025

History

60 Commits
Nov 18, 2022
Jan 17, 2025
Oct 14, 2021
Nov 4, 2021
Oct 14, 2021
Oct 14, 2021
Oct 14, 2021
Jan 17, 2025
Jan 17, 2025
Dec 13, 2023

Repository files navigation

AWS Lambda runtimes

A list of officially AWS Lambda runtimes organized by name

Installation

npm i lambda-runtimes

Usage

// esm
import {
  runtimes,
  runtimeVersions,
  runtimeList,
  runtimesByArchitecture,
  architecturesByRuntime,
  aliases,
  retiredRuntimes,
} from 'lambda-runtimes'
// cjs
let {
  runtimes,
  runtimeVersions,
  runtimeList,
  runtimesByArchitecture,
  architecturesByRuntime,
  aliases,
  retiredRuntimes,
} = require('lambda-runtimes')

lambda-runtimes exports seven items:

  • runtimes (object) - Lambda runtime strings, organized by runtime name
    • Example: runtimes.node[0]nodejs20.x
    • Where appropriate, each runtime may include (lowcase normalized) aliases, e.g. runtimes.node === runtimes.nodejs === runtimes.['node.js']
  • runtimeVersions (object) - Semver representations of each Lambda runtime
    • Example: runtimeVersions['nodejs20.x'] returns an object with major: '20', minor: null, patch: null, and wildcard: '20.*.*' properties
  • runtimeList (array) - list of all Lambda runtime strings (order not necessarily guaranteed)
  • runtimesByArchitecture (object) - list of Lambda runtimes supported by each CPU architecture
    • Example: runtimesByArchitecture.arm64[0]nodejs20.x)
  • architecturesByRuntime (object) - list of Lambda CPU architectures supported by each runtime
    • Example: architecturesByRuntime['nodejs20.x'][ 'arm64', 'x86_64' ])
  • aliases (object) - shorthand or alternate names for runtime aliases (e.g. py for python)
  • retiredRuntimes (object) - retired / EOL Lambda runtime strings, organized by runtime name
    • Example: retiredRuntimes.node[0]nodejs10.x

Example:

{
  runtimes: {
    node: [ 'nodejs20.x', 'nodejs18.x' ],
    ...
  },
  runtimeVersions: {
    'nodejs20.x': { major: '20', minor: null, patch: null, wildcard: '20.*.*' },
    ...
  },
  runtimeList: [ 'nodejs20.x', 'nodejs18.x', ... ],
  runtimesByArchitecture: {
    arm64: [ 'nodejs20.x', 'nodejs18.x', ... ],
    x86_64: [ 'nodejs20.x', 'nodejs18.x', ... ]
  },
  architecturesByRuntime: {
    'nodejs20.x': [ 'arm64', 'x86_64' ],
    'nodejs18.x': [ 'arm64', 'x86_64' ],
    ...
  },
  aliases: {
    nodejs: 'node',
    ...
  },
  retiredRuntimes: {
    node: [ 'nodejs10.x', ... ],
    ...
  },
}

Resources