pulumi-basics

Infrastructure-as-code using real programming languages with Pulumi.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "pulumi-basics" with this command: npx skills add thebushidocollective/han/thebushidocollective-han-pulumi-basics

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 user-invocable: false 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
}

}

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

typescript-async-patterns

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

c-systems-programming

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

cpp-templates-metaprogramming

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

typescript-utility-types

No summary provided by upstream source.

Repository SourceNeeds Review