1. Docs
  2. Pulumi IaC
  3. Using Pulumi
  4. Automation API

Embedding Pulumi with the Automation API

    The Pulumi Automation API is a programmatic interface for running Pulumi programs without the Pulumi CLI. Conceptually, this can be thought of as encapsulating the functionality of the CLI (pulumi up, pulumi preview, pulumi destroy, pulumi stack init, etc.) but with more flexibility. It is a strongly typed and safe way to use Pulumi in embedded contexts such as web servers, without requiring invoking the CLI from a shell process.

    automation-api

    Automation API allows you to embed Pulumi within your application code, making it easy to create custom experiences on top of Pulumi that are tailored to your use-case, domain, and team.

    Automation API requires the Pulumi CLI to be installed and available in your PATH environment variable.

    Getting started

    To learn how to use Automation API, see Getting Started with Automation API.

    Examples

    The following examples demonstrate how to use Automation API in various use cases.

    Visit the examples repo for more code examples and links to projects using Automation API.

    Languages

    Like all of Pulumi, Automation API is available in multiple languages, so you can create applications that use it in TypeScript/JavaScript, Python, Go, and C#.

    Automation API supports cross-language implementations where it runs in a program of a different language than the Pulumi programs it manages.

    LanguageStatus
    TypeScriptStable
    JavaScriptStable
    PythonStable
    .NETStable
    GoStable

    Blog Posts

    For more ideas of what’s possible with Automation API, check out some of the ways we and community members use it in different use cases.

    Known issues

    The GA release of Automation API is stable; however, we know bugs can pop up. We are tracking a list of known issues and encourage you to file additional issues as you find them.

      PulumiUP 2024. Watch On Demand.