Define config for config.ssh, winrm, winssh, vagrant

This commit is contained in:
sophia 2021-05-24 17:38:49 -05:00 committed by Paul Hinze
parent da58bbc1c1
commit 849755646b
No known key found for this signature in database
GPG Key ID: B69DEDF2D55501C0
5 changed files with 633 additions and 135 deletions

7
Vagrantfile vendored
View File

@ -4,8 +4,13 @@
# Ruby, run unit tests, etc.
Vagrant.configure("2") do |config|
config.vagrant.host = "hahah"
config.ssh.connection_timeout = 30
config.winrm.username = "test"
config.winrm.password = "test"
config.vm.provider "virtualbox" do |v|
v.default_nic_type = "82543GC"
v.gui = false
@ -19,6 +24,8 @@ Vagrant.configure("2") do |config|
["a", "b"].each do |m|
config.vm.define m do |c|
c.vagrant.host = "ubuntu"
c.winrm_host = "computer-#{m}"
c.vm.hostname = "computer-#{m}"
c.vm.box = "hashicorp/bionic64"
c.vm.network "forwarded_port", guest: 80, host: 8080

View File

@ -623,8 +623,30 @@ type VagrantfileComponents_ConfigSSH struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Compresssion bool `protobuf:"varint,1,opt,name=compresssion,proto3" json:"compresssion,omitempty"`
ConnectTimeout int64 `protobuf:"varint,2,opt,name=connect_timeout,json=connectTimeout,proto3" json:"connect_timeout,omitempty"` // TODO
Compresssion bool `protobuf:"varint,1,opt,name=compresssion,proto3" json:"compresssion,omitempty"`
ConnectTimeout int64 `protobuf:"varint,2,opt,name=connect_timeout,json=connectTimeout,proto3" json:"connect_timeout,omitempty"`
Config string `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"`
DsaAuthentication bool `protobuf:"varint,4,opt,name=dsa_authentication,json=dsaAuthentication,proto3" json:"dsa_authentication,omitempty"`
ExportCommandTemplate string `protobuf:"bytes,5,opt,name=export_command_template,json=exportCommandTemplate,proto3" json:"export_command_template,omitempty"`
ExtraArgs []string `protobuf:"bytes,6,rep,name=extra_args,json=extraArgs,proto3" json:"extra_args,omitempty"`
ForwardAgent bool `protobuf:"varint,7,opt,name=forward_agent,json=forwardAgent,proto3" json:"forward_agent,omitempty"`
ForwardEnv []string `protobuf:"bytes,8,rep,name=forward_env,json=forwardEnv,proto3" json:"forward_env,omitempty"`
ForwardX11 bool `protobuf:"varint,9,opt,name=forward_x11,json=forwardX11,proto3" json:"forward_x11,omitempty"`
GuestPort int32 `protobuf:"varint,10,opt,name=guest_port,json=guestPort,proto3" json:"guest_port,omitempty"`
Host string `protobuf:"bytes,11,opt,name=host,proto3" json:"host,omitempty"`
InsertKey bool `protobuf:"varint,12,opt,name=insert_key,json=insertKey,proto3" json:"insert_key,omitempty"`
KeepAlive bool `protobuf:"varint,13,opt,name=keep_alive,json=keepAlive,proto3" json:"keep_alive,omitempty"`
KeysOnly bool `protobuf:"varint,14,opt,name=keys_only,json=keysOnly,proto3" json:"keys_only,omitempty"`
Paranoid bool `protobuf:"varint,15,opt,name=paranoid,proto3" json:"paranoid,omitempty"`
Port int32 `protobuf:"varint,16,opt,name=port,proto3" json:"port,omitempty"`
PrivateKeyPath []string `protobuf:"bytes,17,rep,name=private_key_path,json=privateKeyPath,proto3" json:"private_key_path,omitempty"`
ProxyCommand string `protobuf:"bytes,18,opt,name=proxy_command,json=proxyCommand,proto3" json:"proxy_command,omitempty"`
Pty bool `protobuf:"varint,19,opt,name=pty,proto3" json:"pty,omitempty"`
RemoteUser string `protobuf:"bytes,20,opt,name=remote_user,json=remoteUser,proto3" json:"remote_user,omitempty"`
Shell string `protobuf:"bytes,21,opt,name=shell,proto3" json:"shell,omitempty"`
SudoCommand string `protobuf:"bytes,22,opt,name=sudo_command,json=sudoCommand,proto3" json:"sudo_command,omitempty"`
Username string `protobuf:"bytes,23,opt,name=username,proto3" json:"username,omitempty"`
VerifyHostKey string `protobuf:"bytes,24,opt,name=verify_host_key,json=verifyHostKey,proto3" json:"verify_host_key,omitempty"`
}
func (x *VagrantfileComponents_ConfigSSH) Reset() {
@ -673,13 +695,181 @@ func (x *VagrantfileComponents_ConfigSSH) GetConnectTimeout() int64 {
return 0
}
func (x *VagrantfileComponents_ConfigSSH) GetConfig() string {
if x != nil {
return x.Config
}
return ""
}
func (x *VagrantfileComponents_ConfigSSH) GetDsaAuthentication() bool {
if x != nil {
return x.DsaAuthentication
}
return false
}
func (x *VagrantfileComponents_ConfigSSH) GetExportCommandTemplate() string {
if x != nil {
return x.ExportCommandTemplate
}
return ""
}
func (x *VagrantfileComponents_ConfigSSH) GetExtraArgs() []string {
if x != nil {
return x.ExtraArgs
}
return nil
}
func (x *VagrantfileComponents_ConfigSSH) GetForwardAgent() bool {
if x != nil {
return x.ForwardAgent
}
return false
}
func (x *VagrantfileComponents_ConfigSSH) GetForwardEnv() []string {
if x != nil {
return x.ForwardEnv
}
return nil
}
func (x *VagrantfileComponents_ConfigSSH) GetForwardX11() bool {
if x != nil {
return x.ForwardX11
}
return false
}
func (x *VagrantfileComponents_ConfigSSH) GetGuestPort() int32 {
if x != nil {
return x.GuestPort
}
return 0
}
func (x *VagrantfileComponents_ConfigSSH) GetHost() string {
if x != nil {
return x.Host
}
return ""
}
func (x *VagrantfileComponents_ConfigSSH) GetInsertKey() bool {
if x != nil {
return x.InsertKey
}
return false
}
func (x *VagrantfileComponents_ConfigSSH) GetKeepAlive() bool {
if x != nil {
return x.KeepAlive
}
return false
}
func (x *VagrantfileComponents_ConfigSSH) GetKeysOnly() bool {
if x != nil {
return x.KeysOnly
}
return false
}
func (x *VagrantfileComponents_ConfigSSH) GetParanoid() bool {
if x != nil {
return x.Paranoid
}
return false
}
func (x *VagrantfileComponents_ConfigSSH) GetPort() int32 {
if x != nil {
return x.Port
}
return 0
}
func (x *VagrantfileComponents_ConfigSSH) GetPrivateKeyPath() []string {
if x != nil {
return x.PrivateKeyPath
}
return nil
}
func (x *VagrantfileComponents_ConfigSSH) GetProxyCommand() string {
if x != nil {
return x.ProxyCommand
}
return ""
}
func (x *VagrantfileComponents_ConfigSSH) GetPty() bool {
if x != nil {
return x.Pty
}
return false
}
func (x *VagrantfileComponents_ConfigSSH) GetRemoteUser() string {
if x != nil {
return x.RemoteUser
}
return ""
}
func (x *VagrantfileComponents_ConfigSSH) GetShell() string {
if x != nil {
return x.Shell
}
return ""
}
func (x *VagrantfileComponents_ConfigSSH) GetSudoCommand() string {
if x != nil {
return x.SudoCommand
}
return ""
}
func (x *VagrantfileComponents_ConfigSSH) GetUsername() string {
if x != nil {
return x.Username
}
return ""
}
func (x *VagrantfileComponents_ConfigSSH) GetVerifyHostKey() string {
if x != nil {
return x.VerifyHostKey
}
return ""
}
type VagrantfileComponents_ConfigWinRM struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` // TODO
Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
Host string `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"`
Port int32 `protobuf:"varint,4,opt,name=port,proto3" json:"port,omitempty"`
GuestPort int32 `protobuf:"varint,5,opt,name=guest_port,json=guestPort,proto3" json:"guest_port,omitempty"`
// Note: this could be an enum, however in order to make
// the ruby -> proto translation a bit more simple, leaving
// this as a string
Transport string `protobuf:"bytes,6,opt,name=transport,proto3" json:"transport,omitempty"`
BasicAuthOnly bool `protobuf:"varint,7,opt,name=basic_auth_only,json=basicAuthOnly,proto3" json:"basic_auth_only,omitempty"`
ExecutionTimeLimit string `protobuf:"bytes,8,opt,name=execution_time_limit,json=executionTimeLimit,proto3" json:"execution_time_limit,omitempty"`
SslPeerVerification bool `protobuf:"varint,9,opt,name=ssl_peer_verification,json=sslPeerVerification,proto3" json:"ssl_peer_verification,omitempty"`
Timeout int32 `protobuf:"varint,10,opt,name=timeout,proto3" json:"timeout,omitempty"`
MaxTries int32 `protobuf:"varint,11,opt,name=max_tries,json=maxTries,proto3" json:"max_tries,omitempty"`
RetryDelay int32 `protobuf:"varint,12,opt,name=retry_delay,json=retryDelay,proto3" json:"retry_delay,omitempty"`
Codepage string `protobuf:"bytes,13,opt,name=codepage,proto3" json:"codepage,omitempty"`
}
func (x *VagrantfileComponents_ConfigWinRM) Reset() {
@ -728,13 +918,96 @@ func (x *VagrantfileComponents_ConfigWinRM) GetPassword() string {
return ""
}
func (x *VagrantfileComponents_ConfigWinRM) GetHost() string {
if x != nil {
return x.Host
}
return ""
}
func (x *VagrantfileComponents_ConfigWinRM) GetPort() int32 {
if x != nil {
return x.Port
}
return 0
}
func (x *VagrantfileComponents_ConfigWinRM) GetGuestPort() int32 {
if x != nil {
return x.GuestPort
}
return 0
}
func (x *VagrantfileComponents_ConfigWinRM) GetTransport() string {
if x != nil {
return x.Transport
}
return ""
}
func (x *VagrantfileComponents_ConfigWinRM) GetBasicAuthOnly() bool {
if x != nil {
return x.BasicAuthOnly
}
return false
}
func (x *VagrantfileComponents_ConfigWinRM) GetExecutionTimeLimit() string {
if x != nil {
return x.ExecutionTimeLimit
}
return ""
}
func (x *VagrantfileComponents_ConfigWinRM) GetSslPeerVerification() bool {
if x != nil {
return x.SslPeerVerification
}
return false
}
func (x *VagrantfileComponents_ConfigWinRM) GetTimeout() int32 {
if x != nil {
return x.Timeout
}
return 0
}
func (x *VagrantfileComponents_ConfigWinRM) GetMaxTries() int32 {
if x != nil {
return x.MaxTries
}
return 0
}
func (x *VagrantfileComponents_ConfigWinRM) GetRetryDelay() int32 {
if x != nil {
return x.RetryDelay
}
return 0
}
func (x *VagrantfileComponents_ConfigWinRM) GetCodepage() string {
if x != nil {
return x.Codepage
}
return ""
}
type VagrantfileComponents_ConfigWinssh struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ForwardAgent bool `protobuf:"varint,1,opt,name=forward_agent,json=forwardAgent,proto3" json:"forward_agent,omitempty"`
ForwardEnv []string `protobuf:"bytes,2,rep,name=forward_env,json=forwardEnv,proto3" json:"forward_env,omitempty"` // TODO
ForwardAgent bool `protobuf:"varint,1,opt,name=forward_agent,json=forwardAgent,proto3" json:"forward_agent,omitempty"`
ForwardEnv []string `protobuf:"bytes,2,rep,name=forward_env,json=forwardEnv,proto3" json:"forward_env,omitempty"`
ProxyCommand string `protobuf:"bytes,3,opt,name=proxy_command,json=proxyCommand,proto3" json:"proxy_command,omitempty"`
KeepAlive bool `protobuf:"varint,4,opt,name=keep_alive,json=keepAlive,proto3" json:"keep_alive,omitempty"`
Shell string `protobuf:"bytes,5,opt,name=shell,proto3" json:"shell,omitempty"`
ExportCommandTemplate string `protobuf:"bytes,6,opt,name=export_command_template,json=exportCommandTemplate,proto3" json:"export_command_template,omitempty"`
SudoCommand string `protobuf:"bytes,7,opt,name=sudo_command,json=sudoCommand,proto3" json:"sudo_command,omitempty"`
UploadDirectory string `protobuf:"bytes,8,opt,name=upload_directory,json=uploadDirectory,proto3" json:"upload_directory,omitempty"`
}
func (x *VagrantfileComponents_ConfigWinssh) Reset() {
@ -783,13 +1056,57 @@ func (x *VagrantfileComponents_ConfigWinssh) GetForwardEnv() []string {
return nil
}
func (x *VagrantfileComponents_ConfigWinssh) GetProxyCommand() string {
if x != nil {
return x.ProxyCommand
}
return ""
}
func (x *VagrantfileComponents_ConfigWinssh) GetKeepAlive() bool {
if x != nil {
return x.KeepAlive
}
return false
}
func (x *VagrantfileComponents_ConfigWinssh) GetShell() string {
if x != nil {
return x.Shell
}
return ""
}
func (x *VagrantfileComponents_ConfigWinssh) GetExportCommandTemplate() string {
if x != nil {
return x.ExportCommandTemplate
}
return ""
}
func (x *VagrantfileComponents_ConfigWinssh) GetSudoCommand() string {
if x != nil {
return x.SudoCommand
}
return ""
}
func (x *VagrantfileComponents_ConfigWinssh) GetUploadDirectory() string {
if x != nil {
return x.UploadDirectory
}
return ""
}
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"`
Plugins []string `protobuf:"bytes,2,rep,name=plugins,proto3" json:"plugins,omitempty"` // TODO
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() {
@ -838,6 +1155,13 @@ func (x *VagrantfileComponents_ConfigVagrant) GetPlugins() []string {
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
@ -1363,7 +1687,7 @@ var file_proto_ruby_vagrant_ruby_server_proto_rawDesc = []byte{
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, 0xaa, 0x1a, 0x0a, 0x15, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65,
0x22, 0xd4, 0x24, 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,
@ -1471,127 +1795,209 @@ var file_proto_ruby_vagrant_ruby_server_proto_rawDesc = []byte{
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, 0x58, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x53,
0x48, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x73, 0x69, 0x6f,
0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e,
0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x1a, 0x45,
0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x57, 0x69, 0x6e, 0x52, 0x4d, 0x12, 0x1a, 0x0a,
0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73,
0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73,
0x73, 0x77, 0x6f, 0x72, 0x64, 0x1a, 0x54, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x57,
0x69, 0x6e, 0x73, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64,
0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x66, 0x6f,
0x72, 0x77, 0x61, 0x72, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x6f,
0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x6e, 0x76, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52,
0x0a, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x76, 0x1a, 0x3d, 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, 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,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x9a, 0x06, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53,
0x53, 0x48, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x73, 0x69,
0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65,
0x73, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12,
0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2d, 0x0a, 0x12, 0x64, 0x73, 0x61, 0x5f, 0x61,
0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20,
0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x73, 0x61, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x17, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74,
0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43,
0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1d,
0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03,
0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x74, 0x72, 0x61, 0x41, 0x72, 0x67, 0x73, 0x12, 0x23, 0x0a,
0x0d, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x07,
0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x41, 0x67, 0x65,
0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x6e,
0x76, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64,
0x45, 0x6e, 0x76, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x78,
0x31, 0x31, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72,
0x64, 0x58, 0x31, 0x31, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6f,
0x72, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x67, 0x75, 0x65, 0x73, 0x74, 0x50,
0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x73, 0x65, 0x72,
0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x6e, 0x73,
0x65, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x61,
0x6c, 0x69, 0x76, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6b, 0x65, 0x65, 0x70,
0x41, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x6f, 0x6e,
0x6c, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x4f, 0x6e,
0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x61, 0x6e, 0x6f, 0x69, 0x64, 0x18, 0x0f,
0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x70, 0x61, 0x72, 0x61, 0x6e, 0x6f, 0x69, 0x64, 0x12, 0x12,
0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f,
0x72, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65,
0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72,
0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d,
0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x12, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
0x64, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x74, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03,
0x70, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x75, 0x73,
0x65, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65,
0x55, 0x73, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x65, 0x6c, 0x6c, 0x18, 0x15, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x65, 0x6c, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75,
0x64, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0b, 0x73, 0x75, 0x64, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1a, 0x0a,
0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x76, 0x65, 0x72,
0x69, 0x66, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x18, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x4b, 0x65,
0x79, 0x1a, 0xac, 0x03, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x57, 0x69, 0x6e, 0x52,
0x4d, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a,
0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73,
0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a,
0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72,
0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18,
0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x67, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74,
0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20,
0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x26,
0x0a, 0x0f, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6f, 0x6e, 0x6c,
0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x62, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75,
0x74, 0x68, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74,
0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08,
0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54,
0x69, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x73, 0x6c, 0x5f,
0x70, 0x65, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 0x73, 0x6c, 0x50, 0x65, 0x65, 0x72,
0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07,
0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74,
0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x72,
0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x54, 0x72,
0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x6c,
0x61, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x72, 0x79, 0x44,
0x65, 0x6c, 0x61, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x64, 0x65, 0x70, 0x61, 0x67, 0x65,
0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x64, 0x65, 0x70, 0x61, 0x67, 0x65,
0x1a, 0xb4, 0x02, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x57, 0x69, 0x6e, 0x73, 0x73,
0x68, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x61, 0x67, 0x65,
0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72,
0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72,
0x64, 0x5f, 0x65, 0x6e, 0x76, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x6f, 0x72,
0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x76, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x78, 0x79,
0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
0x70, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
0x6b, 0x65, 0x65, 0x70, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
0x52, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73,
0x68, 0x65, 0x6c, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x65, 0x6c,
0x6c, 0x12, 0x36, 0x0a, 0x17, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d,
0x61, 0x6e, 0x64, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01,
0x28, 0x09, 0x52, 0x15, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x64,
0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0b, 0x73, 0x75, 0x64, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x29, 0x0a, 0x10,
0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79,
0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x69,
0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 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, 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,
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,
}
var (

View File

@ -100,25 +100,65 @@ message VagrantfileComponents {
message ConfigSSH {
bool compresssion = 1;
int64 connect_timeout = 2;
// TODO
string config = 3;
bool dsa_authentication = 4;
string export_command_template = 5;
repeated string extra_args = 6;
bool forward_agent = 7;
repeated string forward_env = 8;
bool forward_x11 = 9;
int32 guest_port = 10;
string host = 11;
bool insert_key = 12;
bool keep_alive = 13;
bool keys_only = 14;
bool paranoid = 15;
int32 port = 16;
repeated string private_key_path = 17;
string proxy_command = 18;
bool pty = 19;
string remote_user = 20;
string shell = 21;
string sudo_command = 22;
string username = 23;
string verify_host_key = 24;
}
message ConfigWinRM {
string username = 1;
string password = 2;
// TODO
string host = 3;
int32 port = 4;
int32 guest_port = 5;
// Note: this could be an enum, however in order to make
// the ruby -> proto translation a bit more simple, leaving
// this as a string
string transport = 6;
bool basic_auth_only = 7;
string execution_time_limit = 8;
bool ssl_peer_verification = 9;
int32 timeout = 10;
int32 max_tries = 11;
int32 retry_delay = 12;
string codepage = 13;
}
message ConfigWinssh {
bool forward_agent = 1;
repeated string forward_env = 2;
// TODO
string proxy_command = 3;
bool keep_alive = 4;
string shell = 5;
string export_command_template = 6;
string sudo_command = 7;
string upload_directory = 8;
}
message ConfigVagrant {
string host = 1;
// TODO: plugins can be a string, a hash or array
repeated string plugins = 2;
// TODO
repeated string sensitive = 3;
}
// TODO: Review what needs to be sent here

View File

@ -67,18 +67,58 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
add_message "hashicorp.vagrant.VagrantfileComponents.ConfigSSH" do
optional :compresssion, :bool, 1
optional :connect_timeout, :int64, 2
optional :config, :string, 3
optional :dsa_authentication, :bool, 4
optional :export_command_template, :string, 5
repeated :extra_args, :string, 6
optional :forward_agent, :bool, 7
repeated :forward_env, :string, 8
optional :forward_x11, :bool, 9
optional :guest_port, :int32, 10
optional :host, :string, 11
optional :insert_key, :bool, 12
optional :keep_alive, :bool, 13
optional :keys_only, :bool, 14
optional :paranoid, :bool, 15
optional :port, :int32, 16
repeated :private_key_path, :string, 17
optional :proxy_command, :string, 18
optional :pty, :bool, 19
optional :remote_user, :string, 20
optional :shell, :string, 21
optional :sudo_command, :string, 22
optional :username, :string, 23
optional :verify_host_key, :string, 24
end
add_message "hashicorp.vagrant.VagrantfileComponents.ConfigWinRM" do
optional :username, :string, 1
optional :password, :string, 2
optional :host, :string, 3
optional :port, :int32, 4
optional :guest_port, :int32, 5
optional :transport, :string, 6
optional :basic_auth_only, :bool, 7
optional :execution_time_limit, :string, 8
optional :ssl_peer_verification, :bool, 9
optional :timeout, :int32, 10
optional :max_tries, :int32, 11
optional :retry_delay, :int32, 12
optional :codepage, :string, 13
end
add_message "hashicorp.vagrant.VagrantfileComponents.ConfigWinssh" do
optional :forward_agent, :bool, 1
repeated :forward_env, :string, 2
optional :proxy_command, :string, 3
optional :keep_alive, :bool, 4
optional :shell, :string, 5
optional :export_command_template, :string, 6
optional :sudo_command, :string, 7
optional :upload_directory, :string, 8
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

View File

@ -15,6 +15,12 @@ PROVISION_PROTO_CLS = Hashicorp::Vagrant::VagrantfileComponents::Provisioner
SYNCED_FOLDER_PROTO_CLS = Hashicorp::Vagrant::VagrantfileComponents::SyncedFolder
NETWORK_PROTO_CLS = Hashicorp::Vagrant::VagrantfileComponents::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
def stringify_symbols(m)
m.each do |k,v|
if v.is_a?(Hash)
@ -150,7 +156,7 @@ def parse_vagrantfile(path)
root_config = machine_info[:config]
vm_config = root_config.vm
config_vm_proto = Hashicorp::Vagrant::VagrantfileComponents::ConfigVM.new()
config_vm_proto = CONFIG_VM_CLS.new()
vm_config.instance_variables_hash.each do |k, v|
# Skip config that has not be set
next if v.class == Object
@ -194,7 +200,6 @@ def parse_vagrantfile(path)
end
end
extract_component(PROVISION_PROTO_CLS, config_vm_proto.provisioners, vm_config.provisioners)
extract_network(config_vm_proto.networks, vm_config.networks)
extract_synced_folders(config_vm_proto.synced_folders, vm_config.synced_folders)