Skip to main content
  1. Docs
  2. pulumi package add | CLI commands

pulumi package add | CLI commands

Generated for Pulumi CLI v3.246.0.

    Add a package to your Pulumi project, plugin, or current directory.

    Synopsis

    Add a package to your Pulumi project, plugin, or current directory.

    This command locally generates an SDK in the selected Pulumi language and prints instructions on how to use it. The SDK is based on a Pulumi package schema extracted from a given resource plugin or provided directly.

    When run inside a Pulumi project or plugin, the package is also recorded in Pulumi.yaml or PulumiPlugin.yaml. To run outside one (e.g. for a single-language component library or with the Automation API), pass ‘–language LANG’ to select the SDK language explicitly.

    The argument can be specified in one of the following ways:

    • When is specified as a PLUGIN[@VERSION] reference, Pulumi attempts to resolve a resource plugin first, installing it on-demand, similarly to:

      pulumi plugin install resource PLUGIN [VERSION]

    • When is specified as a local path, Pulumi executes the provider binary to extract its package schema:

      pulumi package add ./my-provider

    • When is a path to a local file with a ‘.json’, ‘.yml’ or ‘.yaml’ extension, Pulumi package schema is read from it directly:

      pulumi package add ./my/schema.json

    • When is a reference to a Git repo, Pulumi clones the repo and executes the source. Optionally a version can be specified. It can either be a tag (in semver format), or a Git commit hash. By default the latest tag (by semver version), or if not available the latest commit on the default branch is used. Paths can be disambiguated from the repo name by appending ‘.git’ to the repo URL, followed by the path to the package:

      pulumi package add example.org/org/repo.git/path[@]

    For parameterized providers, parameters may be specified as additional arguments. The exact format of parameters is provider-specific; consult the provider’s documentation for more information. If the parameters include flags that begin with dashes, you may need to use ‘–’ to separate the provider name from the parameters, as in:

    pulumi package add – –provider-parameter-flag value

    pulumi package add <provider|schema|path> [flags] [--] [provider-parameter]...
    

    Options

      -h, --help              help for add
          --language string   Run outside a Pulumi project or plugin: [nodejs|python|go|dotnet|java]
    

    Options inherited from parent commands

          --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
          --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