pulumi-basics
Use when writing infrastructure-as-code with Pulumi using programming languages for cloud resource provisioning.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Pulumi Basics
Infrastructure-as-code using real programming languages with Pulumi.
Project Structure
my-infrastructure/
├── Pulumi.yaml # Project file
├── Pulumi.dev.yaml # Stack config
├── index.ts # Main program
└── package.json
Pulumi.yaml
name: my-infrastructure
runtime: nodejs
description: My infrastructure project
TypeScript Example
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
// Create VPC
const vpc = new aws.ec2.Vpc("main", {
cidrBlock: "10.0.0.0/16",
enableDnsHostnames: true,
tags: {
Name: "main-vpc",
},
});
// Create subnet
const subnet = new aws.ec2.Subnet("public", {
vpcId: vpc.id,
cidrBlock: "10.0.1.0/24",
availabilityZone: "us-east-1a",
});
// Export outputs
export const vpcId = vpc.id;
export const subnetId = subnet.id;
Common Commands
# Create new project
pulumi new aws-typescript
# Preview changes
pulumi preview
# Apply changes
pulumi up
# Destroy resources
pulumi destroy
# View stack outputs
pulumi stack output
Configuration
# Set config
pulumi config set aws:region us-east-1
# Set secret
pulumi config set --secret dbPassword mySecret123
# Get config
pulumi config get aws:region
Best Practices
Use Stack References
const infraStack = new pulumi.StackReference("org/infra/prod");
const vpcId = infraStack.getOutput("vpcId");
Component Resources
class MyApp extends pulumi.ComponentResource {
constructor(name: string, args: MyAppArgs, opts?: pulumi.ComponentResourceOptions) {
super("custom:app:MyApp", name, {}, opts);
// Create resources
}
}
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-02-04
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!