pulumi/proto/pulumi/plugin.proto

45 lines
1.9 KiB
Protocol Buffer

// Copyright 2016-2018, Pulumi Corporation.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
package pulumirpc;
option go_package = "github.com/pulumi/pulumi/sdk/v3/proto/go;pulumirpc";
// PluginInfo is meta-information about a plugin that is used by the system.
message PluginInfo {
string version = 1; // the semver for this plugin.
}
// PluginDependency is information about a plugin that a program may depend upon.
message PluginDependency {
string name = 1; // the name of the plugin.
string kind = 2; // the kind of plugin (e.g., language, etc).
string version = 3; // the semver for this plugin.
string server = 4; // the URL of a server that can be used to download this plugin, if needed.
// 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".
map<string, bytes> checksums = 5;
}
// 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.
message PluginAttach {
string address = 1; // the grpc address for the engine
}