# Plugins
<gh-file:pulumi#proto/pulumi/plugin.proto>

## Messages
(pulumirpc.PackageDependency)=
### 📨 PackageDependency
PackageDependency is information about a package that a program may depend upon.


`name` [string](#string)
:   the name of the plugin.


`kind` [string](#string)
:   the kind of plugin (e.g., language, etc).


`version` [string](#string)
:   the semver for this plugin.


`server` [string](#string)
:   the URL of a server that can be used to download this plugin, if needed.


`checksums` [PackageDependency.ChecksumsEntry](#pulumirpc.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](#pulumirpc.PackageParameterization)
:   The optional parameterization for this package.

(pulumirpc.PackageDependency.ChecksumsEntry)=
### 📨 ChecksumsEntry



`key` [string](#string)
: &lt;No description&gt;


`value` [bytes](#bytes)
: &lt;No description&gt;

(pulumirpc.PackageParameterization)=
### 📨 PackageParameterization



`name` [string](#string)
:   the parameterized package name.


`version` [string](#string)
:   the parameterized package version.


`value` [bytes](#bytes)
:   the parameter value for the parameterized package.

(pulumirpc.PluginAttach)=
### 📨 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](#string)
:   the grpc address for the engine

(pulumirpc.PluginDependency)=
### 📨 PluginDependency
PluginDependency is information about a plugin that a program may depend upon.


`name` [string](#string)
:   the name of the plugin.


`kind` [string](#string)
:   the kind of plugin (e.g., language, etc).


`version` [string](#string)
:   the semver for this plugin.


`server` [string](#string)
:   the URL of a server that can be used to download this plugin, if needed.


`checksums` [PluginDependency.ChecksumsEntry](#pulumirpc.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".

(pulumirpc.PluginDependency.ChecksumsEntry)=
### 📨 ChecksumsEntry



`key` [string](#string)
: &lt;No description&gt;


`value` [bytes](#bytes)
: &lt;No description&gt;

(pulumirpc.PluginInfo)=
### 📨 PluginInfo
PluginInfo is meta-information about a plugin that is used by the system.


`version` [string](#string)
:   the semver for this plugin.

