aws logo
AWS Classic v5.41.0, May 15 23

AWS Classic

The Amazon Web Services (AWS) provider for Pulumi can provision many of the cloud resources available in AWS. It uses the AWS SDK to manage and provision resources.

The AWS provider must be configured with credentials to deploy and update resources in AWS; see Installation & Configuration for instructions.

New to Pulumi and AWS? Get started with AWS using our tutorial.

Pulumi has a new AWS provider: the Pulumi AWS Native Provider. AWS Native gives you same-day access to all new AWS resources and includes coverage of all resources in the AWS Cloud Control API.

Consider trying AWS Native if you need AWS resources that aren’t available in this provider.


const aws = require("@pulumi/aws");

const bucket = new aws.s3.Bucket("mybucket");
import pulumi
import pulumi_aws as aws

bucket = aws.s3.Bucket("bucket")
package main

import (

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := s3.NewBucket(ctx, "bucket", &s3.BucketArgs{})
		if err != nil {
			return err
		return nil
using Pulumi;
using Aws = Pulumi.Aws;

await Deployment.RunAsync(() =>
    var bucket = new Aws.S3.Bucket("bucket");
import com.pulumi.Context;
import com.pulumi.Pulumi;

public class App {
    public static void main(String[] args) {;

    private static void stack(Context ctx) {
        final var bucket = new Bucket("my-bucket");
    type: aws:s3:Bucket
  bucketName: ${}

Visit the How-to Guides to find step-by-step guides for specific scenarios like creating a serverless application or setting up Athena search.


Pulumi offers Components that provide simpler interfaces and higher-productivity APIs for many areas of AWS:

  • Amazon EKS
  • Crosswalk for AWS, which includes API Gateway, CloudWatch, Elastic Container Registry, Elastic Container Service, Elastic Kubernetes Service, Elastic Load Balancing, Identity & Access Management, Lambda, Virtual Private Cloud, and more