---
title: Pulumi API
description: Generated public TypeScript reference for @relkit/pulumi.
search:
  exclude: true
sidebar:
  icon: braces
---

{/* Generated by apps/docs/scripts/generate.ts. Do not edit. */}

For configuration and examples, read [deployment](/docs/modules/jobs/deployment), [deployment](/docs/modules/deployment), [aws](/docs/modules/deployment/aws).

## Public imports

- `@relkit/pulumi` — 0 exports
- `@relkit/pulumi/engine` — 48 exports

## All exported APIs

Names link to their complete contracts. Re-exports share their original contract; legacy exports keep their separate identity. Examples link to the API's inline sample, a maintained repository usage, or the shared module walkthrough.

| API                                                                                                        | Kind  | Import from             | Example                                                                                                       |
| ---------------------------------------------------------------------------------------------------------- | ----- | ----------------------- | ------------------------------------------------------------------------------------------------------------- |
| [createInlinePulumiProgram](/docs/api/integrations/pulumi#createinlinepulumiprogram)                       | Value | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [createOutputReport](/docs/api/integrations/pulumi#createoutputreport-1)                                   | Value | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [createPreviewReport](/docs/api/integrations/pulumi#createpreviewreport-1)                                 | Value | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [createPulumiEventLogger](/docs/api/integrations/pulumi#createpulumieventlogger)                           | Value | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [createPulumiProgram](/docs/api/integrations/pulumi#createpulumiprogram)                                   | Value | `@relkit/pulumi/engine` | [Source example](https://github.com/rel-kit/relkit/blob/main/tests/deployment/aws-integration.test.ts#L43)    |
| [createPulumiWorkspace](/docs/api/integrations/pulumi#createpulumiworkspace)                               | Value | `@relkit/pulumi/engine` | [Source example](https://github.com/rel-kit/relkit/blob/main/tests/deployment/aws-integration.test.ts#L34)    |
| [createUpdateReport](/docs/api/integrations/pulumi#createupdatereport-1)                                   | Value | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [deploymentIntegration](/docs/api/integrations/pulumi#deploymentintegration)                               | Value | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [ExecutedDeploymentOperations](/docs/api/integrations/pulumi#executeddeploymentoperations-interface)       | Type  | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [executeDeploymentOperations](/docs/api/integrations/pulumi#executedeploymentoperations)                   | Value | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [formatPulumiSummary](/docs/api/integrations/pulumi#formatpulumisummary)                                   | Value | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [materializeDeploymentOperations](/docs/api/integrations/pulumi#materializedeploymentoperations)           | Value | `@relkit/pulumi/engine` | [Source example](https://github.com/rel-kit/relkit/blob/main/tests/deployment/grouped-pulumi.probe.ts#L41)    |
| [MaterializeDeploymentOptions](/docs/api/integrations/pulumi#materializedeploymentoptions-interface)       | Type  | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [materializePulumiDeployment](/docs/api/integrations/pulumi#materializepulumideployment)                   | Value | `@relkit/pulumi/engine` | [Source example](https://github.com/rel-kit/relkit/blob/main/tests/deployment/grouped-pulumi.probe.ts#L45)    |
| [PULUMI_CLOUD_BACKEND_URL](/docs/api/integrations/pulumi#pulumi_cloud_backend_url)                         | Value | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [PULUMI_PROGRAM_VERSION](/docs/api/integrations/pulumi#pulumi_program_version)                             | Value | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [PULUMI_REPORT_VERSION](/docs/api/integrations/pulumi#pulumi_report_version)                               | Value | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [PulumiBackend](/docs/api/integrations/pulumi#pulumibackend-interface)                                     | Type  | `@relkit/pulumi/engine` | [Source example](https://github.com/rel-kit/relkit/blob/main/tests/deployment/aws-integration.test.ts#L107)   |
| [PulumiBackendKind](/docs/api/integrations/pulumi#pulumibackendkind-type-alias)                            | Type  | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [pulumiEngine](/docs/api/integrations/pulumi#pulumiengine)                                                 | Value | `@relkit/pulumi/engine` | [Source example](https://github.com/rel-kit/relkit/blob/main/tests/deployment/aws-integration.test.ts#L45)    |
| [PulumiEventLog](/docs/api/integrations/pulumi#pulumieventlog-interface)                                   | Type  | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [PulumiEventOptions](/docs/api/integrations/pulumi#pulumieventoptions-interface)                           | Type  | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [PulumiEventSummary](/docs/api/integrations/pulumi#pulumieventsummary-interface)                           | Type  | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [PulumiIntegrationImport](/docs/api/integrations/pulumi#pulumiintegrationimport-interface)                 | Type  | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [PulumiLogLevel](/docs/api/integrations/pulumi#pulumiloglevel-type-alias)                                  | Type  | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [PulumiOutput](/docs/api/integrations/pulumi#pulumioutput-interface)                                       | Type  | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [PulumiOutputReport](/docs/api/integrations/pulumi#pulumioutputreport-interface)                           | Type  | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [PulumiOutputs](/docs/api/integrations/pulumi#pulumioutputs-type-alias)                                    | Type  | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [PulumiOutputValue](/docs/api/integrations/pulumi#pulumioutputvalue-type-alias)                            | Type  | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [PulumiPreviewReport](/docs/api/integrations/pulumi#pulumipreviewreport-interface)                         | Type  | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [PulumiProgramFiles](/docs/api/integrations/pulumi#pulumiprogramfiles-interface)                           | Type  | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [PulumiProgramOptions](/docs/api/integrations/pulumi#pulumiprogramoptions-interface)                       | Type  | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [PulumiReport](/docs/api/integrations/pulumi#pulumireport-type-alias)                                      | Type  | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [PulumiSecretOutput](/docs/api/integrations/pulumi#pulumisecretoutput-interface)                           | Type  | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [PulumiStackMode](/docs/api/integrations/pulumi#pulumistackmode-type-alias)                                | Type  | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [PulumiUpdateReport](/docs/api/integrations/pulumi#pulumiupdatereport-interface)                           | Type  | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [PulumiWorkspaceConfigurationError](/docs/api/integrations/pulumi#pulumiworkspaceconfigurationerror-class) | Value | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [PulumiWorkspaceHandle](/docs/api/integrations/pulumi#pulumiworkspacehandle-interface)                     | Type  | `@relkit/pulumi/engine` | [Source example](https://github.com/rel-kit/relkit/blob/main/tests/deployment/aws-integration.test.ts#L30)    |
| [PulumiWorkspaceOptions](/docs/api/integrations/pulumi#pulumiworkspaceoptions-interface)                   | Type  | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [redactPulumiOutputs](/docs/api/integrations/pulumi#redactpulumioutputs)                                   | Value | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [renderPulumiProgram](/docs/api/integrations/pulumi#renderpulumiprogram)                                   | Value | `@relkit/pulumi/engine` | [Source example](https://github.com/rel-kit/relkit/blob/main/tests/deployment/grouped-layout-contract.ts#L85) |
| [ResolvedPulumiBackend](/docs/api/integrations/pulumi#resolvedpulumibackend-type-alias)                    | Type  | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [resolvePulumiBackend](/docs/api/integrations/pulumi#resolvepulumibackend)                                 | Value | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [serializePulumiReport](/docs/api/integrations/pulumi#serializepulumireport)                               | Value | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [summarizePulumiEvents](/docs/api/integrations/pulumi#summarizepulumievents-1)                             | Value | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [toPulumiEffectLog](/docs/api/integrations/pulumi#topulumieffectlog)                                       | Value | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [toPulumiLog](/docs/api/integrations/pulumi#topulumilog)                                                   | Value | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |
| [writePulumiProgram](/docs/api/integrations/pulumi#writepulumiprogram)                                     | Value | `@relkit/pulumi/engine` | [Module example](/docs/modules/jobs/deployment)                                                               |

## `index.ts`

Declares selected Pulumi engine metadata and exposes its owning deployment implementation.

### "@relkit/deploy-pulumi" (namespace export)

Re-exports all named exports from the "@relkit/deploy-pulumi" module.

**Signature**

```ts
export * from "@relkit/deploy-pulumi";
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/pulumi/src/engine/index.ts#L17)

### deploymentIntegration

**Signature**

```ts
declare const deploymentIntegration: Readonly<{
  kind: "deployment-integration";
  protocolVersion: 1;
  integrationId: "pulumi";
  role: "engine";
}>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/pulumi/src/engine/index.ts#L14)

### pulumiEngine

**Signature**

```ts
declare const pulumiEngine: Readonly<{
  kind: "deployment-integration";
  protocolVersion: 1;
  integrationId: "pulumi";
  role: "engine";
}>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/pulumi/src/engine/index.ts#L7)

## `index.ts`

## `events-report.ts`

### createOutputReport

**Signature**

```ts
declare const createOutputReport: (
  outputs: OutputMap,
  options: PulumiEventOptions,
) => PulumiOutputReport;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-report.ts#L64)

### createPreviewReport

**Signature**

```ts
declare const createPreviewReport: (
  result: Pick<PreviewResult, "changeSummary">,
  events: readonly EngineEvent[],
  toLog: (event: EngineEvent) => PulumiEventLog | undefined,
) => PulumiPreviewReport;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-report.ts#L30)

### createUpdateReport

**Signature**

```ts
declare const createUpdateReport: (
  result: Pick<UpResult, "summary" | "outputs">,
  events: readonly EngineEvent[],
  toLog: (event: EngineEvent) => PulumiEventLog | undefined,
  options: PulumiEventOptions,
) => PulumiUpdateReport;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-report.ts#L43)

### formatPulumiSummary

**Signature**

```ts
declare const formatPulumiSummary: (
  summary: PulumiPreviewReport["summary"],
  operation?: string,
) => string;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-report.ts#L21)

### serializePulumiReport

**Signature**

```ts
declare const serializePulumiReport: (report: PulumiReport, options?: PulumiEventOptions) => string;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-report.ts#L75)

## `events-support.ts`

### OP_TYPES

**Signature**

```ts
declare const OP_TYPES: ReadonlyArray<OpType>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-support.ts#L12)

### changes

**Signature**

```ts
declare const changes: (value: OpMap | undefined) => OpMap;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-support.ts#L30)

### eventLogs

**Signature**

```ts
declare const eventLogs: (
  events: readonly EngineEvent[],
  toLog: (event: EngineEvent) => PulumiEventLog | undefined,
) => readonly PulumiEventLog[];
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-support.ts#L81)

### finiteNumber

**Signature**

```ts
declare const finiteNumber: (value: unknown) => number;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-support.ts#L143)

### nonNegativeInteger

**Signature**

```ts
declare const nonNegativeInteger: (value: unknown) => number;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-support.ts#L147)

### redactPulumiOutputs

**Signature**

```ts
declare const redactPulumiOutputs: (
  outputs: OutputMap | PulumiOutputs,
  options: PulumiEventOptions,
) => PulumiOutputs;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-support.ts#L128)

### resourceLog

**Signature**

```ts
declare const resourceLog: (
  base: (kind: string, level: "info" | "error", message: string, fields?: object) => PulumiEventLog,
  kind: string,
  message: string,
  event: {
    readonly metadata: {
      readonly op: OpType;
      readonly urn: string;
      readonly type: string;
      readonly logical?: boolean;
    };
  },
  extra?: object,
) => PulumiEventLog;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-support.ts#L58)

### safeFields

**Signature**

```ts
declare const safeFields: (
  value: object,
  options: PulumiEventOptions,
) => Readonly<Record<string, JsonValue>>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-support.ts#L43)

### safeText

**Signature**

```ts
declare const safeText: (value: unknown, options: PulumiEventOptions) => string;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-support.ts#L53)

### safeValue

**Signature**

```ts
declare const safeValue: (value: unknown, options: PulumiEventOptions) => JsonValue;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-support.ts#L39)

### summarizePulumiEvents

**Signature**

```ts
declare const summarizePulumiEvents: (events: readonly EngineEvent[]) => PulumiEventSummary;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-support.ts#L98)

## `events-types.ts`

### PULUMI_REPORT_VERSION

**Signature**

```ts
declare const PULUMI_REPORT_VERSION: 1;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-types.ts#L4)

### PulumiEventLog (interface)

**Signature**

```ts
export interface PulumiEventLog {
  readonly sequence: number;
  readonly timestamp: number;
  readonly kind: string;
  readonly level: PulumiLogLevel;
  readonly message: string;
  readonly fields: Readonly<Record<string, JsonValue>>;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-types.ts#L10)

### PulumiEventOptions (interface)

**Signature**

```ts
export interface PulumiEventOptions {
  readonly redaction?: import("@relkit/observability").RedactionPolicy;
  readonly redact?: (value: unknown) => JsonValue;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-types.ts#L6)

### PulumiEventSummary (interface)

**Signature**

```ts
export interface PulumiEventSummary {
  readonly resourceChanges: OpMap;
  readonly diagnostics: Readonly<{
    readonly info: number;
    readonly warning: number;
    readonly error: number;
  }>;
  readonly maybeCorrupt: boolean;
  readonly durationSeconds?: number;
  readonly result?: UpdateResult;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-types.ts#L18)

### PulumiLogLevel (type alias)

**Signature**

```ts
type PulumiLogLevel = "info" | "warn" | "error";
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-types.ts#L5)

### PulumiOutput (interface)

**Signature**

```ts
export interface PulumiOutput {
  readonly secret: false;
  readonly value: JsonValue;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-types.ts#L29)

### PulumiOutputReport (interface)

**Signature**

```ts
export interface PulumiOutputReport {
  readonly version: typeof PULUMI_REPORT_VERSION;
  readonly kind: "outputs";
  readonly outputs: PulumiOutputs;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-types.ts#L51)

### PulumiOutputValue (type alias)

**Signature**

```ts
type PulumiOutputValue = PulumiOutput | PulumiSecretOutput;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-types.ts#L36)

### PulumiOutputs (type alias)

**Signature**

```ts
type PulumiOutputs = Readonly<Record<string, PulumiOutputValue>>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-types.ts#L37)

### PulumiPreviewReport (interface)

**Signature**

```ts
export interface PulumiPreviewReport {
  readonly version: typeof PULUMI_REPORT_VERSION;
  readonly kind: "preview";
  readonly summary: PulumiEventSummary;
  readonly logs: readonly PulumiEventLog[];
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-types.ts#L38)

### PulumiReport (type alias)

**Signature**

```ts
type PulumiReport = PulumiPreviewReport | PulumiUpdateReport | PulumiOutputReport;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-types.ts#L56)

### PulumiSecretOutput (interface)

**Signature**

```ts
export interface PulumiSecretOutput {
  readonly secret: true;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-types.ts#L33)

### PulumiUpdateReport (interface)

**Signature**

```ts
export interface PulumiUpdateReport {
  readonly version: typeof PULUMI_REPORT_VERSION;
  readonly kind: "update";
  readonly summary: PulumiEventSummary;
  readonly outputs: PulumiOutputs;
  readonly logs: readonly PulumiEventLog[];
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events-types.ts#L44)

## `events.ts`

### PULUMI_REPORT_VERSION

**Signature**

```ts
declare const PULUMI_REPORT_VERSION: 1;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L29)

### PulumiEventLog

**Signature**

```ts
declare const PulumiEventLog: any;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L30)

### PulumiEventOptions

**Signature**

```ts
declare const PulumiEventOptions: any;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L31)

### PulumiEventSummary

**Signature**

```ts
declare const PulumiEventSummary: any;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L32)

### PulumiLogLevel

**Signature**

```ts
declare const PulumiLogLevel: any;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L33)

### PulumiOutput

**Signature**

```ts
declare const PulumiOutput: any;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L34)

### PulumiOutputReport

**Signature**

```ts
declare const PulumiOutputReport: any;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L35)

### PulumiOutputValue

**Signature**

```ts
declare const PulumiOutputValue: any;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L36)

### PulumiOutputs

**Signature**

```ts
declare const PulumiOutputs: any;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L37)

### PulumiPreviewReport

**Signature**

```ts
declare const PulumiPreviewReport: any;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L38)

### PulumiReport

**Signature**

```ts
declare const PulumiReport: any;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L39)

### PulumiSecretOutput

**Signature**

```ts
declare const PulumiSecretOutput: any;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L40)

### PulumiUpdateReport

**Signature**

```ts
declare const PulumiUpdateReport: any;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L41)

### createOutputReport

**Signature**

```ts
declare const createOutputReport: (
  outputs: OutputMap,
  options?: PulumiEventOptions,
) => PulumiOutputReport;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L187)

### createPreviewReport

**Signature**

```ts
declare const createPreviewReport: (
  result: Pick<PreviewResult, "changeSummary">,
  events?: readonly EngineEvent[],
  options?: PulumiEventOptions,
) => PulumiPreviewReport;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L171)

### createPulumiEventLogger

Adapts the synchronous Automation API callback to an existing Effect runtime/logger.

**Signature**

```ts
declare const createPulumiEventLogger: (
  emit: (effect: Effect.Effect<void>) => void,
  options?: PulumiEventOptions,
) => (event: EngineEvent) => void;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L151)

### createUpdateReport

**Signature**

```ts
declare const createUpdateReport: (
  result: Pick<UpResult, "summary" | "outputs">,
  events?: readonly EngineEvent[],
  options?: PulumiEventOptions,
) => PulumiUpdateReport;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L179)

### formatPulumiSummary

**Signature**

```ts
declare const formatPulumiSummary: (
  summary: PulumiPreviewReport["summary"],
  operation?: string,
) => string;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L169)

### redactPulumiOutputs

**Signature**

```ts
declare const redactPulumiOutputs: (
  outputs: OutputMap | PulumiOutputs,
  options: PulumiEventOptions,
) => PulumiOutputs;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L194)

### serializePulumiReport

**Signature**

```ts
declare const serializePulumiReport: (report: PulumiReport, options?: PulumiEventOptions) => string;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L169)

### summarizePulumiEvents

Produces a stable summary from event order-independent engine data.

**Signature**

```ts
declare const summarizePulumiEvents: (events: readonly EngineEvent[]) => PulumiEventSummary;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L165)

### toPulumiEffectLog

Builds an Effect log with only the already-redacted event message and fields.

**Signature**

```ts
declare const toPulumiEffectLog: (
  event: EngineEvent,
  options?: PulumiEventOptions,
) => Effect.Effect<void>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L135)

### toPulumiLog

Converts one Automation API event into safe data suitable for Effect logs.

**Signature**

```ts
declare const toPulumiLog: (
  event: EngineEvent,
  options?: PulumiEventOptions,
) => PulumiEventLog | undefined;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/events.ts#L45)

## `materialization.ts`

### MaterializeDeploymentOptions (interface)

**Signature**

```ts
export interface MaterializeDeploymentOptions {
  readonly stackName: string;
  readonly integrations: readonly unknown[];
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/materialization.ts#L18)

### materializeDeploymentOperations

**Signature**

```ts
declare const materializeDeploymentOperations: (
  plan: DeploymentPlan,
  options: MaterializeDeploymentOptions,
) => DeploymentProgramMaterialization;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/materialization.ts#L23)

## `operation-executor.ts`

### ExecutedDeploymentOperations (interface)

**Signature**

```ts
export interface ExecutedDeploymentOperations {
  readonly outputs: Readonly<Record<string, pulumi.Input<unknown>>>;
  readonly resourceCount: number;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/operation-executor.ts#L9)

### executeDeploymentOperations

**Signature**

```ts
declare const executeDeploymentOperations: (
  program: DeploymentProgramMaterialization,
) => ExecutedDeploymentOperations;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/operation-executor.ts#L26)

## `program.ts`

### PULUMI_PROGRAM_VERSION

**Signature**

```ts
declare const PULUMI_PROGRAM_VERSION: 1;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/program.ts#L10)

### PulumiIntegrationImport (interface)

**Signature**

```ts
export interface PulumiIntegrationImport {
  readonly integrationId: string;
  readonly role: "engine" | "host" | "infrastructure" | "access";
  readonly packageName: string;
  readonly packageVersion: string;
  readonly exportName: string;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/program.ts#L23)

### PulumiProgramFiles (interface)

**Signature**

```ts
export interface PulumiProgramFiles {
  readonly directory: string;
  readonly projectName: string;
  readonly stackName: string;
  readonly pulumiYaml: string;
  readonly indexTs: string;
  readonly planJson: string;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/program.ts#L31)

### PulumiProgramOptions (interface)

**Signature**

```ts
export interface PulumiProgramOptions {
  readonly stackName?: string;
  readonly projectName?: string;
  readonly projectRoot?: string;
  readonly directory?: string;
  readonly integrations?: readonly unknown[];
  readonly integrationImports?: readonly PulumiIntegrationImport[];
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/program.ts#L14)

### createInlinePulumiProgram

**Signature**

```ts
declare const createInlinePulumiProgram: (
  plan: DeploymentPlan,
  options?: PulumiProgramOptions,
) => PulumiFn;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/program.ts#L97)

### createPulumiProgram

Creates the same plan-only resource tree for Pulumi Automation API inline use.

**Signature**

```ts
declare const createPulumiProgram: (
  plan: DeploymentPlan,
  options?: PulumiProgramOptions,
) => PulumiFn;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/program.ts#L78)

### materializePulumiDeployment

**Signature**

```ts
declare const materializePulumiDeployment: (
  plan: DeploymentPlan,
  options: { readonly stackName: string; readonly integrations: readonly unknown[] },
) => ExecutedDeploymentOperations;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/program.ts#L99)

### renderPulumiProgram

Renders a path-independent Pulumi project from a provider-neutral plan.

**Signature**

```ts
declare const renderPulumiProgram: (
  plan: DeploymentPlan,
  options?: PulumiProgramOptions,
) => PulumiProgramFiles;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/program.ts#L41)

### writePulumiProgram

Writes only the deterministic Pulumi project files and returns their contents.

**Signature**

```ts
declare const writePulumiProgram: (
  plan: DeploymentPlan,
  options?: PulumiProgramOptions,
) => Promise<PulumiProgramFiles>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/program.ts#L64)

## `workspace.ts`

Acquires an explicitly selected native Pulumi workspace without changing backend or stack ownership.

### PULUMI_CLOUD_BACKEND_URL

**Signature**

```ts
declare const PULUMI_CLOUD_BACKEND_URL: "https://api.pulumi.com";
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/workspace.ts#L15)

### PulumiBackend (interface)

**Signature**

```ts
export interface PulumiBackend {
  readonly kind: PulumiBackendKind;
  readonly url?: string;
  readonly directory?: string;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/workspace.ts#L19)

### PulumiBackendKind (type alias)

**Signature**

```ts
type PulumiBackendKind = "cloud" | "object-storage" | "local";
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/workspace.ts#L16)

### PulumiStackMode (type alias)

**Signature**

```ts
type PulumiStackMode = "create" | "select" | "create-or-select";
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/workspace.ts#L17)

### PulumiWorkspaceConfigurationError (class)

**Signature**

```ts
declare class PulumiWorkspaceConfigurationError {
  constructor(message: string);
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/workspace.ts#L50)

### code (property)

**Signature**

```ts
readonly code: "RELKIT_PULUMI_WORKSPACE_INVALID"
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/workspace.ts#L51)

### PulumiWorkspaceHandle (interface)

**Signature**

```ts
export interface PulumiWorkspaceHandle {
  readonly workspace: LocalWorkspace;
  readonly stack: Stack;
  readonly projectName: string;
  readonly stackName: string;
  readonly workDir: string;
  readonly backend: ResolvedPulumiBackend;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/workspace.ts#L41)

### PulumiWorkspaceOptions (interface)

**Signature**

```ts
export interface PulumiWorkspaceOptions {
  readonly projectName: string;
  readonly stackName: string;
  readonly workDir?: string;
  readonly backend?: PulumiBackend;
  readonly mode?: PulumiStackMode;
  readonly config?: ConfigMap;
  readonly envVars?: Readonly<Record<string, string>>;
  readonly pulumiHome?: string;
  readonly pulumiCommand?: PulumiCommand;
  readonly program?: PulumiFn;
  readonly secretsProvider?: string;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/workspace.ts#L27)

### ResolvedPulumiBackend (type alias)

**Signature**

```ts
type ResolvedPulumiBackend = { readonly kind: PulumiBackendKind; readonly url: string };
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/workspace.ts#L25)

### createPulumiWorkspace

Creates/selects one explicit Pulumi stack and delegates persistence to Pulumi.

**Signature**

```ts
declare const createPulumiWorkspace: (
  options: PulumiWorkspaceOptions,
) => Promise<PulumiWorkspaceHandle>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/workspace.ts#L80)

### resolvePulumiBackend

Resolves a supported Pulumi backend without creating a second state store.

**Signature**

```ts
declare const resolvePulumiBackend: (
  backend?: PulumiBackend,
  workDir?: string,
) => ResolvedPulumiBackend;
```

[Source](https://github.com/rel-kit/relkit/blob/main/packages/deploy-pulumi/src/workspace.ts#L60)
