Open-Source Wikis

/

Pulumi

/

Pulumi

/

Glossary

pulumi/pulumi

Glossary

Pulumi has its own vocabulary. Many terms overlap with Terraform or generic cloud-ops lingo but are used in subtly different ways. The definitions below are the ones used inside pulumi/pulumi.

Term Meaning
Stack A single named instantiation of a Pulumi project (e.g. dev, prod). State is per-stack. Implemented as the Stack interface in pkg/backend/stack.go.
Project The top-level unit, defined by a Pulumi.yaml at the program root. Contains zero or more stacks.
Resource A managed cloud object (or any object the user wants the engine to track). Identified by a URN.
URN Uniform Resource Name — the engine's identity for a resource: urn:pulumi:<stack>::<project>::<parent-type>$<type>::<name>. Defined in sdk/go/common/resource/urn/urn.go.
Type token The string identifying a resource's kind, e.g. aws:s3/bucket:Bucket. Format: <package>:<module>:<TypeName>.
Provider A plugin that implements the ResourceProvider gRPC service for a cloud or system. Each cloud has its own provider repo (pulumi-aws, etc.).
Default provider A provider instance created by the engine when the user doesn't construct one explicitly. Synthesized at pkg/resource/deploy/providers/.
Component resource A resource with no provider counterpart — purely a logical grouping of children. Implemented in user code by extending ComponentResource.
Custom resource A resource with a real provider counterpart (the common case).
Remote component A component implemented in another language and exposed via the provider interface (Construct/Call). See proto/pulumi/provider.proto.
Language host A Go process that wraps a language runtime (Node, Python, Go, ...) and exposes the LanguageRuntime gRPC service. Lives at sdk/<lang>/cmd/pulumi-language-<lang>/.
Engine The orchestrator that runs operations. Lives in pkg/engine/ and pkg/resource/deploy/.
Resource monitor The gRPC service the engine exposes to the language host (proto/pulumi/resource.proto). User programs call into it to register resources.
Snapshot The serialized state of a stack — all resources and their inputs/outputs at a point in time. Defined in sdk/go/common/resource/snapshot.go and persisted via pkg/resource/deploy/snapshot.go.
Plan A pre-computed sequence of steps the engine intends to execute. Used by pulumi preview --save-plan. See pkg/resource/deploy/plan.go.
Step A single unit of work the engine performs on a resource (Same, Create, Update, Delete, Replace, Refresh, Read, Import). Defined in pkg/resource/deploy/step.go (the largest non-test file at ~88 KB).
Step generator The component that diffs old vs desired state and emits steps. pkg/resource/deploy/step_generator.go.
Step executor Runs steps in dependency order with bounded parallelism. pkg/resource/deploy/step_executor.go.
Operation A user-visible action: up, preview, refresh, destroy, import.
Update An execution of an operation against a stack. The state has an Operation flag while one is in progress.
Backend Where state is stored. Two implementations in this repo: pkg/backend/diy (filesystem/cloud-blob) and pkg/backend/httpstate (Pulumi Cloud).
DIY backend The filesystem/blob-storage backend (formerly self-managed or file backend). Renamed to "DIY" — the directory is pkg/backend/diy/.
Pulumi Cloud / service backend The hosted backend at app.pulumi.com. The Go client lives in pkg/backend/httpstate/.
Output A future-like type that wraps a value plus dependency tracking. The fundamental currency of dataflow in user programs. See sdk/go/pulumi/types.go, sdk/nodejs/output.ts, sdk/python/lib/pulumi/output.py.
Input A value that may be a literal or an Output. Inputs flow into resources; outputs come back out.
Asset / Archive First-class file/blob types. Definitions in proto/pulumi/asset.proto and sdk/go/common/resource/asset.go.
Secret A value marked as confidential. Encrypted in the snapshot. Multiple encryption providers in pkg/secrets/{b64,passphrase,cloud,service}/.
Schema A JSON document describing a provider's resources, functions, and types. Schema is pkg/codegen/schema/pulumi.json (the metaschema). Used to generate SDKs and to drive pulumi convert.
PCL Pulumi Configuration Language — the HCL-derived intermediate representation pulumi convert runs through. Code lives in pkg/codegen/hcl2/ and sdk/pcl/.
Programgen Code generation that produces a program in a target language from PCL.
SDKgen Code generation that produces a typed library (an SDK) from a provider schema.
Codegen Umbrella term covering both Programgen and SDKgen. Lives in pkg/codegen/.
Converter A plugin that turns some other IaC format (Terraform, CloudFormation, Kubernetes YAML) into PCL, which is then converted to the target language.
Automation API A library that lets you embed Pulumi inside your own program — no separate pulumi CLI process required at the API surface (it still spawns CLI subprocesses internally). Lives at sdk/go/auto/, sdk/nodejs/automation/, sdk/python/lib/pulumi/automation/.
Hooks Resource lifecycle callbacks (before/after Create/Update/Delete) registered via RegisterResourceHook. See pkg/resource/deploy/resource_hooks.go.
Transform A function that rewrites resource inputs before registration. Stack transforms apply to every resource; resource-local transforms apply to one.
Alias An old URN that should be remapped to a new URN, for renames and refactors. proto/pulumi/alias.proto.
Policy pack A set of policies (rules) checked at preview/up time. Implemented via the Analyzer gRPC service. See pkg/cmd/pulumi/policy/.
Plugin Any Pulumi sub-process the engine spawns: language host, provider, analyzer, or converter. Managed by pkg/engine/plugins.go.
Workspace The on-disk representation of a project (Pulumi.yaml, Pulumi.<stack>.yaml, lockfiles). Code lives in sdk/go/common/workspace/.
Lifecycle test A property-based engine test that runs synthetic programs against a mock provider. Harness at pkg/engine/lifecycletest/.
Conformance test A cross-language SDK test suite ensuring every language behaves identically. Driver: scripts/run-conformance.sh.

Common abbreviations

Abbrev Expansion
IaC Infrastructure as Code
RPC Remote Procedure Call (gRPC throughout this codebase)
URN Uniform Resource Name
PCL Pulumi Configuration Language
TF Terraform
CFN CloudFormation
DIY Do-It-Yourself (the self-managed backend)
ESC Pulumi Environments, Secrets, Configuration — adjacent product, integrated via sdk/go/common/env/ and pkg/cmd/pulumi/env/

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Glossary – Pulumi wiki | Factory