Plugins#

pulumi/pulumi:proto/pulumi/plugin.proto

Services#

🔌 PackageResolver#

PackageResolver resolves a 📨 PackageSpec – a user-supplied package reference such as a name, registry coordinate, git URL, or local path, optionally carrying a version and parameters – into a concrete, downloadable 📨 PackageDependency. The engine exposes this service to resource providers as part of the provider handshake so they can resolve packages the same way the CLI does.

This is currently unstable and experimental.

📞 ResolvePackage#

⤵️ PackageSpec ⤴️ PackageDependency

ResolvePackage resolves the given package specification to a concrete package dependency.

Messages#

📨 PackageDependency#

PackageDependency is information about a package that a program may depend upon.

name string

the name of the plugin.

kind string

the kind of plugin (e.g., language, etc).

version string

the semver for this plugin.

server string

the URL of a server that can be used to download this plugin, if needed.

checksums PackageDependency.ChecksumsEntry

a map of the checksums for the plugin, will be empty from old language runtimes. The keys should match the os and architecture names used in pulumi releases, e.g. “darwin-amd64”, “windows-arm64”.

parameterization PackageParameterization

The optional replacement parameterization for this package.

extension PackageParameterization

The optional extension parameterization for this package.

📨 ChecksumsEntry#

key string

<No description>

value bytes

<No description>

📨 PackageParameterization#

name string

the parameterized package name.

version string

the parameterized package version.

value bytes

the parameter value for the parameterized package.

📨 PackageSpec#

source string

The “name” of the plugin.

Source may be one of:

  • A simple name, like “pkg”

  • A registry double or triple: “org/pkg”, “source/org/pkg”

  • A git URL, “git://github.com/pulumi/pulumi-example/path”

  • An un-prefixed URL, like github.com/pulumi/pulumi-example/path

  • A local path, like /usr/bin/pkg

version string

The version of the provider, may be Semver 2.0 or a git hash.

parameters string

Any parameters needed to configure the package.

checksums PackageSpec.ChecksumsEntry

if set will be used to validate the plugin downloaded matches. This is keyed by “$os-$arch”, e.g. “linux-x64”.

server string

the URL of a server that can be used to download this plugin, if needed.

📨 ChecksumsEntry#

key string

<No description>

value bytes

<No description>

📨 PluginAttach#

PluginAttach is used to attach an already running plugin to the engine.

Normally the engine starts the plugin process itself and passes the engine address as the first argumnent. But when debugging it can be useful to have an already running provider that the engine instead attaches to, this message is used so the provider can still be passed the engine address to communicate with.

address string

the grpc address for the engine

📨 PluginDependency#

PluginDependency is information about a plugin that a program may depend upon.

name string

the name of the plugin.

kind string

the kind of plugin (e.g., language, etc).

version string

the semver for this plugin.

server string

the URL of a server that can be used to download this plugin, if needed.

checksums PluginDependency.ChecksumsEntry

a map of the checksums for the plugin, will be empty from old language runtimes. The keys should match the os and architecture names used in pulumi releases, e.g. “darwin-amd64”, “windows-arm64”.

📨 ChecksumsEntry#

key string

<No description>

value bytes

<No description>

📨 PluginInfo#

PluginInfo is meta-information about a plugin that is used by the system.

version string

the semver for this plugin.