or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

core-compute.mdindex.mdsecurity.mdserverless.mdstorage.md
tile.json

tessl/npm-pulumi--aws

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
npmpkg:npm/@pulumi/aws@7.6.x

To install, run

npx @tessl/cli install tessl/npm-pulumi--aws@7.6.0

index.mddocs/

Pulumi AWS

Pulumi AWS is a comprehensive infrastructure-as-code SDK that provides strongly-typed TypeScript bindings for creating and managing Amazon Web Services (AWS) cloud resources. It covers the complete AWS service catalog with over 180 service modules and 1,000+ resource types, enabling programmatic infrastructure management with full AWS API coverage.

Package Information

  • Package Name: @pulumi/aws
  • Package Type: npm
  • Language: TypeScript
  • Installation: npm install @pulumi/pulumi @pulumi/aws

Core Imports

import * as aws from "@pulumi/aws";
import * as pulumi from "@pulumi/pulumi";

For specific services:

import * as ec2 from "@pulumi/aws/ec2";
import * as s3 from "@pulumi/aws/s3";
import * as iam from "@pulumi/aws/iam";

For CommonJS:

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

Basic Usage

import * as aws from "@pulumi/aws";
import * as pulumi from "@pulumi/pulumi";

// Configure the AWS provider
const provider = new aws.Provider("my-provider", {
    region: "us-west-2",
    profile: "default",
});

// Create a VPC
const vpc = new aws.ec2.Vpc("my-vpc", {
    cidrBlock: "10.0.0.0/16",
    enableDnsHostnames: true,
    enableDnsSupport: true,
    tags: {
        Name: "my-vpc",
    },
}, { provider });

// Create an S3 bucket
const bucket = new aws.s3.Bucket("my-bucket", {
    bucket: "my-unique-bucket-name",
    acl: "private",
}, { provider });

// Export the bucket name
export const bucketName = bucket.id;
export const vpcId = vpc.id;

Architecture

Pulumi AWS is built around several key patterns:

  • Provider Class: Central configuration for AWS credentials, regions, and global settings
  • Resource Classes: Strongly-typed classes for creating and managing AWS resources (e.g., aws.ec2.Instance, aws.s3.Bucket)
  • Data Source Functions: Functions for querying existing AWS resources (e.g., aws.ec2.getVpc, aws.s3.getBucket)
  • Type System: Complete TypeScript definitions with Input/Output types for all resource properties
  • Module Organization: AWS services organized into logical modules (ec2, s3, iam, lambda, etc.)
  • Lazy Loading: Optimized imports with utilities.lazyLoad for improved performance

Capabilities

Provider Configuration

Central AWS provider configuration for credentials, regions, and service endpoints.

class Provider extends pulumi.ProviderResource {
    constructor(name: string, args?: ProviderArgs, opts?: pulumi.ResourceOptions);
    
    public readonly accessKey!: pulumi.Output<string | undefined>;
    public readonly region!: pulumi.Output<string | undefined>;
    public readonly secretKey!: pulumi.Output<string | undefined>;
    public readonly profile!: pulumi.Output<string | undefined>;
    public readonly customCaBundle!: pulumi.Output<string | undefined>;
    public readonly ec2MetadataServiceEndpoint!: pulumi.Output<string | undefined>;
    public readonly ec2MetadataServiceEndpointMode!: pulumi.Output<string | undefined>;
    public readonly httpProxy!: pulumi.Output<string | undefined>;
    public readonly httpsProxy!: pulumi.Output<string | undefined>;
    public readonly noProxy!: pulumi.Output<string | undefined>;
    public readonly retryMode!: pulumi.Output<string | undefined>;
    public readonly s3UsEast1RegionalEndpoint!: pulumi.Output<string | undefined>;
    public readonly stsRegion!: pulumi.Output<string | undefined>;
    public readonly token!: pulumi.Output<string | undefined>;
}

interface ProviderArgs {
    accessKey?: pulumi.Input<string>;
    allowedAccountIds?: pulumi.Input<pulumi.Input<string>[]>;
    region?: pulumi.Input<string>;
    secretKey?: pulumi.Input<string>;
    profile?: pulumi.Input<string>;
    customCaBundle?: pulumi.Input<string>;
    ec2MetadataServiceEndpoint?: pulumi.Input<string>;
    ec2MetadataServiceEndpointMode?: pulumi.Input<string>;
    httpProxy?: pulumi.Input<string>;
    httpsProxy?: pulumi.Input<string>;
    noProxy?: pulumi.Input<string>;
    retryMode?: pulumi.Input<string>;
    s3UsEast1RegionalEndpoint?: pulumi.Input<string>;
    stsRegion?: pulumi.Input<string>;
    token?: pulumi.Input<string>;
}

Global Utility Functions

AWS-wide utility functions for account, region, and service information.

function getCallerIdentity(args?: GetCallerIdentityArgs): Promise<GetCallerIdentityResult>;
function getRegion(args?: GetRegionArgs): Promise<GetRegionResult>;
function getAvailabilityZones(args?: GetAvailabilityZonesArgs): Promise<GetAvailabilityZonesResult>;
function getPartition(args?: GetPartitionArgs): Promise<GetPartitionResult>;
function getArn(args: GetArnArgs): Promise<GetArnResult>;
function getBillingServiceAccount(args?: GetBillingServiceAccountArgs): Promise<GetBillingServiceAccountResult>;
function getDefaultTags(args?: GetDefaultTagsArgs): Promise<GetDefaultTagsResult>;
function getIpRanges(args: GetIpRangesArgs): Promise<GetIpRangesResult>;
function getRegions(args?: GetRegionsArgs): Promise<GetRegionsResult>;
function getService(args: GetServiceArgs): Promise<GetServiceResult>;
function getServicePrincipal(args: GetServicePrincipalArgs): Promise<GetServicePrincipalResult>;

interface GetCallerIdentityResult {
    accountId: string;
    arn: string;
    id: string;
    userId: string;
}

interface GetArnResult {
    account: string;
    partition: string;
    region: string;
    resource: string;
    service: string;
}

interface GetBillingServiceAccountResult {
    arn: string;
    id: string;
}

interface GetDefaultTagsResult {
    tags: { [key: string]: string };
}

interface GetIpRangesResult {
    cidrBlocks: string[];
    ipv6CidrBlocks: string[];
    createDate: string;
    syncToken: string;
}

Core Compute Services

Complete infrastructure services including EC2, Auto Scaling, and Load Balancing with 165+ resource types and data sources.

// EC2 Instance
class ec2.Instance extends pulumi.CustomResource {
    constructor(name: string, args: ec2.InstanceArgs, opts?: pulumi.ResourceOptions);
    
    public readonly ami!: pulumi.Output<string>;
    public readonly instanceType!: pulumi.Output<string>;
    public readonly publicIp!: pulumi.Output<string>;
    public readonly privateIp!: pulumi.Output<string>;
    public readonly securityGroups!: pulumi.Output<string[]>;
    public readonly subnetId!: pulumi.Output<string>;
    public readonly vpcSecurityGroupIds!: pulumi.Output<string[]>;
    public readonly keyName!: pulumi.Output<string>;
    public readonly availabilityZone!: pulumi.Output<string>;
    public readonly arn!: pulumi.Output<string>;
    public readonly id!: pulumi.Output<string>;
}

// VPC
class ec2.Vpc extends pulumi.CustomResource {
    constructor(name: string, args: ec2.VpcArgs, opts?: pulumi.ResourceOptions);
    
    public readonly cidrBlock!: pulumi.Output<string>;
    public readonly id!: pulumi.Output<string>;
    public readonly arn!: pulumi.Output<string>;
    public readonly enableDnsHostnames!: pulumi.Output<boolean>;
    public readonly enableDnsSupport!: pulumi.Output<boolean>;
    public readonly defaultNetworkAclId!: pulumi.Output<string>;
    public readonly defaultRouteTableId!: pulumi.Output<string>;
    public readonly defaultSecurityGroupId!: pulumi.Output<string>;
    public readonly mainRouteTableId!: pulumi.Output<string>;
}

Core Compute Services

Storage Services

Complete storage solutions including S3, EBS, and EFS with object storage, block storage, and file systems.

// S3 Bucket
class s3.Bucket extends pulumi.CustomResource {
    constructor(name: string, args?: s3.BucketArgs, opts?: pulumi.ResourceOptions);
    
    public readonly bucket!: pulumi.Output<string>;
    public readonly arn!: pulumi.Output<string>;
    public readonly bucketDomainName!: pulumi.Output<string>;
    public readonly bucketRegionalDomainName!: pulumi.Output<string>;
    public readonly hostedZoneId!: pulumi.Output<string>;
    public readonly region!: pulumi.Output<string>;
    public readonly websiteEndpoint!: pulumi.Output<string>;
    public readonly websiteDomain!: pulumi.Output<string>;
    public readonly id!: pulumi.Output<string>;
}

// EBS Volume
class ebs.Volume extends pulumi.CustomResource {
    constructor(name: string, args: ebs.VolumeArgs, opts?: pulumi.ResourceOptions);
    
    public readonly size!: pulumi.Output<number>;
    public readonly type!: pulumi.Output<string>;
    public readonly availabilityZone!: pulumi.Output<string>;
    public readonly arn!: pulumi.Output<string>;
    public readonly encrypted!: pulumi.Output<boolean>;
    public readonly kmsKeyId!: pulumi.Output<string>;
    public readonly iops!: pulumi.Output<number>;
    public readonly throughput!: pulumi.Output<number>;
    public readonly id!: pulumi.Output<string>;
}

Storage Services

Database Services

Comprehensive database solutions including RDS, DynamoDB, and specialized database services.

// RDS Instance
class rds.Instance extends pulumi.CustomResource {
    constructor(name: string, args: rds.InstanceArgs, opts?: pulumi.ResourceOptions);
    
    public readonly engine!: pulumi.Output<string>;
    public readonly dbName!: pulumi.Output<string>;
    public readonly endpoint!: pulumi.Output<string>;
}

// DynamoDB Table
class dynamodb.Table extends pulumi.CustomResource {
    constructor(name: string, args: dynamodb.TableArgs, opts?: pulumi.ResourceOptions);
    
    public readonly name!: pulumi.Output<string>;
    public readonly arn!: pulumi.Output<string>;
}

Complete database services documentation will be added in future versions.

Security & Identity Services

Complete security services including IAM, KMS, Secrets Manager, and security monitoring tools.

// IAM Role
class iam.Role extends pulumi.CustomResource {
    constructor(name: string, args: iam.RoleArgs, opts?: pulumi.ResourceOptions);
    
    public readonly arn!: pulumi.Output<string>;
    public readonly name!: pulumi.Output<string>;
}

// KMS Key
class kms.Key extends pulumi.CustomResource {
    constructor(name: string, args?: kms.KeyArgs, opts?: pulumi.ResourceOptions);
    
    public readonly keyId!: pulumi.Output<string>;
    public readonly arn!: pulumi.Output<string>;
}

Security & Identity Services

Serverless Services

Complete serverless computing platform including Lambda, API Gateway, SQS, SNS, and event-driven services.

// Lambda Function
class lambda.Function extends pulumi.CustomResource {
    constructor(name: string, args: lambda.FunctionArgs, opts?: pulumi.ResourceOptions);
    
    public readonly functionName!: pulumi.Output<string>;
    public readonly arn!: pulumi.Output<string>;
    public readonly invokeArn!: pulumi.Output<string>;
}

// API Gateway REST API
class apigateway.RestApi extends pulumi.CustomResource {
    constructor(name: string, args?: apigateway.RestApiArgs, opts?: pulumi.ResourceOptions);
    
    public readonly id!: pulumi.Output<string>;
    public readonly executionArn!: pulumi.Output<string>;
}

Serverless Services

Networking Services

Complete networking infrastructure including VPC, Route53, CloudFront, and connectivity services.

// Route53 Zone
class route53.Zone extends pulumi.CustomResource {
    constructor(name: string, args: route53.ZoneArgs, opts?: pulumi.ResourceOptions);
    
    public readonly name!: pulumi.Output<string>;
    public readonly zoneId!: pulumi.Output<string>;
}

// CloudFront Distribution
class cloudfront.Distribution extends pulumi.CustomResource {
    constructor(name: string, args: cloudfront.DistributionArgs, opts?: pulumi.ResourceOptions);
    
    public readonly domainName!: pulumi.Output<string>;
    public readonly arn!: pulumi.Output<string>;
}

Complete networking services documentation will be added in future versions.

Monitoring & Observability

Complete monitoring solutions including CloudWatch, X-Ray, and operational tools for infrastructure observability.

// CloudWatch Log Group
class cloudwatch.LogGroup extends pulumi.CustomResource {
    constructor(name: string, args: cloudwatch.LogGroupArgs, opts?: pulumi.ResourceOptions);
    
    public readonly name!: pulumi.Output<string>;
    public readonly arn!: pulumi.Output<string>;
}

// X-Ray Sampling Rule
class xray.SamplingRule extends pulumi.CustomResource {
    constructor(name: string, args: xray.SamplingRuleArgs, opts?: pulumi.ResourceOptions);
    
    public readonly arn!: pulumi.Output<string>;
    public readonly ruleName!: pulumi.Output<string>;
}

Complete monitoring and observability services documentation will be added in future versions.

Complete Service Catalog

The SDK includes comprehensive coverage of all AWS services organized into 180+ modules including:

Core Services: ec2, s3, iam, lambda, rds, vpc, cloudformation, cloudwatch Analytics: athena, glue, emr, kinesis, quicksight, lakeformation Machine Learning: sagemaker, comprehend, rekognition, textract, bedrock Security: kms, secretsmanager, guardduty, securityhub, macie, inspector DevOps: codebuild, codedeploy, codepipeline, codebuild, codeartifact Containers: ecs, eks, ecr, batch, apprunner **And 160+ additional specialized services

Each service module follows consistent patterns with resource classes for creating infrastructure, data source functions for querying existing resources, and complete TypeScript definitions for all properties and return values.