Skip to main content
  1. Docs
  2. Infrastructure as Code
  3. Pulumi CLI
  4. Commands

Pulumi CLI commands

    Common Commands

    The most common commands in the CLI that you’ll be using are as follows:

    • pulumi new: creates a new project using a template
    • pulumi stack: manage your stacks (at least one is required to perform an update)
    • pulumi config: configure variables such as keys, regions, and so on
    • pulumi up: preview and deploy changes to your program and/or infrastructure
    • pulumi preview: preview your changes explicitly before deploying
    • pulumi destroy: destroy your program and its infrastructure when you’re done

    Complete Reference

    Below is the complete documentation for all available commands:

    Pulumi command line

    Synopsis

    Pulumi - Modern Infrastructure as Code

    To begin working with Pulumi, run the pulumi new command:

    $ pulumi new
    

    This will prompt you to create a new project for your cloud and language of choice.

    The most common commands from there are:

    - pulumi up       : Deploy code and/or resource changes
    - pulumi stack    : Manage instances of your project
    - pulumi config   : Alter your stack's configuration or secrets
    - pulumi destroy  : Tear down your stack's resources entirely
    

    For more information, please visit the project page: https://www.pulumi.com/docs/

    Options

          --color string                 Colorize output. Choices are: always, never, raw, auto (default "auto")
      -C, --cwd string                   Run pulumi as if it had been started in another directory
          --disable-integrity-checking   Disable integrity checking of checkpoint files
      -e, --emoji                        Enable emojis in the output
      -Q, --fully-qualify-stack-names    Show fully-qualified stack names
      -h, --help                         help for pulumi
          --logflow                      Flow log settings to child processes (like plugins)
          --logtostderr                  Log to stderr instead of to files
          --memprofilerate int           Enable more precise (and expensive) memory allocation profiles by setting runtime.MemProfileRate
          --non-interactive              Disable interactive mode for all commands
          --otel-traces string           Export OpenTelemetry traces to the specified endpoint. Use file:// for local JSON files, grpc:// for remote collectors
          --profiling string             Emit CPU and memory profiles and an execution trace to '[filename].[pid].{cpu,mem,trace}', respectively
          --tracing file:                Emit tracing to the specified endpoint. Use the file: scheme to write tracing data to a local file
      -v, --verbose int                  Enable verbose logging (e.g., v=3); anything >3 is very verbose
    

    SEE ALSO