diff --git a/gen.go b/gen.go index 76a7c4a4c..2d1cd5eff 100644 --- a/gen.go +++ b/gen.go @@ -8,7 +8,7 @@ package main //go:generate sh -c "protoc -I`go list -m -f \"{{.Dir}}\" github.com/mitchellh/protostructure` -I`go list -m -f \"{{.Dir}}\" github.com/hashicorp/vagrant-plugin-sdk`/proto/vagrant_plugin_sdk -I./vendor/proto/api-common-protos -I./internal/server --go-grpc_out=require_unimplemented_servers=false:./internal/server/proto/vagrant_server --go-grpc_opt=module=github.com/hashicorp/vagrant/internal/server/proto/vagrant_server --go_out=./internal/server/proto/vagrant_server --go_opt=module=github.com/hashicorp/vagrant/internal/server/proto/vagrant_server internal/server/proto/vagrant_server/*.proto" // Builds the Ruby Vagrant Go GRPC for legacy Vagrant interactions -//go:generate sh -c "protoc -I./vendor/proto/api-common-protos -I./internal/server --go-grpc_out=./internal/server/proto/ruby_vagrant --go-grpc_opt=module=github.com/hashicorp/vagrant/internal/server/proto/ruby_vagrant --go_out=./internal/server/proto/ruby_vagrant --go_opt=module=github.com/hashicorp/vagrant/internal/server/proto/ruby_vagrant internal/server/proto/ruby_vagrant/*.proto" +//go:generate sh -c "protoc -I./vendor/proto/api-common-protos -I./internal/server -I`go list -m -f \"{{.Dir}}\" github.com/mitchellh/protostructure` -I`go list -m -f \"{{.Dir}}\" github.com/hashicorp/vagrant-plugin-sdk`/proto/vagrant_plugin_sdk --go-grpc_out=./internal/server/proto/ruby_vagrant --go-grpc_opt=module=github.com/hashicorp/vagrant/internal/server/proto/ruby_vagrant --go_out=./internal/server/proto/ruby_vagrant --go_opt=module=github.com/hashicorp/vagrant/internal/server/proto/ruby_vagrant internal/server/proto/ruby_vagrant/*.proto" // Builds the Ruby GRPC for the Vagrant server and Ruby Vagrant interactions //go:generate sh -c "grpc_tools_ruby_protoc -I`go list -m -f \"{{.Dir}}\" github.com/mitchellh/protostructure` -I`go list -m -f \"{{.Dir}}\" github.com/hashicorp/vagrant-plugin-sdk`/proto/vagrant_plugin_sdk -I./vendor/proto/api-common-protos -I./internal/server --grpc_out=./lib/vagrant/protobufs/ --ruby_out=./lib/vagrant/protobufs/ internal/server/proto/vagrant_server/*.proto internal/server/proto/ruby_vagrant/*.proto" diff --git a/internal/server/proto/ruby_vagrant/ruby-server.pb.go b/internal/server/proto/ruby_vagrant/ruby-server.pb.go index 44897291d..2224bdb43 100644 --- a/internal/server/proto/ruby_vagrant/ruby-server.pb.go +++ b/internal/server/proto/ruby_vagrant/ruby-server.pb.go @@ -8,8 +8,9 @@ package ruby_vagrant import ( proto "github.com/golang/protobuf/proto" - any "github.com/golang/protobuf/ptypes/any" + _ "github.com/golang/protobuf/ptypes/any" empty "github.com/golang/protobuf/ptypes/empty" + vagrant_plugin_sdk "github.com/hashicorp/vagrant-plugin-sdk/proto/vagrant_plugin_sdk" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -249,7 +250,7 @@ type ParseVagrantfileResponse struct { unknownFields protoimpl.UnknownFields // Vagrantfile representation - Vagrantfile *VagrantfileComponents_Vagrantfile `protobuf:"bytes,1,opt,name=vagrantfile,proto3" json:"vagrantfile,omitempty"` + Vagrantfile *vagrant_plugin_sdk.Vagrantfile_Vagrantfile `protobuf:"bytes,1,opt,name=vagrantfile,proto3" json:"vagrantfile,omitempty"` } func (x *ParseVagrantfileResponse) Reset() { @@ -284,1033 +285,13 @@ func (*ParseVagrantfileResponse) Descriptor() ([]byte, []int) { return file_proto_ruby_vagrant_ruby_server_proto_rawDescGZIP(), []int{3} } -func (x *ParseVagrantfileResponse) GetVagrantfile() *VagrantfileComponents_Vagrantfile { +func (x *ParseVagrantfileResponse) GetVagrantfile() *vagrant_plugin_sdk.Vagrantfile_Vagrantfile { if x != nil { return x.Vagrantfile } return nil } -type VagrantfileComponents struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *VagrantfileComponents) Reset() { - *x = VagrantfileComponents{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VagrantfileComponents) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VagrantfileComponents) ProtoMessage() {} - -func (x *VagrantfileComponents) ProtoReflect() protoreflect.Message { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VagrantfileComponents.ProtoReflect.Descriptor instead. -func (*VagrantfileComponents) Descriptor() ([]byte, []int) { - return file_proto_ruby_vagrant_ruby_server_proto_rawDescGZIP(), []int{4} -} - -type VagrantfileComponents_ConfigVM struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AllowedSyncedFolderTypes []string `protobuf:"bytes,1,rep,name=allowed_synced_folder_types,json=allowedSyncedFolderTypes,proto3" json:"allowed_synced_folder_types,omitempty"` - AllowFstabModification bool `protobuf:"varint,2,opt,name=allow_fstab_modification,json=allowFstabModification,proto3" json:"allow_fstab_modification,omitempty"` - AllowHostsModificaion bool `protobuf:"varint,3,opt,name=allow_hosts_modificaion,json=allowHostsModificaion,proto3" json:"allow_hosts_modificaion,omitempty"` - BaseMac string `protobuf:"bytes,4,opt,name=base_mac,json=baseMac,proto3" json:"base_mac,omitempty"` - BaseAddress string `protobuf:"bytes,5,opt,name=base_address,json=baseAddress,proto3" json:"base_address,omitempty"` - BootTimeout int32 `protobuf:"varint,6,opt,name=boot_timeout,json=bootTimeout,proto3" json:"boot_timeout,omitempty"` - Box string `protobuf:"bytes,7,opt,name=box,proto3" json:"box,omitempty"` - IgnoreBoxVagrantfile bool `protobuf:"varint,8,opt,name=ignore_box_vagrantfile,json=ignoreBoxVagrantfile,proto3" json:"ignore_box_vagrantfile,omitempty"` - BoxCheckUpdate bool `protobuf:"varint,9,opt,name=box_check_update,json=boxCheckUpdate,proto3" json:"box_check_update,omitempty"` - BoxUrl []string `protobuf:"bytes,10,rep,name=box_url,json=boxUrl,proto3" json:"box_url,omitempty"` - BoxServerUrl string `protobuf:"bytes,11,opt,name=box_server_url,json=boxServerUrl,proto3" json:"box_server_url,omitempty"` - BoxVersion string `protobuf:"bytes,12,opt,name=box_version,json=boxVersion,proto3" json:"box_version,omitempty"` - BoxDownloadCaCert string `protobuf:"bytes,13,opt,name=box_download_ca_cert,json=boxDownloadCaCert,proto3" json:"box_download_ca_cert,omitempty"` - BoxDownloadCaPath string `protobuf:"bytes,14,opt,name=box_download_ca_path,json=boxDownloadCaPath,proto3" json:"box_download_ca_path,omitempty"` - BoxDownloadChecksum string `protobuf:"bytes,15,opt,name=box_download_checksum,json=boxDownloadChecksum,proto3" json:"box_download_checksum,omitempty"` - BoxDownloadChecksumType string `protobuf:"bytes,16,opt,name=box_download_checksum_type,json=boxDownloadChecksumType,proto3" json:"box_download_checksum_type,omitempty"` - BoxDownloadClientCert string `protobuf:"bytes,17,opt,name=box_download_client_cert,json=boxDownloadClientCert,proto3" json:"box_download_client_cert,omitempty"` - BoxDownloadInsecure bool `protobuf:"varint,18,opt,name=box_download_insecure,json=boxDownloadInsecure,proto3" json:"box_download_insecure,omitempty"` - BoxDownloadLocationTrusted bool `protobuf:"varint,19,opt,name=box_download_location_trusted,json=boxDownloadLocationTrusted,proto3" json:"box_download_location_trusted,omitempty"` - BoxDownloadOptions map[string]string `protobuf:"bytes,20,rep,name=box_download_options,json=boxDownloadOptions,proto3" json:"box_download_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Communicator string `protobuf:"bytes,21,opt,name=communicator,proto3" json:"communicator,omitempty"` - GracefulHaltTimeout int32 `protobuf:"varint,22,opt,name=graceful_halt_timeout,json=gracefulHaltTimeout,proto3" json:"graceful_halt_timeout,omitempty"` - Guest string `protobuf:"bytes,23,opt,name=guest,proto3" json:"guest,omitempty"` - Hostname string `protobuf:"bytes,24,opt,name=hostname,proto3" json:"hostname,omitempty"` - PostUpMessage string `protobuf:"bytes,25,opt,name=post_up_message,json=postUpMessage,proto3" json:"post_up_message,omitempty"` - UsablePortRange []int32 `protobuf:"varint,26,rep,packed,name=usable_port_range,json=usablePortRange,proto3" json:"usable_port_range,omitempty"` - BoxExtraDownloadOptions []string `protobuf:"bytes,27,rep,name=box_extra_download_options,json=boxExtraDownloadOptions,proto3" json:"box_extra_download_options,omitempty"` - // TODO: CloudInit = 4 (Experimental) - Providers []*VagrantfileComponents_Provider `protobuf:"bytes,29,rep,name=providers,proto3" json:"providers,omitempty"` - // TODO: Disks = 6 (Experimental) - Networks []*VagrantfileComponents_Network `protobuf:"bytes,31,rep,name=networks,proto3" json:"networks,omitempty"` - Provisioners []*VagrantfileComponents_Provisioner `protobuf:"bytes,32,rep,name=provisioners,proto3" json:"provisioners,omitempty"` - SyncedFolders []*VagrantfileComponents_SyncedFolder `protobuf:"bytes,33,rep,name=synced_folders,json=syncedFolders,proto3" json:"synced_folders,omitempty"` -} - -func (x *VagrantfileComponents_ConfigVM) Reset() { - *x = VagrantfileComponents_ConfigVM{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VagrantfileComponents_ConfigVM) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VagrantfileComponents_ConfigVM) ProtoMessage() {} - -func (x *VagrantfileComponents_ConfigVM) ProtoReflect() protoreflect.Message { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VagrantfileComponents_ConfigVM.ProtoReflect.Descriptor instead. -func (*VagrantfileComponents_ConfigVM) Descriptor() ([]byte, []int) { - return file_proto_ruby_vagrant_ruby_server_proto_rawDescGZIP(), []int{4, 0} -} - -func (x *VagrantfileComponents_ConfigVM) GetAllowedSyncedFolderTypes() []string { - if x != nil { - return x.AllowedSyncedFolderTypes - } - return nil -} - -func (x *VagrantfileComponents_ConfigVM) GetAllowFstabModification() bool { - if x != nil { - return x.AllowFstabModification - } - return false -} - -func (x *VagrantfileComponents_ConfigVM) GetAllowHostsModificaion() bool { - if x != nil { - return x.AllowHostsModificaion - } - return false -} - -func (x *VagrantfileComponents_ConfigVM) GetBaseMac() string { - if x != nil { - return x.BaseMac - } - return "" -} - -func (x *VagrantfileComponents_ConfigVM) GetBaseAddress() string { - if x != nil { - return x.BaseAddress - } - return "" -} - -func (x *VagrantfileComponents_ConfigVM) GetBootTimeout() int32 { - if x != nil { - return x.BootTimeout - } - return 0 -} - -func (x *VagrantfileComponents_ConfigVM) GetBox() string { - if x != nil { - return x.Box - } - return "" -} - -func (x *VagrantfileComponents_ConfigVM) GetIgnoreBoxVagrantfile() bool { - if x != nil { - return x.IgnoreBoxVagrantfile - } - return false -} - -func (x *VagrantfileComponents_ConfigVM) GetBoxCheckUpdate() bool { - if x != nil { - return x.BoxCheckUpdate - } - return false -} - -func (x *VagrantfileComponents_ConfigVM) GetBoxUrl() []string { - if x != nil { - return x.BoxUrl - } - return nil -} - -func (x *VagrantfileComponents_ConfigVM) GetBoxServerUrl() string { - if x != nil { - return x.BoxServerUrl - } - return "" -} - -func (x *VagrantfileComponents_ConfigVM) GetBoxVersion() string { - if x != nil { - return x.BoxVersion - } - return "" -} - -func (x *VagrantfileComponents_ConfigVM) GetBoxDownloadCaCert() string { - if x != nil { - return x.BoxDownloadCaCert - } - return "" -} - -func (x *VagrantfileComponents_ConfigVM) GetBoxDownloadCaPath() string { - if x != nil { - return x.BoxDownloadCaPath - } - return "" -} - -func (x *VagrantfileComponents_ConfigVM) GetBoxDownloadChecksum() string { - if x != nil { - return x.BoxDownloadChecksum - } - return "" -} - -func (x *VagrantfileComponents_ConfigVM) GetBoxDownloadChecksumType() string { - if x != nil { - return x.BoxDownloadChecksumType - } - return "" -} - -func (x *VagrantfileComponents_ConfigVM) GetBoxDownloadClientCert() string { - if x != nil { - return x.BoxDownloadClientCert - } - return "" -} - -func (x *VagrantfileComponents_ConfigVM) GetBoxDownloadInsecure() bool { - if x != nil { - return x.BoxDownloadInsecure - } - return false -} - -func (x *VagrantfileComponents_ConfigVM) GetBoxDownloadLocationTrusted() bool { - if x != nil { - return x.BoxDownloadLocationTrusted - } - return false -} - -func (x *VagrantfileComponents_ConfigVM) GetBoxDownloadOptions() map[string]string { - if x != nil { - return x.BoxDownloadOptions - } - return nil -} - -func (x *VagrantfileComponents_ConfigVM) GetCommunicator() string { - if x != nil { - return x.Communicator - } - return "" -} - -func (x *VagrantfileComponents_ConfigVM) GetGracefulHaltTimeout() int32 { - if x != nil { - return x.GracefulHaltTimeout - } - return 0 -} - -func (x *VagrantfileComponents_ConfigVM) GetGuest() string { - if x != nil { - return x.Guest - } - return "" -} - -func (x *VagrantfileComponents_ConfigVM) GetHostname() string { - if x != nil { - return x.Hostname - } - return "" -} - -func (x *VagrantfileComponents_ConfigVM) GetPostUpMessage() string { - if x != nil { - return x.PostUpMessage - } - return "" -} - -func (x *VagrantfileComponents_ConfigVM) GetUsablePortRange() []int32 { - if x != nil { - return x.UsablePortRange - } - return nil -} - -func (x *VagrantfileComponents_ConfigVM) GetBoxExtraDownloadOptions() []string { - if x != nil { - return x.BoxExtraDownloadOptions - } - return nil -} - -func (x *VagrantfileComponents_ConfigVM) GetProviders() []*VagrantfileComponents_Provider { - if x != nil { - return x.Providers - } - return nil -} - -func (x *VagrantfileComponents_ConfigVM) GetNetworks() []*VagrantfileComponents_Network { - if x != nil { - return x.Networks - } - return nil -} - -func (x *VagrantfileComponents_ConfigVM) GetProvisioners() []*VagrantfileComponents_Provisioner { - if x != nil { - return x.Provisioners - } - return nil -} - -func (x *VagrantfileComponents_ConfigVM) GetSyncedFolders() []*VagrantfileComponents_SyncedFolder { - if x != nil { - return x.SyncedFolders - } - return nil -} - -type VagrantfileComponents_ConfigSSH struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Config *any.Any `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` -} - -func (x *VagrantfileComponents_ConfigSSH) Reset() { - *x = VagrantfileComponents_ConfigSSH{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VagrantfileComponents_ConfigSSH) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VagrantfileComponents_ConfigSSH) ProtoMessage() {} - -func (x *VagrantfileComponents_ConfigSSH) ProtoReflect() protoreflect.Message { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VagrantfileComponents_ConfigSSH.ProtoReflect.Descriptor instead. -func (*VagrantfileComponents_ConfigSSH) Descriptor() ([]byte, []int) { - return file_proto_ruby_vagrant_ruby_server_proto_rawDescGZIP(), []int{4, 1} -} - -func (x *VagrantfileComponents_ConfigSSH) GetConfig() *any.Any { - if x != nil { - return x.Config - } - return nil -} - -type VagrantfileComponents_ConfigWinRM struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Config *any.Any `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` -} - -func (x *VagrantfileComponents_ConfigWinRM) Reset() { - *x = VagrantfileComponents_ConfigWinRM{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VagrantfileComponents_ConfigWinRM) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VagrantfileComponents_ConfigWinRM) ProtoMessage() {} - -func (x *VagrantfileComponents_ConfigWinRM) ProtoReflect() protoreflect.Message { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VagrantfileComponents_ConfigWinRM.ProtoReflect.Descriptor instead. -func (*VagrantfileComponents_ConfigWinRM) Descriptor() ([]byte, []int) { - return file_proto_ruby_vagrant_ruby_server_proto_rawDescGZIP(), []int{4, 2} -} - -func (x *VagrantfileComponents_ConfigWinRM) GetConfig() *any.Any { - if x != nil { - return x.Config - } - return nil -} - -type VagrantfileComponents_ConfigWinssh struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Config *any.Any `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` -} - -func (x *VagrantfileComponents_ConfigWinssh) Reset() { - *x = VagrantfileComponents_ConfigWinssh{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VagrantfileComponents_ConfigWinssh) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VagrantfileComponents_ConfigWinssh) ProtoMessage() {} - -func (x *VagrantfileComponents_ConfigWinssh) ProtoReflect() protoreflect.Message { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VagrantfileComponents_ConfigWinssh.ProtoReflect.Descriptor instead. -func (*VagrantfileComponents_ConfigWinssh) Descriptor() ([]byte, []int) { - return file_proto_ruby_vagrant_ruby_server_proto_rawDescGZIP(), []int{4, 3} -} - -func (x *VagrantfileComponents_ConfigWinssh) GetConfig() *any.Any { - if x != nil { - return x.Config - } - return nil -} - -type VagrantfileComponents_ConfigVagrant struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` - // TODO: plugins can be a string, a hash or array - Plugins []string `protobuf:"bytes,2,rep,name=plugins,proto3" json:"plugins,omitempty"` - Sensitive []string `protobuf:"bytes,3,rep,name=sensitive,proto3" json:"sensitive,omitempty"` -} - -func (x *VagrantfileComponents_ConfigVagrant) Reset() { - *x = VagrantfileComponents_ConfigVagrant{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VagrantfileComponents_ConfigVagrant) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VagrantfileComponents_ConfigVagrant) ProtoMessage() {} - -func (x *VagrantfileComponents_ConfigVagrant) ProtoReflect() protoreflect.Message { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VagrantfileComponents_ConfigVagrant.ProtoReflect.Descriptor instead. -func (*VagrantfileComponents_ConfigVagrant) Descriptor() ([]byte, []int) { - return file_proto_ruby_vagrant_ruby_server_proto_rawDescGZIP(), []int{4, 4} -} - -func (x *VagrantfileComponents_ConfigVagrant) GetHost() string { - if x != nil { - return x.Host - } - return "" -} - -func (x *VagrantfileComponents_ConfigVagrant) GetPlugins() []string { - if x != nil { - return x.Plugins - } - return nil -} - -func (x *VagrantfileComponents_ConfigVagrant) GetSensitive() []string { - if x != nil { - return x.Sensitive - } - return nil -} - -// TODO: Review what needs to be sent here -type VagrantfileComponents_MachineConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - ConfigVm *VagrantfileComponents_ConfigVM `protobuf:"bytes,2,opt,name=config_vm,json=configVm,proto3" json:"config_vm,omitempty"` - ConfigSsh *VagrantfileComponents_ConfigSSH `protobuf:"bytes,3,opt,name=config_ssh,json=configSsh,proto3" json:"config_ssh,omitempty"` - ConfigWinrm *VagrantfileComponents_ConfigWinRM `protobuf:"bytes,4,opt,name=config_winrm,json=configWinrm,proto3" json:"config_winrm,omitempty"` - ConfigWinssh *VagrantfileComponents_ConfigWinssh `protobuf:"bytes,5,opt,name=config_winssh,json=configWinssh,proto3" json:"config_winssh,omitempty"` - ConfigVagrant *VagrantfileComponents_ConfigVagrant `protobuf:"bytes,6,opt,name=config_vagrant,json=configVagrant,proto3" json:"config_vagrant,omitempty"` -} - -func (x *VagrantfileComponents_MachineConfig) Reset() { - *x = VagrantfileComponents_MachineConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VagrantfileComponents_MachineConfig) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VagrantfileComponents_MachineConfig) ProtoMessage() {} - -func (x *VagrantfileComponents_MachineConfig) ProtoReflect() protoreflect.Message { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VagrantfileComponents_MachineConfig.ProtoReflect.Descriptor instead. -func (*VagrantfileComponents_MachineConfig) Descriptor() ([]byte, []int) { - return file_proto_ruby_vagrant_ruby_server_proto_rawDescGZIP(), []int{4, 5} -} - -func (x *VagrantfileComponents_MachineConfig) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *VagrantfileComponents_MachineConfig) GetConfigVm() *VagrantfileComponents_ConfigVM { - if x != nil { - return x.ConfigVm - } - return nil -} - -func (x *VagrantfileComponents_MachineConfig) GetConfigSsh() *VagrantfileComponents_ConfigSSH { - if x != nil { - return x.ConfigSsh - } - return nil -} - -func (x *VagrantfileComponents_MachineConfig) GetConfigWinrm() *VagrantfileComponents_ConfigWinRM { - if x != nil { - return x.ConfigWinrm - } - return nil -} - -func (x *VagrantfileComponents_MachineConfig) GetConfigWinssh() *VagrantfileComponents_ConfigWinssh { - if x != nil { - return x.ConfigWinssh - } - return nil -} - -func (x *VagrantfileComponents_MachineConfig) GetConfigVagrant() *VagrantfileComponents_ConfigVagrant { - if x != nil { - return x.ConfigVagrant - } - return nil -} - -type VagrantfileComponents_Provisioner struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` - Before string `protobuf:"bytes,3,opt,name=before,proto3" json:"before,omitempty"` - After string `protobuf:"bytes,4,opt,name=after,proto3" json:"after,omitempty"` - CommunicatorRequired bool `protobuf:"varint,5,opt,name=communicator_required,json=communicatorRequired,proto3" json:"communicator_required,omitempty"` - // A Provisioner plugin defines it's own configuration, - // that gets added in here - Config *any.Any `protobuf:"bytes,6,opt,name=config,proto3" json:"config,omitempty"` -} - -func (x *VagrantfileComponents_Provisioner) Reset() { - *x = VagrantfileComponents_Provisioner{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VagrantfileComponents_Provisioner) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VagrantfileComponents_Provisioner) ProtoMessage() {} - -func (x *VagrantfileComponents_Provisioner) ProtoReflect() protoreflect.Message { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VagrantfileComponents_Provisioner.ProtoReflect.Descriptor instead. -func (*VagrantfileComponents_Provisioner) Descriptor() ([]byte, []int) { - return file_proto_ruby_vagrant_ruby_server_proto_rawDescGZIP(), []int{4, 6} -} - -func (x *VagrantfileComponents_Provisioner) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *VagrantfileComponents_Provisioner) GetType() string { - if x != nil { - return x.Type - } - return "" -} - -func (x *VagrantfileComponents_Provisioner) GetBefore() string { - if x != nil { - return x.Before - } - return "" -} - -func (x *VagrantfileComponents_Provisioner) GetAfter() string { - if x != nil { - return x.After - } - return "" -} - -func (x *VagrantfileComponents_Provisioner) GetCommunicatorRequired() bool { - if x != nil { - return x.CommunicatorRequired - } - return false -} - -func (x *VagrantfileComponents_Provisioner) GetConfig() *any.Any { - if x != nil { - return x.Config - } - return nil -} - -type VagrantfileComponents_Provider struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` - Config *any.Any `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` -} - -func (x *VagrantfileComponents_Provider) Reset() { - *x = VagrantfileComponents_Provider{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VagrantfileComponents_Provider) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VagrantfileComponents_Provider) ProtoMessage() {} - -func (x *VagrantfileComponents_Provider) ProtoReflect() protoreflect.Message { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VagrantfileComponents_Provider.ProtoReflect.Descriptor instead. -func (*VagrantfileComponents_Provider) Descriptor() ([]byte, []int) { - return file_proto_ruby_vagrant_ruby_server_proto_rawDescGZIP(), []int{4, 7} -} - -func (x *VagrantfileComponents_Provider) GetType() string { - if x != nil { - return x.Type - } - return "" -} - -func (x *VagrantfileComponents_Provider) GetConfig() *any.Any { - if x != nil { - return x.Config - } - return nil -} - -type VagrantfileComponents_Network struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` - Config *any.Any `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"` -} - -func (x *VagrantfileComponents_Network) Reset() { - *x = VagrantfileComponents_Network{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VagrantfileComponents_Network) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VagrantfileComponents_Network) ProtoMessage() {} - -func (x *VagrantfileComponents_Network) ProtoReflect() protoreflect.Message { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VagrantfileComponents_Network.ProtoReflect.Descriptor instead. -func (*VagrantfileComponents_Network) Descriptor() ([]byte, []int) { - return file_proto_ruby_vagrant_ruby_server_proto_rawDescGZIP(), []int{4, 8} -} - -func (x *VagrantfileComponents_Network) GetType() string { - if x != nil { - return x.Type - } - return "" -} - -func (x *VagrantfileComponents_Network) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *VagrantfileComponents_Network) GetConfig() *any.Any { - if x != nil { - return x.Config - } - return nil -} - -type VagrantfileComponents_SyncedFolder struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` - Destination string `protobuf:"bytes,2,opt,name=destination,proto3" json:"destination,omitempty"` - // A SyncedFolder plugin defines it's own configuration, - // that gets added in here - Config *any.Any `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"` - Create bool `protobuf:"varint,4,opt,name=create,proto3" json:"create,omitempty"` - Disabled bool `protobuf:"varint,5,opt,name=disabled,proto3" json:"disabled,omitempty"` - Group string `protobuf:"bytes,6,opt,name=group,proto3" json:"group,omitempty"` - Id string `protobuf:"bytes,7,opt,name=id,proto3" json:"id,omitempty"` - MountOptions []string `protobuf:"bytes,8,rep,name=mount_options,json=mountOptions,proto3" json:"mount_options,omitempty"` - Owner string `protobuf:"bytes,9,opt,name=owner,proto3" json:"owner,omitempty"` - Type string `protobuf:"bytes,10,opt,name=type,proto3" json:"type,omitempty"` -} - -func (x *VagrantfileComponents_SyncedFolder) Reset() { - *x = VagrantfileComponents_SyncedFolder{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VagrantfileComponents_SyncedFolder) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VagrantfileComponents_SyncedFolder) ProtoMessage() {} - -func (x *VagrantfileComponents_SyncedFolder) ProtoReflect() protoreflect.Message { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VagrantfileComponents_SyncedFolder.ProtoReflect.Descriptor instead. -func (*VagrantfileComponents_SyncedFolder) Descriptor() ([]byte, []int) { - return file_proto_ruby_vagrant_ruby_server_proto_rawDescGZIP(), []int{4, 9} -} - -func (x *VagrantfileComponents_SyncedFolder) GetSource() string { - if x != nil { - return x.Source - } - return "" -} - -func (x *VagrantfileComponents_SyncedFolder) GetDestination() string { - if x != nil { - return x.Destination - } - return "" -} - -func (x *VagrantfileComponents_SyncedFolder) GetConfig() *any.Any { - if x != nil { - return x.Config - } - return nil -} - -func (x *VagrantfileComponents_SyncedFolder) GetCreate() bool { - if x != nil { - return x.Create - } - return false -} - -func (x *VagrantfileComponents_SyncedFolder) GetDisabled() bool { - if x != nil { - return x.Disabled - } - return false -} - -func (x *VagrantfileComponents_SyncedFolder) GetGroup() string { - if x != nil { - return x.Group - } - return "" -} - -func (x *VagrantfileComponents_SyncedFolder) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *VagrantfileComponents_SyncedFolder) GetMountOptions() []string { - if x != nil { - return x.MountOptions - } - return nil -} - -func (x *VagrantfileComponents_SyncedFolder) GetOwner() string { - if x != nil { - return x.Owner - } - return "" -} - -func (x *VagrantfileComponents_SyncedFolder) GetType() string { - if x != nil { - return x.Type - } - return "" -} - -// TODO: Review what needs to be sent here -type VagrantfileComponents_Vagrantfile struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` - Raw string `protobuf:"bytes,2,opt,name=raw,proto3" json:"raw,omitempty"` - CurrentVersion string `protobuf:"bytes,3,opt,name=current_version,json=currentVersion,proto3" json:"current_version,omitempty"` - MachineConfigs []*VagrantfileComponents_MachineConfig `protobuf:"bytes,4,rep,name=machine_configs,json=machineConfigs,proto3" json:"machine_configs,omitempty"` -} - -func (x *VagrantfileComponents_Vagrantfile) Reset() { - *x = VagrantfileComponents_Vagrantfile{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VagrantfileComponents_Vagrantfile) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VagrantfileComponents_Vagrantfile) ProtoMessage() {} - -func (x *VagrantfileComponents_Vagrantfile) ProtoReflect() protoreflect.Message { - mi := &file_proto_ruby_vagrant_ruby_server_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VagrantfileComponents_Vagrantfile.ProtoReflect.Descriptor instead. -func (*VagrantfileComponents_Vagrantfile) Descriptor() ([]byte, []int) { - return file_proto_ruby_vagrant_ruby_server_proto_rawDescGZIP(), []int{4, 10} -} - -func (x *VagrantfileComponents_Vagrantfile) GetPath() string { - if x != nil { - return x.Path - } - return "" -} - -func (x *VagrantfileComponents_Vagrantfile) GetRaw() string { - if x != nil { - return x.Raw - } - return "" -} - -func (x *VagrantfileComponents_Vagrantfile) GetCurrentVersion() string { - if x != nil { - return x.CurrentVersion - } - return "" -} - -func (x *VagrantfileComponents_Vagrantfile) GetMachineConfigs() []*VagrantfileComponents_MachineConfig { - if x != nil { - return x.MachineConfigs - } - return nil -} - var File_proto_ruby_vagrant_ruby_server_proto protoreflect.FileDescriptor var file_proto_ruby_vagrant_ruby_server_proto_rawDesc = []byte{ @@ -1321,259 +302,51 @@ var file_proto_ruby_vagrant_ruby_server_proto_rawDesc = []byte{ 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0x49, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x70, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x52, 0x07, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x22, 0xbe, 0x01, 0x0a, - 0x06, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x6c, - 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, - 0x6c, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4d, 0x4d, 0x41, - 0x4e, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x43, - 0x41, 0x54, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x55, 0x45, 0x53, 0x54, 0x10, - 0x02, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x4f, 0x53, 0x54, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x50, - 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x52, 0x4f, - 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x45, 0x52, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x59, - 0x4e, 0x43, 0x45, 0x44, 0x5f, 0x46, 0x4f, 0x4c, 0x44, 0x45, 0x52, 0x10, 0x06, 0x22, 0x2d, 0x0a, - 0x17, 0x50, 0x61, 0x72, 0x73, 0x65, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x72, 0x0a, 0x18, - 0x50, 0x61, 0x72, 0x73, 0x65, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0b, 0x76, 0x61, 0x67, 0x72, - 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, - 0x74, 0x2e, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6d, - 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, - 0x69, 0x6c, 0x65, 0x52, 0x0b, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, - 0x22, 0x87, 0x1a, 0x0a, 0x15, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, - 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0xa7, 0x0d, 0x0a, 0x08, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x4d, 0x12, 0x3d, 0x0a, 0x1b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, - 0x65, 0x64, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x18, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x53, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x46, 0x6f, 0x6c, 0x64, 0x65, - 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, - 0x66, 0x73, 0x74, 0x61, 0x62, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x46, - 0x73, 0x74, 0x61, 0x62, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x36, 0x0a, 0x17, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x5f, - 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x4d, 0x6f, 0x64, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x61, 0x73, 0x65, - 0x5f, 0x6d, 0x61, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x73, 0x65, - 0x4d, 0x61, 0x63, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x61, 0x73, 0x65, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x62, 0x6f, - 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x6f, 0x78, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x6f, 0x78, 0x12, 0x34, 0x0a, 0x16, 0x69, - 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x62, 0x6f, 0x78, 0x5f, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, - 0x74, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x67, 0x6e, - 0x6f, 0x72, 0x65, 0x42, 0x6f, 0x78, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, - 0x65, 0x12, 0x28, 0x0a, 0x10, 0x62, 0x6f, 0x78, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x62, 0x6f, 0x78, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x62, - 0x6f, 0x78, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x62, 0x6f, - 0x78, 0x55, 0x72, 0x6c, 0x12, 0x24, 0x0a, 0x0e, 0x62, 0x6f, 0x78, 0x5f, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x6f, - 0x78, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x6f, - 0x78, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x62, 0x6f, 0x78, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x14, 0x62, - 0x6f, 0x78, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x61, 0x5f, 0x63, - 0x65, 0x72, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x6f, 0x78, 0x44, 0x6f, - 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x43, 0x65, 0x72, 0x74, 0x12, 0x2f, 0x0a, 0x14, - 0x62, 0x6f, 0x78, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x61, 0x5f, - 0x70, 0x61, 0x74, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x6f, 0x78, 0x44, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x50, 0x61, 0x74, 0x68, 0x12, 0x32, 0x0a, - 0x15, 0x62, 0x6f, 0x78, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x62, 0x6f, - 0x78, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, - 0x6d, 0x12, 0x3b, 0x0a, 0x1a, 0x62, 0x6f, 0x78, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x62, 0x6f, 0x78, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, - 0x0a, 0x18, 0x62, 0x6f, 0x78, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x15, 0x62, 0x6f, 0x78, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x62, 0x6f, 0x78, 0x5f, 0x64, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x62, 0x6f, 0x78, 0x44, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x12, 0x41, 0x0a, 0x1d, 0x62, - 0x6f, 0x78, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x13, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x1a, 0x62, 0x6f, 0x78, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, 0x7b, - 0x0a, 0x14, 0x62, 0x6f, 0x78, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, - 0x2e, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, - 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x4d, 0x2e, - 0x42, 0x6f, 0x78, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x62, 0x6f, 0x78, 0x44, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, - 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x32, 0x0a, 0x15, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x68, 0x61, 0x6c, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, - 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x48, 0x61, 0x6c, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x6f, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x75, 0x65, 0x73, 0x74, 0x18, 0x17, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x67, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, - 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, - 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x70, - 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x70, 0x6f, 0x73, 0x74, 0x55, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, - 0x11, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x50, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x62, 0x6f, 0x78, - 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x62, - 0x6f, 0x78, 0x45, 0x78, 0x74, 0x72, 0x61, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4f, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x73, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x61, - 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, - 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x09, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x4c, 0x0a, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x61, - 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, - 0x6e, 0x74, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x08, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x58, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, - 0x6f, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x68, 0x61, + 0x6f, 0x1a, 0x0c, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0x49, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x52, 0x07, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x06, 0x50, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x6c, 0x0a, + 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4d, 0x4d, 0x41, 0x4e, 0x44, + 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x43, 0x41, 0x54, + 0x4f, 0x52, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x55, 0x45, 0x53, 0x54, 0x10, 0x02, 0x12, + 0x08, 0x0a, 0x04, 0x48, 0x4f, 0x53, 0x54, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x52, 0x4f, + 0x56, 0x49, 0x44, 0x45, 0x52, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x52, 0x4f, 0x56, 0x49, + 0x53, 0x49, 0x4f, 0x4e, 0x45, 0x52, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x59, 0x4e, 0x43, + 0x45, 0x44, 0x5f, 0x46, 0x4f, 0x4c, 0x44, 0x45, 0x52, 0x10, 0x06, 0x22, 0x2d, 0x0a, 0x17, 0x50, + 0x61, 0x72, 0x73, 0x65, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x6c, 0x0a, 0x18, 0x50, 0x61, + 0x72, 0x73, 0x65, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, + 0x74, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, - 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, - 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, - 0x72, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x73, 0x12, - 0x5c, 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, - 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x67, 0x72, - 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, - 0x73, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x0d, - 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x45, 0x0a, - 0x17, 0x42, 0x6f, 0x78, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x53, - 0x48, 0x12, 0x2c, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, - 0x3b, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x57, 0x69, 0x6e, 0x52, 0x4d, 0x12, 0x2c, - 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x3c, 0x0a, 0x0c, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x57, 0x69, 0x6e, 0x73, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x06, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, - 0x6e, 0x79, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x5b, 0x0a, 0x0d, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, - 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, - 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x07, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x6e, - 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, - 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x1a, 0xda, 0x03, 0x0a, 0x0d, 0x4d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4e, 0x0a, - 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x31, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, - 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x56, 0x4d, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x6d, 0x12, 0x51, 0x0a, - 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x32, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, - 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, - 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x53, 0x53, 0x48, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x73, 0x68, - 0x12, 0x57, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x77, 0x69, 0x6e, 0x72, 0x6d, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x67, 0x72, 0x61, - 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, - 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x57, 0x69, 0x6e, 0x52, 0x4d, 0x52, 0x0b, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x57, 0x69, 0x6e, 0x72, 0x6d, 0x12, 0x5a, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x5f, 0x77, 0x69, 0x6e, 0x73, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x35, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, - 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x57, 0x69, 0x6e, 0x73, 0x73, 0x68, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x57, - 0x69, 0x6e, 0x73, 0x73, 0x68, 0x12, 0x5d, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, - 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, - 0x74, 0x2e, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6d, - 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, - 0x67, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x1a, 0xc6, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, - 0x6f, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x65, - 0x66, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x15, 0x63, 0x6f, - 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x75, - 0x6e, 0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, - 0x2c, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x4c, 0x0a, - 0x08, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, - 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x41, 0x6e, 0x79, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x5b, 0x0a, 0x07, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, - 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x9f, 0x02, 0x0a, 0x0c, 0x53, 0x79, 0x6e, - 0x63, 0x65, 0x64, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0xbd, 0x01, 0x0a, 0x0b, 0x56, - 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, - 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x10, - 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x61, 0x77, - 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5f, 0x0a, 0x0f, 0x6d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, - 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, - 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x4d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x6d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x32, 0xc7, 0x01, 0x0a, 0x0b, 0x52, - 0x75, 0x62, 0x79, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x0a, 0x47, 0x65, - 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x1a, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x73, 0x65, - 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, - 0x50, 0x61, 0x72, 0x73, 0x65, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x73, - 0x65, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x41, 0x5a, 0x3f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x76, 0x61, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x75, 0x62, 0x79, 0x5f, - 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x64, 0x6b, 0x2e, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x2e, + 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x0b, 0x76, 0x61, 0x67, + 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x32, 0xc7, 0x01, 0x0a, 0x0b, 0x52, 0x75, 0x62, + 0x79, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x25, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, + 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x73, 0x65, 0x56, 0x61, + 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x61, + 0x72, 0x73, 0x65, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x56, + 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x42, 0x41, 0x5a, 0x3f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x76, 0x61, 0x67, 0x72, 0x61, + 0x6e, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x75, 0x62, 0x79, 0x5f, 0x76, 0x61, + 0x67, 0x72, 0x61, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1589,60 +362,29 @@ func file_proto_ruby_vagrant_ruby_server_proto_rawDescGZIP() []byte { } var file_proto_ruby_vagrant_ruby_server_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_proto_ruby_vagrant_ruby_server_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_proto_ruby_vagrant_ruby_server_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_proto_ruby_vagrant_ruby_server_proto_goTypes = []interface{}{ - (Plugin_Type)(0), // 0: hashicorp.vagrant.Plugin.Type - (*GetPluginsResponse)(nil), // 1: hashicorp.vagrant.GetPluginsResponse - (*Plugin)(nil), // 2: hashicorp.vagrant.Plugin - (*ParseVagrantfileRequest)(nil), // 3: hashicorp.vagrant.ParseVagrantfileRequest - (*ParseVagrantfileResponse)(nil), // 4: hashicorp.vagrant.ParseVagrantfileResponse - (*VagrantfileComponents)(nil), // 5: hashicorp.vagrant.VagrantfileComponents - (*VagrantfileComponents_ConfigVM)(nil), // 6: hashicorp.vagrant.VagrantfileComponents.ConfigVM - (*VagrantfileComponents_ConfigSSH)(nil), // 7: hashicorp.vagrant.VagrantfileComponents.ConfigSSH - (*VagrantfileComponents_ConfigWinRM)(nil), // 8: hashicorp.vagrant.VagrantfileComponents.ConfigWinRM - (*VagrantfileComponents_ConfigWinssh)(nil), // 9: hashicorp.vagrant.VagrantfileComponents.ConfigWinssh - (*VagrantfileComponents_ConfigVagrant)(nil), // 10: hashicorp.vagrant.VagrantfileComponents.ConfigVagrant - (*VagrantfileComponents_MachineConfig)(nil), // 11: hashicorp.vagrant.VagrantfileComponents.MachineConfig - (*VagrantfileComponents_Provisioner)(nil), // 12: hashicorp.vagrant.VagrantfileComponents.Provisioner - (*VagrantfileComponents_Provider)(nil), // 13: hashicorp.vagrant.VagrantfileComponents.Provider - (*VagrantfileComponents_Network)(nil), // 14: hashicorp.vagrant.VagrantfileComponents.Network - (*VagrantfileComponents_SyncedFolder)(nil), // 15: hashicorp.vagrant.VagrantfileComponents.SyncedFolder - (*VagrantfileComponents_Vagrantfile)(nil), // 16: hashicorp.vagrant.VagrantfileComponents.Vagrantfile - nil, // 17: hashicorp.vagrant.VagrantfileComponents.ConfigVM.BoxDownloadOptionsEntry - (*any.Any)(nil), // 18: google.protobuf.Any - (*empty.Empty)(nil), // 19: google.protobuf.Empty + (Plugin_Type)(0), // 0: hashicorp.vagrant.Plugin.Type + (*GetPluginsResponse)(nil), // 1: hashicorp.vagrant.GetPluginsResponse + (*Plugin)(nil), // 2: hashicorp.vagrant.Plugin + (*ParseVagrantfileRequest)(nil), // 3: hashicorp.vagrant.ParseVagrantfileRequest + (*ParseVagrantfileResponse)(nil), // 4: hashicorp.vagrant.ParseVagrantfileResponse + (*vagrant_plugin_sdk.Vagrantfile_Vagrantfile)(nil), // 5: hashicorp.vagrant.sdk.Vagrantfile.Vagrantfile + (*empty.Empty)(nil), // 6: google.protobuf.Empty } var file_proto_ruby_vagrant_ruby_server_proto_depIdxs = []int32{ - 2, // 0: hashicorp.vagrant.GetPluginsResponse.plugins:type_name -> hashicorp.vagrant.Plugin - 0, // 1: hashicorp.vagrant.Plugin.type:type_name -> hashicorp.vagrant.Plugin.Type - 16, // 2: hashicorp.vagrant.ParseVagrantfileResponse.vagrantfile:type_name -> hashicorp.vagrant.VagrantfileComponents.Vagrantfile - 17, // 3: hashicorp.vagrant.VagrantfileComponents.ConfigVM.box_download_options:type_name -> hashicorp.vagrant.VagrantfileComponents.ConfigVM.BoxDownloadOptionsEntry - 13, // 4: hashicorp.vagrant.VagrantfileComponents.ConfigVM.providers:type_name -> hashicorp.vagrant.VagrantfileComponents.Provider - 14, // 5: hashicorp.vagrant.VagrantfileComponents.ConfigVM.networks:type_name -> hashicorp.vagrant.VagrantfileComponents.Network - 12, // 6: hashicorp.vagrant.VagrantfileComponents.ConfigVM.provisioners:type_name -> hashicorp.vagrant.VagrantfileComponents.Provisioner - 15, // 7: hashicorp.vagrant.VagrantfileComponents.ConfigVM.synced_folders:type_name -> hashicorp.vagrant.VagrantfileComponents.SyncedFolder - 18, // 8: hashicorp.vagrant.VagrantfileComponents.ConfigSSH.config:type_name -> google.protobuf.Any - 18, // 9: hashicorp.vagrant.VagrantfileComponents.ConfigWinRM.config:type_name -> google.protobuf.Any - 18, // 10: hashicorp.vagrant.VagrantfileComponents.ConfigWinssh.config:type_name -> google.protobuf.Any - 6, // 11: hashicorp.vagrant.VagrantfileComponents.MachineConfig.config_vm:type_name -> hashicorp.vagrant.VagrantfileComponents.ConfigVM - 7, // 12: hashicorp.vagrant.VagrantfileComponents.MachineConfig.config_ssh:type_name -> hashicorp.vagrant.VagrantfileComponents.ConfigSSH - 8, // 13: hashicorp.vagrant.VagrantfileComponents.MachineConfig.config_winrm:type_name -> hashicorp.vagrant.VagrantfileComponents.ConfigWinRM - 9, // 14: hashicorp.vagrant.VagrantfileComponents.MachineConfig.config_winssh:type_name -> hashicorp.vagrant.VagrantfileComponents.ConfigWinssh - 10, // 15: hashicorp.vagrant.VagrantfileComponents.MachineConfig.config_vagrant:type_name -> hashicorp.vagrant.VagrantfileComponents.ConfigVagrant - 18, // 16: hashicorp.vagrant.VagrantfileComponents.Provisioner.config:type_name -> google.protobuf.Any - 18, // 17: hashicorp.vagrant.VagrantfileComponents.Provider.config:type_name -> google.protobuf.Any - 18, // 18: hashicorp.vagrant.VagrantfileComponents.Network.config:type_name -> google.protobuf.Any - 18, // 19: hashicorp.vagrant.VagrantfileComponents.SyncedFolder.config:type_name -> google.protobuf.Any - 11, // 20: hashicorp.vagrant.VagrantfileComponents.Vagrantfile.machine_configs:type_name -> hashicorp.vagrant.VagrantfileComponents.MachineConfig - 19, // 21: hashicorp.vagrant.RubyVagrant.GetPlugins:input_type -> google.protobuf.Empty - 3, // 22: hashicorp.vagrant.RubyVagrant.ParseVagrantfile:input_type -> hashicorp.vagrant.ParseVagrantfileRequest - 1, // 23: hashicorp.vagrant.RubyVagrant.GetPlugins:output_type -> hashicorp.vagrant.GetPluginsResponse - 4, // 24: hashicorp.vagrant.RubyVagrant.ParseVagrantfile:output_type -> hashicorp.vagrant.ParseVagrantfileResponse - 23, // [23:25] is the sub-list for method output_type - 21, // [21:23] is the sub-list for method input_type - 21, // [21:21] is the sub-list for extension type_name - 21, // [21:21] is the sub-list for extension extendee - 0, // [0:21] is the sub-list for field type_name + 2, // 0: hashicorp.vagrant.GetPluginsResponse.plugins:type_name -> hashicorp.vagrant.Plugin + 0, // 1: hashicorp.vagrant.Plugin.type:type_name -> hashicorp.vagrant.Plugin.Type + 5, // 2: hashicorp.vagrant.ParseVagrantfileResponse.vagrantfile:type_name -> hashicorp.vagrant.sdk.Vagrantfile.Vagrantfile + 6, // 3: hashicorp.vagrant.RubyVagrant.GetPlugins:input_type -> google.protobuf.Empty + 3, // 4: hashicorp.vagrant.RubyVagrant.ParseVagrantfile:input_type -> hashicorp.vagrant.ParseVagrantfileRequest + 1, // 5: hashicorp.vagrant.RubyVagrant.GetPlugins:output_type -> hashicorp.vagrant.GetPluginsResponse + 4, // 6: hashicorp.vagrant.RubyVagrant.ParseVagrantfile:output_type -> hashicorp.vagrant.ParseVagrantfileResponse + 5, // [5:7] is the sub-list for method output_type + 3, // [3:5] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name } func init() { file_proto_ruby_vagrant_ruby_server_proto_init() } @@ -1699,150 +441,6 @@ func file_proto_ruby_vagrant_ruby_server_proto_init() { return nil } } - file_proto_ruby_vagrant_ruby_server_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VagrantfileComponents); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_ruby_vagrant_ruby_server_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VagrantfileComponents_ConfigVM); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_ruby_vagrant_ruby_server_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VagrantfileComponents_ConfigSSH); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_ruby_vagrant_ruby_server_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VagrantfileComponents_ConfigWinRM); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_ruby_vagrant_ruby_server_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VagrantfileComponents_ConfigWinssh); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_ruby_vagrant_ruby_server_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VagrantfileComponents_ConfigVagrant); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_ruby_vagrant_ruby_server_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VagrantfileComponents_MachineConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_ruby_vagrant_ruby_server_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VagrantfileComponents_Provisioner); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_ruby_vagrant_ruby_server_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VagrantfileComponents_Provider); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_ruby_vagrant_ruby_server_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VagrantfileComponents_Network); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_ruby_vagrant_ruby_server_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VagrantfileComponents_SyncedFolder); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_ruby_vagrant_ruby_server_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VagrantfileComponents_Vagrantfile); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } } type x struct{} out := protoimpl.TypeBuilder{ @@ -1850,7 +448,7 @@ func file_proto_ruby_vagrant_ruby_server_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_proto_ruby_vagrant_ruby_server_proto_rawDesc, NumEnums: 1, - NumMessages: 17, + NumMessages: 4, NumExtensions: 0, NumServices: 1, }, diff --git a/internal/server/proto/ruby_vagrant/ruby-server.proto b/internal/server/proto/ruby_vagrant/ruby-server.proto index 25d8724d0..042084b78 100644 --- a/internal/server/proto/ruby_vagrant/ruby-server.proto +++ b/internal/server/proto/ruby_vagrant/ruby-server.proto @@ -7,6 +7,8 @@ option go_package = "github.com/hashicorp/vagrant/internal/server/proto/ruby_vag import "google/protobuf/empty.proto"; import "google/protobuf/any.proto"; +import "plugin.proto"; + // The service that is implemented for the server backend. service RubyVagrant { // Gets available ruby plugins @@ -55,120 +57,5 @@ message ParseVagrantfileRequest { message ParseVagrantfileResponse { // Vagrantfile representation - VagrantfileComponents.Vagrantfile vagrantfile = 1; -} - -message VagrantfileComponents { - - message ConfigVM { - repeated string allowed_synced_folder_types = 1; - bool allow_fstab_modification = 2; - bool allow_hosts_modificaion = 3; - string base_mac = 4; - string base_address = 5; - int32 boot_timeout = 6; - string box = 7; - bool ignore_box_vagrantfile = 8; - bool box_check_update = 9; - repeated string box_url = 10; - string box_server_url = 11; - string box_version = 12; - string box_download_ca_cert = 13; - string box_download_ca_path = 14; - string box_download_checksum = 15; - string box_download_checksum_type = 16; - string box_download_client_cert = 17; - bool box_download_insecure = 18; - bool box_download_location_trusted = 19; - map box_download_options = 20; - string communicator = 21; - int32 graceful_halt_timeout = 22; - string guest = 23; - string hostname = 24; - string post_up_message = 25; - repeated int32 usable_port_range = 26; - repeated string box_extra_download_options = 27; - - // TODO: CloudInit = 4 (Experimental) - repeated Provider providers = 29; - // TODO: Disks = 6 (Experimental) - repeated Network networks = 31; - repeated Provisioner provisioners = 32; - repeated SyncedFolder synced_folders = 33; - } - - message ConfigSSH { - google.protobuf.Any config = 1; - } - - message ConfigWinRM { - google.protobuf.Any config = 1; - } - - message ConfigWinssh { - google.protobuf.Any config = 1; - } - - message ConfigVagrant { - string host = 1; - // TODO: plugins can be a string, a hash or array - repeated string plugins = 2; - repeated string sensitive = 3; - } - - // TODO: Review what needs to be sent here - message MachineConfig { - string name = 1; - ConfigVM config_vm = 2; - ConfigSSH config_ssh = 3; - ConfigWinRM config_winrm = 4; - ConfigWinssh config_winssh = 5; - ConfigVagrant config_vagrant = 6; - } - - message Provisioner { - string name = 1; - string type = 2; - string before = 3; - string after = 4; - bool communicator_required = 5; - // A Provisioner plugin defines it's own configuration, - // that gets added in here - google.protobuf.Any config = 6; - } - - message Provider { - string type = 1; - google.protobuf.Any config = 2; - } - - message Network { - string type = 1; - string id = 2; - google.protobuf.Any config = 3; - } - - message SyncedFolder { - string source = 1; - string destination = 2; - // A SyncedFolder plugin defines it's own configuration, - // that gets added in here - google.protobuf.Any config = 3; - - bool create = 4; - bool disabled = 5; - string group = 6; - string id = 7; - repeated string mount_options = 8; - string owner = 9; - string type = 10; - } - - // TODO: Review what needs to be sent here - message Vagrantfile { - string path = 1; - string raw = 2; - string current_version = 3; - repeated MachineConfig machine_configs = 4; - } + sdk.Vagrantfile.Vagrantfile vagrantfile = 1; } diff --git a/internal/serverclient/ruby_client.go b/internal/serverclient/ruby_client.go index 03f0acf97..dcebaccc4 100644 --- a/internal/serverclient/ruby_client.go +++ b/internal/serverclient/ruby_client.go @@ -10,12 +10,13 @@ import ( "google.golang.org/grpc" "github.com/hashicorp/vagrant-plugin-sdk/internal-shared/pluginclient" + "github.com/hashicorp/vagrant-plugin-sdk/proto/vagrant_plugin_sdk" "github.com/hashicorp/vagrant/internal/server/proto/ruby_vagrant" ) type RubyVagrant interface { GetPlugins() ([]*ruby_vagrant.Plugin, error) - ParseVagrantfile(string) (*ruby_vagrant.VagrantfileComponents_Vagrantfile, error) + ParseVagrantfile(string) (*vagrant_plugin_sdk.Vagrantfile_Vagrantfile, error) } // This is the implementation of plugin.GRPCPlugin so we can serve/consume this. @@ -65,7 +66,7 @@ func (r *RubyVagrantClient) GetPlugins() ([]*ruby_vagrant.Plugin, error) { } // TODO: This should return an hcl Vagrantfile representation -func (r *RubyVagrantClient) ParseVagrantfile(path string) (*ruby_vagrant.VagrantfileComponents_Vagrantfile, error) { +func (r *RubyVagrantClient) ParseVagrantfile(path string) (*vagrant_plugin_sdk.Vagrantfile_Vagrantfile, error) { vf, err := r.client.ParseVagrantfile( context.Background(), &ruby_vagrant.ParseVagrantfileRequest{Path: path}, diff --git a/lib/vagrant/protobufs/proto/ruby_vagrant/ruby-server_pb.rb b/lib/vagrant/protobufs/proto/ruby_vagrant/ruby-server_pb.rb index 953f129cd..f9424ee99 100644 --- a/lib/vagrant/protobufs/proto/ruby_vagrant/ruby-server_pb.rb +++ b/lib/vagrant/protobufs/proto/ruby_vagrant/ruby-server_pb.rb @@ -5,6 +5,7 @@ require 'google/protobuf' require 'google/protobuf/empty_pb' require 'google/protobuf/any_pb' +require 'plugin_pb' Google::Protobuf::DescriptorPool.generated_pool.build do add_file("proto/ruby_vagrant/ruby-server.proto", :syntax => :proto3) do add_message "hashicorp.vagrant.GetPluginsResponse" do @@ -27,99 +28,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do optional :path, :string, 1 end add_message "hashicorp.vagrant.ParseVagrantfileResponse" do - optional :vagrantfile, :message, 1, "hashicorp.vagrant.VagrantfileComponents.Vagrantfile" - end - add_message "hashicorp.vagrant.VagrantfileComponents" do - end - add_message "hashicorp.vagrant.VagrantfileComponents.ConfigVM" do - repeated :allowed_synced_folder_types, :string, 1 - optional :allow_fstab_modification, :bool, 2 - optional :allow_hosts_modificaion, :bool, 3 - optional :base_mac, :string, 4 - optional :base_address, :string, 5 - optional :boot_timeout, :int32, 6 - optional :box, :string, 7 - optional :ignore_box_vagrantfile, :bool, 8 - optional :box_check_update, :bool, 9 - repeated :box_url, :string, 10 - optional :box_server_url, :string, 11 - optional :box_version, :string, 12 - optional :box_download_ca_cert, :string, 13 - optional :box_download_ca_path, :string, 14 - optional :box_download_checksum, :string, 15 - optional :box_download_checksum_type, :string, 16 - optional :box_download_client_cert, :string, 17 - optional :box_download_insecure, :bool, 18 - optional :box_download_location_trusted, :bool, 19 - map :box_download_options, :string, :string, 20 - optional :communicator, :string, 21 - optional :graceful_halt_timeout, :int32, 22 - optional :guest, :string, 23 - optional :hostname, :string, 24 - optional :post_up_message, :string, 25 - repeated :usable_port_range, :int32, 26 - repeated :box_extra_download_options, :string, 27 - repeated :providers, :message, 29, "hashicorp.vagrant.VagrantfileComponents.Provider" - repeated :networks, :message, 31, "hashicorp.vagrant.VagrantfileComponents.Network" - repeated :provisioners, :message, 32, "hashicorp.vagrant.VagrantfileComponents.Provisioner" - repeated :synced_folders, :message, 33, "hashicorp.vagrant.VagrantfileComponents.SyncedFolder" - end - add_message "hashicorp.vagrant.VagrantfileComponents.ConfigSSH" do - optional :config, :message, 1, "google.protobuf.Any" - end - add_message "hashicorp.vagrant.VagrantfileComponents.ConfigWinRM" do - optional :config, :message, 1, "google.protobuf.Any" - end - add_message "hashicorp.vagrant.VagrantfileComponents.ConfigWinssh" do - optional :config, :message, 1, "google.protobuf.Any" - end - add_message "hashicorp.vagrant.VagrantfileComponents.ConfigVagrant" do - optional :host, :string, 1 - repeated :plugins, :string, 2 - repeated :sensitive, :string, 3 - end - add_message "hashicorp.vagrant.VagrantfileComponents.MachineConfig" do - optional :name, :string, 1 - optional :config_vm, :message, 2, "hashicorp.vagrant.VagrantfileComponents.ConfigVM" - optional :config_ssh, :message, 3, "hashicorp.vagrant.VagrantfileComponents.ConfigSSH" - optional :config_winrm, :message, 4, "hashicorp.vagrant.VagrantfileComponents.ConfigWinRM" - optional :config_winssh, :message, 5, "hashicorp.vagrant.VagrantfileComponents.ConfigWinssh" - optional :config_vagrant, :message, 6, "hashicorp.vagrant.VagrantfileComponents.ConfigVagrant" - end - add_message "hashicorp.vagrant.VagrantfileComponents.Provisioner" do - optional :name, :string, 1 - optional :type, :string, 2 - optional :before, :string, 3 - optional :after, :string, 4 - optional :communicator_required, :bool, 5 - optional :config, :message, 6, "google.protobuf.Any" - end - add_message "hashicorp.vagrant.VagrantfileComponents.Provider" do - optional :type, :string, 1 - optional :config, :message, 2, "google.protobuf.Any" - end - add_message "hashicorp.vagrant.VagrantfileComponents.Network" do - optional :type, :string, 1 - optional :id, :string, 2 - optional :config, :message, 3, "google.protobuf.Any" - end - add_message "hashicorp.vagrant.VagrantfileComponents.SyncedFolder" do - optional :source, :string, 1 - optional :destination, :string, 2 - optional :config, :message, 3, "google.protobuf.Any" - optional :create, :bool, 4 - optional :disabled, :bool, 5 - optional :group, :string, 6 - optional :id, :string, 7 - repeated :mount_options, :string, 8 - optional :owner, :string, 9 - optional :type, :string, 10 - end - add_message "hashicorp.vagrant.VagrantfileComponents.Vagrantfile" do - optional :path, :string, 1 - optional :raw, :string, 2 - optional :current_version, :string, 3 - repeated :machine_configs, :message, 4, "hashicorp.vagrant.VagrantfileComponents.MachineConfig" + optional :vagrantfile, :message, 1, "hashicorp.vagrant.sdk.Vagrantfile.Vagrantfile" end end end @@ -131,17 +40,5 @@ module Hashicorp Plugin::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.Plugin.Type").enummodule ParseVagrantfileRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.ParseVagrantfileRequest").msgclass ParseVagrantfileResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.ParseVagrantfileResponse").msgclass - VagrantfileComponents = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.VagrantfileComponents").msgclass - VagrantfileComponents::ConfigVM = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.VagrantfileComponents.ConfigVM").msgclass - VagrantfileComponents::ConfigSSH = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.VagrantfileComponents.ConfigSSH").msgclass - VagrantfileComponents::ConfigWinRM = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.VagrantfileComponents.ConfigWinRM").msgclass - VagrantfileComponents::ConfigWinssh = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.VagrantfileComponents.ConfigWinssh").msgclass - VagrantfileComponents::ConfigVagrant = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.VagrantfileComponents.ConfigVagrant").msgclass - VagrantfileComponents::MachineConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.VagrantfileComponents.MachineConfig").msgclass - VagrantfileComponents::Provisioner = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.VagrantfileComponents.Provisioner").msgclass - VagrantfileComponents::Provider = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.VagrantfileComponents.Provider").msgclass - VagrantfileComponents::Network = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.VagrantfileComponents.Network").msgclass - VagrantfileComponents::SyncedFolder = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.VagrantfileComponents.SyncedFolder").msgclass - VagrantfileComponents::Vagrantfile = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.VagrantfileComponents.Vagrantfile").msgclass end end diff --git a/lib/vagrant/protobufs/proto/vagrant_plugin_sdk/plugin_pb.rb b/lib/vagrant/protobufs/proto/vagrant_plugin_sdk/plugin_pb.rb index b70b215b4..790b6c037 100644 --- a/lib/vagrant/protobufs/proto/vagrant_plugin_sdk/plugin_pb.rb +++ b/lib/vagrant/protobufs/proto/vagrant_plugin_sdk/plugin_pb.rb @@ -558,11 +558,99 @@ Google::Protobuf::DescriptorPool.generated_pool.build do optional :basis, :message, 3, "hashicorp.vagrant.sdk.Ref.Basis" end end - add_message "hashicorp.vagrant.sdk.Vagrantfile.Vagrantfile" do - end add_message "hashicorp.vagrant.sdk.Vagrantfile.GetVagrantfileResponse" do optional :vagrantfile, :message, 1, "hashicorp.vagrant.sdk.Vagrantfile.Vagrantfile" end + add_message "hashicorp.vagrant.sdk.Vagrantfile.ConfigVM" do + repeated :allowed_synced_folder_types, :string, 1 + optional :allow_fstab_modification, :bool, 2 + optional :allow_hosts_modificaion, :bool, 3 + optional :base_mac, :string, 4 + optional :base_address, :string, 5 + optional :boot_timeout, :int32, 6 + optional :box, :string, 7 + optional :ignore_box_vagrantfile, :bool, 8 + optional :box_check_update, :bool, 9 + repeated :box_url, :string, 10 + optional :box_server_url, :string, 11 + optional :box_version, :string, 12 + optional :box_download_ca_cert, :string, 13 + optional :box_download_ca_path, :string, 14 + optional :box_download_checksum, :string, 15 + optional :box_download_checksum_type, :string, 16 + optional :box_download_client_cert, :string, 17 + optional :box_download_insecure, :bool, 18 + optional :box_download_location_trusted, :bool, 19 + map :box_download_options, :string, :string, 20 + optional :communicator, :string, 21 + optional :graceful_halt_timeout, :int32, 22 + optional :guest, :string, 23 + optional :hostname, :string, 24 + optional :post_up_message, :string, 25 + repeated :usable_port_range, :int32, 26 + repeated :box_extra_download_options, :string, 27 + repeated :providers, :message, 29, "hashicorp.vagrant.sdk.Vagrantfile.Provider" + repeated :networks, :message, 31, "hashicorp.vagrant.sdk.Vagrantfile.Network" + repeated :provisioners, :message, 32, "hashicorp.vagrant.sdk.Vagrantfile.Provisioner" + repeated :synced_folders, :message, 33, "hashicorp.vagrant.sdk.Vagrantfile.SyncedFolder" + end + add_message "hashicorp.vagrant.sdk.Vagrantfile.ConfigSSH" do + optional :config, :message, 1, "google.protobuf.Any" + end + add_message "hashicorp.vagrant.sdk.Vagrantfile.ConfigWinRM" do + optional :config, :message, 1, "google.protobuf.Any" + end + add_message "hashicorp.vagrant.sdk.Vagrantfile.ConfigWinssh" do + optional :config, :message, 1, "google.protobuf.Any" + end + add_message "hashicorp.vagrant.sdk.Vagrantfile.ConfigVagrant" do + optional :host, :string, 1 + repeated :plugins, :string, 2 + repeated :sensitive, :string, 3 + end + add_message "hashicorp.vagrant.sdk.Vagrantfile.MachineConfig" do + optional :name, :string, 1 + optional :config_vm, :message, 2, "hashicorp.vagrant.sdk.Vagrantfile.ConfigVM" + optional :config_ssh, :message, 3, "hashicorp.vagrant.sdk.Vagrantfile.ConfigSSH" + optional :config_winrm, :message, 4, "hashicorp.vagrant.sdk.Vagrantfile.ConfigWinRM" + optional :config_winssh, :message, 5, "hashicorp.vagrant.sdk.Vagrantfile.ConfigWinssh" + optional :config_vagrant, :message, 6, "hashicorp.vagrant.sdk.Vagrantfile.ConfigVagrant" + end + add_message "hashicorp.vagrant.sdk.Vagrantfile.Provisioner" do + optional :name, :string, 1 + optional :type, :string, 2 + optional :before, :string, 3 + optional :after, :string, 4 + optional :communicator_required, :bool, 5 + optional :config, :message, 6, "google.protobuf.Any" + end + add_message "hashicorp.vagrant.sdk.Vagrantfile.Provider" do + optional :type, :string, 1 + optional :config, :message, 2, "google.protobuf.Any" + end + add_message "hashicorp.vagrant.sdk.Vagrantfile.Network" do + optional :type, :string, 1 + optional :id, :string, 2 + optional :config, :message, 3, "google.protobuf.Any" + end + add_message "hashicorp.vagrant.sdk.Vagrantfile.SyncedFolder" do + optional :source, :string, 1 + optional :destination, :string, 2 + optional :config, :message, 3, "google.protobuf.Any" + optional :create, :bool, 4 + optional :disabled, :bool, 5 + optional :group, :string, 6 + optional :id, :string, 7 + repeated :mount_options, :string, 8 + optional :owner, :string, 9 + optional :type, :string, 10 + end + add_message "hashicorp.vagrant.sdk.Vagrantfile.Vagrantfile" do + optional :path, :string, 1 + optional :raw, :string, 2 + optional :current_version, :string, 3 + repeated :machine_configs, :message, 4, "hashicorp.vagrant.sdk.Vagrantfile.MachineConfig" + end end end @@ -711,8 +799,18 @@ module Hashicorp Project::DefaultPrivateKeyResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Project.DefaultPrivateKeyResponse").msgclass Vagrantfile = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Vagrantfile").msgclass Vagrantfile::GetVagrantfileRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Vagrantfile.GetVagrantfileRequest").msgclass - Vagrantfile::Vagrantfile = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Vagrantfile.Vagrantfile").msgclass Vagrantfile::GetVagrantfileResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Vagrantfile.GetVagrantfileResponse").msgclass + Vagrantfile::ConfigVM = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Vagrantfile.ConfigVM").msgclass + Vagrantfile::ConfigSSH = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Vagrantfile.ConfigSSH").msgclass + Vagrantfile::ConfigWinRM = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Vagrantfile.ConfigWinRM").msgclass + Vagrantfile::ConfigWinssh = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Vagrantfile.ConfigWinssh").msgclass + Vagrantfile::ConfigVagrant = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Vagrantfile.ConfigVagrant").msgclass + Vagrantfile::MachineConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Vagrantfile.MachineConfig").msgclass + Vagrantfile::Provisioner = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Vagrantfile.Provisioner").msgclass + Vagrantfile::Provider = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Vagrantfile.Provider").msgclass + Vagrantfile::Network = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Vagrantfile.Network").msgclass + Vagrantfile::SyncedFolder = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Vagrantfile.SyncedFolder").msgclass + Vagrantfile::Vagrantfile = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Vagrantfile.Vagrantfile").msgclass end end end diff --git a/parse_vagrantfile.rb b/parse_vagrantfile.rb index dabec2819..0c9f2d57c 100644 --- a/parse_vagrantfile.rb +++ b/parse_vagrantfile.rb @@ -10,16 +10,16 @@ require_relative "./plugins/commands/serve/command" vagrantfile_path = "/Users/sophia/project/vagrant-ruby/Vagrantfile" -PROVIDER_PROTO_CLS = Hashicorp::Vagrant::VagrantfileComponents::Provider -PROVISION_PROTO_CLS = Hashicorp::Vagrant::VagrantfileComponents::Provisioner -SYNCED_FOLDER_PROTO_CLS = Hashicorp::Vagrant::VagrantfileComponents::SyncedFolder -NETWORK_PROTO_CLS = Hashicorp::Vagrant::VagrantfileComponents::Network +PROVIDER_PROTO_CLS = Hashicorp::Vagrant::Sdk::Vagrantfile::Provider +PROVISION_PROTO_CLS = Hashicorp::Vagrant::Sdk::Vagrantfile::Provisioner +SYNCED_FOLDER_PROTO_CLS = Hashicorp::Vagrant::Sdk::Vagrantfile::SyncedFolder +NETWORK_PROTO_CLS = Hashicorp::Vagrant::Sdk::Vagrantfile::Network -CONFIG_VM_CLS = Hashicorp::Vagrant::VagrantfileComponents::ConfigVM -CONFIG_SSH_CLS = Hashicorp::Vagrant::VagrantfileComponents::ConfigSSH -CONFIG_WINRM_CLS = Hashicorp::Vagrant::VagrantfileComponents::ConfigWinRM -CONFIG_WINSSH_CLS = Hashicorp::Vagrant::VagrantfileComponents::ConfigWinssh -CONFIG_VAGRANT_CLS = Hashicorp::Vagrant::VagrantfileComponents::ConfigVagrant +CONFIG_VM_CLS = Hashicorp::Vagrant::Sdk::Vagrantfile::ConfigVM +CONFIG_SSH_CLS = Hashicorp::Vagrant::Sdk::Vagrantfile::ConfigSSH +CONFIG_WINRM_CLS = Hashicorp::Vagrant::Sdk::Vagrantfile::ConfigWinRM +CONFIG_WINSSH_CLS = Hashicorp::Vagrant::Sdk::Vagrantfile::ConfigWinssh +CONFIG_VAGRANT_CLS = Hashicorp::Vagrant::Sdk::Vagrantfile::ConfigVagrant def stringify_symbols(m) m.each do |k,v| @@ -244,7 +244,7 @@ def parse_vagrantfile(path) extract_synced_folders(config_vm_proto.synced_folders, vm_config.synced_folders) extract_provider(config_vm_proto.providers, vm_config) - machine_configs << Hashicorp::Vagrant::VagrantfileComponents::MachineConfig.new( + machine_configs << Hashicorp::Vagrant::Sdk::Vagrantfile::MachineConfig.new( name: mach.to_s, config_vm: config_vm_proto, config_vagrant: config_vagrant_proto, @@ -255,7 +255,7 @@ def parse_vagrantfile(path) ) end - vagrantfile = Hashicorp::Vagrant::VagrantfileComponents::Vagrantfile.new( + vagrantfile = Hashicorp::Vagrant::Sdk::Vagrantfile::Vagrantfile.new( path: path, # raw: raw, current_version: Vagrant::Config::CURRENT_VERSION,