Skip to main content

v1 Constructs


This is the SST v1.x Constructs doc. SST v2 is now released. If you are using v2, see the v2 Constructs doc. If you are looking to upgrade to v2, check out the upgrade steps.

Constructs are the basic building blocks of SST apps.

They allow you to define the infrastructure of your app. Each construct bring together multiple AWS resources to make up a functional unit.

Behind the scenes

SST's constructs are built on top of AWS CDK. They are designed to address specific use cases and have sensible defaults that make it easier to use AWS.

However, you can configure these defaults. You can even use CDK constructs in your SST app. Read more about the design principles we use to build our constructs.

The @serverless-stack/resources package provides a set of additional CDK constructs necessary to build an SST app.


This package is usually installed together with @serverless-stack/cli.

# With npm
npm install @serverless-stack/cli @serverless-stack/resources --save-exact
# Or with Yarn
yarn add @serverless-stack/cli @serverless-stack/resources --exact

Note that, the version of these packages should be kept in sync.

Importing constructs

You can either import specific constructs in your app.

import { Api } from "@serverless-stack/resources";

Or import them all.

import * as sst from "@serverless-stack/resources";

Type of constructs

SST comes with a two types of constructs.


These either extend or replace the native CDK constructs.


These are higher level abstractions that wrap around multiple constructs to serve specific use cases.