This reverts commit 1c26a4abb0c9e095b3f6ec9944c4b15f6f1cd064, reversing changes made to 186824a568583d8f6f2a50501d940ed71608fa0b. The changes broke plugin loading when using subcommands so these changes will be reverted until the underlying issue can be investigated and resolved.
89 lines
2.2 KiB
Protocol Buffer
89 lines
2.2 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package hashicorp.vagrant;
|
|
|
|
option go_package = "github.com/hashicorp/vagrant/internal/server/proto/ruby_vagrant";
|
|
|
|
import "google/protobuf/empty.proto";
|
|
import "google/protobuf/any.proto";
|
|
import "google/rpc/error_details.proto";
|
|
|
|
import "plugin.proto";
|
|
|
|
// The service that is implemented for the server backend.
|
|
service RubyVagrant {
|
|
// Gets available ruby plugins
|
|
rpc GetPlugins(google.protobuf.Empty) returns (GetPluginsResponse);
|
|
rpc ParseVagrantfile(ParseVagrantfileRequest) returns (ParseVagrantfileResponse);
|
|
rpc ParseVagrantfileProc(ParseVagrantfileProcRequest) returns (ParseVagrantfileResponse);
|
|
rpc ParseVagrantfileSubvm(ParseVagrantfileSubvmRequest) returns (ParseVagrantfileResponse);
|
|
rpc ParseVagrantfileProvider(ParseVagrantfileProviderRequest) returns (ParseVagrantfileResponse);
|
|
}
|
|
|
|
/********************************************************************
|
|
* Plugins
|
|
********************************************************************/
|
|
|
|
message GetPluginsResponse {
|
|
repeated Plugin plugins = 1;
|
|
}
|
|
|
|
message Plugin {
|
|
// name of the plugin
|
|
string name = 1;
|
|
|
|
// type of the plugin
|
|
Type type = 2;
|
|
|
|
// options for the plugin
|
|
google.protobuf.Any options = 3;
|
|
|
|
// Supported plugin types, the values here MUST match the enum values
|
|
// in the Go sdk/component package exactly. A test in internal/server
|
|
// validates this.
|
|
enum Type {
|
|
UNKNOWN = 0;
|
|
COMMAND = 1;
|
|
COMMUNICATOR = 2;
|
|
GUEST = 3;
|
|
HOST = 4;
|
|
PROVIDER = 5;
|
|
PROVISIONER = 6;
|
|
SYNCEDFOLDER = 7;
|
|
AUTHENTICATOR = 8;
|
|
LOGPLATFORM = 9;
|
|
LOGVIEWER = 10;
|
|
MAPPER = 11;
|
|
CONFIG = 12;
|
|
PLUGININFO = 13;
|
|
PUSH = 14;
|
|
}
|
|
}
|
|
|
|
/********************************************************************
|
|
* Vagrantfile
|
|
********************************************************************/
|
|
|
|
message ParseVagrantfileRequest {
|
|
// Path to the Vagrantfile
|
|
string path = 1;
|
|
}
|
|
|
|
message ParseVagrantfileProcRequest {
|
|
sdk.Args.ProcRef proc = 1;
|
|
}
|
|
|
|
message ParseVagrantfileResponse {
|
|
// Vagrantfile representation
|
|
sdk.Args.Hash data = 1;
|
|
}
|
|
|
|
message ParseVagrantfileSubvmRequest {
|
|
sdk.Config.RawRubyValue subvm = 1;
|
|
}
|
|
|
|
message ParseVagrantfileProviderRequest {
|
|
sdk.Config.RawRubyValue subvm = 1;
|
|
string provider = 2;
|
|
}
|