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.
namestringthe name of the plugin.
kindstringthe kind of plugin (e.g., language, etc).
versionstringthe semver for this plugin.
serverstringthe URL of a server that can be used to download this plugin, if needed.
checksumsPackageDependency.ChecksumsEntrya 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”.
parameterizationPackageParameterizationThe optional replacement parameterization for this package.
extensionPackageParameterizationThe optional extension parameterization for this package.
📨 ChecksumsEntry#
📨 PackageParameterization#
📨 PackageSpec#
sourcestringThe “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
versionstringThe version of the provider, may be Semver 2.0 or a git hash.
parametersstringAny parameters needed to configure the package.
checksumsPackageSpec.ChecksumsEntryif set will be used to validate the plugin downloaded matches. This is keyed by “$os-$arch”, e.g. “linux-x64”.
serverstringthe URL of a server that can be used to download this plugin, if needed.
📨 ChecksumsEntry#
📨 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.
addressstringthe grpc address for the engine
📨 PluginDependency#
PluginDependency is information about a plugin that a program may depend upon.
namestringthe name of the plugin.
kindstringthe kind of plugin (e.g., language, etc).
versionstringthe semver for this plugin.
serverstringthe URL of a server that can be used to download this plugin, if needed.
checksumsPluginDependency.ChecksumsEntrya 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#
📨 PluginInfo#
PluginInfo is meta-information about a plugin that is used by the system.
versionstringthe semver for this plugin.