diff --git a/builtin/configvagrant/main.go b/builtin/configvagrant/main.go index c5dbc37ab..32afa2907 100644 --- a/builtin/configvagrant/main.go +++ b/builtin/configvagrant/main.go @@ -4,8 +4,7 @@ package configvagrant import ( - "fmt" - + "github.com/hashicorp/go-argmapper" "github.com/hashicorp/go-hclog" sdk "github.com/hashicorp/vagrant-plugin-sdk" "github.com/hashicorp/vagrant-plugin-sdk/component" @@ -22,9 +21,10 @@ var CommandOptions = []sdk.Option{ } type Vagrant struct { - Sensitive []string `hcl:"sensitive,optional" json:",omitempty"` - Host *string `hcl:"host,optional" json:"host,omitempty"` - Plugins []Plugin `hcl:"plugins,block" json:"plugins,omitempty"` + Sensitive []string `hcl:"sensitive,optional" json:",omitempty"` + Host *string `hcl:"host,optional" json:"host,omitempty"` + FinalizedInfo *string `hcl:"finalized_info,optional" json:"finalized_info,omitempty"` + Plugins []Plugin `hcl:"plugins,block" json:"plugins,omitempty"` } type Plugin struct { @@ -43,6 +43,14 @@ func (c *Config) Register() (*component.ConfigRegistration, error) { }, nil } +func (c *Config) InitFunc() any { + return c.Init +} + +func (c *Config) Init(in *component.ConfigData) (*component.ConfigData, error) { + return in, nil +} + func (c *Config) StructFunc() interface{} { return c.Struct } @@ -56,28 +64,27 @@ func (c *Config) MergeFunc() interface{} { } func (c *Config) Merge( - input *component.ConfigMerge, - log hclog.Logger, -) (*component.ConfigData, error) { - log.Info("merging config values for the vagrants namespace") - result := &component.ConfigData{ - Data: map[string]interface{}{}, + input struct { + argmapper.Struct + Base *Vagrant + Overlay *Vagrant + Log hclog.Logger + }, +) (*Vagrant, error) { + log := input.Log + log.Info("merging config values in vagrants namespace", + "base", input.Base, "overlay", input.Overlay) + + result := input.Base + if input.Overlay.Host != nil { + result.Host = input.Overlay.Host } - for k, v := range input.Base.Data { - log.Info("Base value", "key", k, "value", v) - result.Data[k] = v + for _, s := range input.Overlay.Sensitive { + result.Sensitive = append(result.Sensitive, s) } - for k, v := range input.Overlay.Data { - log.Info("Merged value", "key", k, "value", v, "pre-existing", result.Data[k]) - if v == result.Data[k] { - return nil, fmt.Errorf("values for merge should not match (%#v == %#v)", v, result.Data[k]) - } - result.Data[k] = v - } - - result.Data["merged"] = "omg" + log.Info("merged config value for vagrants namespace", "config", result) return result, nil } @@ -86,13 +93,14 @@ func (c *Config) FinalizeFunc() interface{} { return c.Finalize } -func (c *Config) Finalize(l hclog.Logger, f *component.ConfigFinalize) (*component.ConfigData, error) { - d := f.Config - d.Data["finalized"] = "yep, it's finalzied" - l.Info("config data that is finalized and going back", - "config", hclog.Fmt("%#v", d), - ) - return d, nil +func (c *Config) Finalize(l hclog.Logger, conf *Vagrant) (*Vagrant, error) { + l.Warn("checking current content", "host", conf.Host) + if conf.Host != nil { + l.Warn("checking current value", "host", *conf.Host) + } + info := "go plugin finalization test content" + conf.FinalizedInfo = &info + return conf, nil } type Command struct{} diff --git a/builtin/httpdownloader/downloader/downloader.go b/builtin/httpdownloader/downloader/downloader.go index defa2da92..44f3c9d77 100644 --- a/builtin/httpdownloader/downloader/downloader.go +++ b/builtin/httpdownloader/downloader/downloader.go @@ -38,9 +38,42 @@ type DownloaderConfig struct { UrlQueryParams map[string]string } -// Config implements Configurable -func (d *Downloader) Config() (interface{}, error) { - return &d.config, nil +func (d *Downloader) InitFunc() any { + return d.Init +} + +func (d *Downloader) Init(in *component.ConfigData) (*component.ConfigData, error) { + return in, nil +} + +func (d *Downloader) StructFunc() any { + return d.Struct +} + +func (d *Downloader) MergeFunc() any { + return d.Merge +} + +func (d *Downloader) FinalizeFunc() any { + return d.Finalize +} + +func (d *Downloader) Struct() *DownloaderConfig { + return &DownloaderConfig{} +} + +func (d *Downloader) Merge(val *component.ConfigMerge) *component.ConfigData { + return val.Base +} + +func (d *Downloader) Finalize(val *component.ConfigData) *component.ConfigData { + return val +} + +func (d *Downloader) Register() (*component.ConfigRegistration, error) { + return &component.ConfigRegistration{ + Identifier: "downloader", + }, nil } func (d *Downloader) DownloadFunc() interface{} { @@ -100,6 +133,6 @@ func (d *Downloader) Download() (err error) { } var ( - _ component.Downloader = (*Downloader)(nil) - _ component.Configurable = (*Downloader)(nil) + _ component.Downloader = (*Downloader)(nil) + _ component.Config = (*Downloader)(nil) ) diff --git a/go.mod b/go.mod index eefdcd1d8..7f00f4530 100644 --- a/go.mod +++ b/go.mod @@ -6,6 +6,8 @@ require ( github.com/armon/circbuf v0.0.0-20190214190532-5111143e8da2 github.com/bmatcuk/doublestar v1.3.4 github.com/fatih/color v1.15.0 + github.com/fatih/structs v1.1.0 + github.com/fatih/structtag v1.2.0 github.com/glebarez/sqlite v1.8.0 github.com/go-git/go-git/v5 v5.7.0 github.com/go-ozzo/ozzo-validation/v4 v4.3.0 @@ -20,7 +22,7 @@ require ( github.com/hashicorp/go-retryablehttp v0.7.4 github.com/hashicorp/go-version v1.6.0 github.com/hashicorp/hcl/v2 v2.17.0 - github.com/hashicorp/vagrant-plugin-sdk v0.0.0-20230304003807-c1e77438a1ef + github.com/hashicorp/vagrant-plugin-sdk v0.0.0-20230908002302-5b51f0768f72 github.com/imdario/mergo v0.3.16 github.com/improbable-eng/grpc-web v0.15.0 github.com/kr/text v0.2.0 @@ -43,10 +45,10 @@ require ( golang.org/x/sys v0.8.0 golang.org/x/text v0.9.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc - google.golang.org/grpc v1.55.0 + google.golang.org/grpc v1.56.2 google.golang.org/protobuf v1.30.0 gorm.io/datatypes v1.2.0 - gorm.io/gorm v1.25.1 + gorm.io/gorm v1.25.3 ) require ( @@ -80,7 +82,6 @@ require ( github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/emirpasic/gods v1.18.1 // indirect - github.com/fatih/structs v1.1.0 // indirect github.com/felixge/httpsnoop v1.0.3 // indirect github.com/glebarez/go-sqlite v1.21.1 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect @@ -159,5 +160,6 @@ require ( nhooyr.io/websocket v1.8.7 // indirect ) -//replace github.com/hashicorp/go-argmapper => ../go-argmapper -//replace github.com/hashicorp/vagrant-plugin-sdk => ../vagrant-plugin-sdk +// replace github.com/hashicorp/go-argmapper => ../go-argmapper + +// replace github.com/hashicorp/vagrant-plugin-sdk => ../vagrant-plugin-sdk diff --git a/go.sum b/go.sum index 5f54157f8..a99de56c9 100644 --- a/go.sum +++ b/go.sum @@ -216,11 +216,9 @@ github.com/VividCortex/ewma v1.2.0/go.mod h1:nz4BbCtbLyFDeC9SUHbtcT5644juEuWfUAU github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= github.com/acomagu/bufpipe v1.0.4 h1:e3H4WUzM3npvo5uv95QuJM3cQspFNtFBzvJ2oNjKIDQ= github.com/acomagu/bufpipe v1.0.4/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= -github.com/adrg/xdg v0.2.1/go.mod h1:ZuOshBmzV4Ta+s23hdfFZnBsdzmoR3US0d7ErpqSbTQ= github.com/adrg/xdg v0.4.0 h1:RzRqFcjH4nE5C6oTAxhBtoE2IRyjBSa62SCbyPidvls= github.com/adrg/xdg v0.4.0/go.mod h1:N6ag73EX4wyxeaoeHctc1mas01KZgsj5tYiAIwqJE/E= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= -github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo= github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= @@ -232,9 +230,6 @@ github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFI github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= -github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk= -github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= @@ -263,7 +258,6 @@ github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQ github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bmatcuk/doublestar v1.3.4 h1:gPypJ5xD31uhX6Tf54sDPUOBXTqKH4c9aPY66CyQrS0= github.com/bmatcuk/doublestar v1.3.4/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE= -github.com/briandowns/spinner v1.11.1/go.mod h1:QOuQk7x+EaDASo80FEXwlwiA+j/PPIcX3FScO+3/ZPQ= github.com/briandowns/spinner v1.23.0 h1:alDF2guRWqa/FOZZYWjlMIx2L6H0wyewPxo/CH4Pt2A= github.com/briandowns/spinner v1.23.0/go.mod h1:rPG4gmXeN3wQV/TsAY4w8lPdIM6RX3yqeBQJSrbXjuE= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= @@ -306,7 +300,6 @@ github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfc github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -337,12 +330,13 @@ github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go. github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4= +github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk= github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= @@ -392,7 +386,6 @@ github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9 github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI= github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/go-test/deep v1.0.7 h1:/VSMRlnY/JSyqxQUzQLKVMAskpY/NZKFA5j2P+0pP2M= github.com/go-test/deep v1.0.7/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0= @@ -423,7 +416,6 @@ github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -535,7 +527,6 @@ github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyN github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-argmapper v0.2.3/go.mod h1:WA3PocIo+40wf4ko3dRdL3DEgxIQB4qaqp+jVccLV1I= github.com/hashicorp/go-argmapper v0.2.4 h1:HSnbvNcapx5PWtA6qvnlESc69LQXYrfDO/FRf1zroXg= github.com/hashicorp/go-argmapper v0.2.4/go.mod h1:WA3PocIo+40wf4ko3dRdL3DEgxIQB4qaqp+jVccLV1I= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= @@ -543,10 +534,8 @@ github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9n github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-getter v1.7.1 h1:SWiSWN/42qdpR0MdhaOc/bLR48PLuP1ZQtYLRlM69uY= github.com/hashicorp/go-getter v1.7.1/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= -github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI= github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= github.com/hashicorp/go-hclog v0.14.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v1.5.0 h1:bI2ocEMgcVlz55Oj1xZNBsVi900c7II+fWDyV9o+13c= github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= @@ -560,7 +549,6 @@ github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHh github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= -github.com/hashicorp/go-plugin v1.3.0/go.mod h1:F9eH4LrE/ZsRdbwhfjs9k9HoDUwAHnYtXdgmf1AVNs0= github.com/hashicorp/go-plugin v1.4.10 h1:xUbmA4jC6Dq163/fWcp8P3JuHilrHHMLNRxzGQJ9hNk= github.com/hashicorp/go-plugin v1.4.10/go.mod h1:6/1TEzT0eQznvI/gV2CM29DLSkAK/e58mUWKVsPaph0= github.com/hashicorp/go-retryablehttp v0.7.4 h1:ZQgVdpTdAL7WpMIwLzCfbalOcSUdkDZnpUv3/+BxzFA= @@ -582,16 +570,14 @@ github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hcl/v2 v2.6.0/go.mod h1:bQTN5mpo+jewjJgh8jr0JUguIi7qPHUF6yIfAEN3jqY= github.com/hashicorp/hcl/v2 v2.17.0 h1:z1XvSUyXd1HP10U4lrLg5e0JMVz6CPaJvAgxM0KNZVY= github.com/hashicorp/hcl/v2 v2.17.0/go.mod h1:gJyW2PTShkJqQBKpAmPO3yxMxIuoXkOF2TpqXzrQyx4= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hashicorp/vagrant-plugin-sdk v0.0.0-20230304003807-c1e77438a1ef h1:33vPdfuFwUuFfezyF+36tJHbjNuuS+8Vu9ia51ArMo0= -github.com/hashicorp/vagrant-plugin-sdk v0.0.0-20230304003807-c1e77438a1ef/go.mod h1:zA5vDskG3gH306C+obL+yURiUiLMAlx52yqO8MC2r9w= -github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= +github.com/hashicorp/vagrant-plugin-sdk v0.0.0-20230908002302-5b51f0768f72 h1:QsewUkg7Ykg+BHkh2LAGMDy90TgvIiF7HOjkSZaL0uE= +github.com/hashicorp/vagrant-plugin-sdk v0.0.0-20230908002302-5b51f0768f72/go.mod h1:tfojVWg3L6om47/i2joXbg6nXXDV2GPExR4fufd4H5M= github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= @@ -616,7 +602,6 @@ github.com/jackc/pgx/v5 v5.3.0 h1:/NQi8KHMpKWHInxXesC8yD4DhkXPrVhmnwYkjp9AmBA= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jhump/protoreflect v1.6.0 h1:h5jfMVslIg6l29nsMs0D8Wj17RDVdNYti0vDN/PZZoE= -github.com/jhump/protoreflect v1.6.0/go.mod h1:eaTn3RZAmMBcV0fifFvlm6VHNz3wSkYyXYWUh7ymB74= github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= @@ -660,10 +645,8 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/lab47/vterm v0.0.0-20201001232628-a9dd795f94c2/go.mod h1:IODMeTGM8OBitkNwP3bvFuccNVzo1gIevvC3dM6MujU= github.com/lab47/vterm v0.0.0-20211107042118-80c3d2849f9c h1:xTdFl6QIaKyRUSrFAAnR2/9dij1gzUaVG8rLcteEwVY= github.com/lab47/vterm v0.0.0-20211107042118-80c3d2849f9c/go.mod h1:IODMeTGM8OBitkNwP3bvFuccNVzo1gIevvC3dM6MujU= github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= @@ -677,7 +660,6 @@ github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlW github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= @@ -686,7 +668,6 @@ github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNx github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= -github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= @@ -708,24 +689,20 @@ github.com/mitchellh/cli v1.1.5/go.mod h1:v8+iFts2sPIKUV1ltktPXMCC8fumSKFItNcD2c github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= -github.com/mitchellh/go-glint v0.0.0-20200930000256-df5e721f3258/go.mod h1:NrJbv11op7A0gjSLtfvzm74YkVKRS24KxucwneYUX4M= github.com/mitchellh/go-glint v0.0.0-20210722152315-6515ceb4a127 h1:/EdGXMUGYFdp0+cmGjVLl/Qbx3G10csqgj22ZkrPFEA= github.com/mitchellh/go-glint v0.0.0-20210722152315-6515ceb4a127/go.mod h1:9X3rpO+I3yuihb6p8ktF8qWxROGwij9DBW/czUsMlhk= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= -github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/protostructure v0.0.0-20200814180458-3cfccdb015ce h1:VCR1UYdCg/9zbbnDVsULhmoGVsR5JJ91aPjTGv304Z4= @@ -752,7 +729,6 @@ github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzE github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -github.com/nicksnyder/go-i18n/v2 v2.2.0/go.mod h1:4OtLfzqyAxsscyCb//3gfqSvBc81gImX91LrZzczN1o= github.com/nicksnyder/go-i18n/v2 v2.2.1 h1:aOzRCdwsJuoExfZhoiXHy4bjruwCMdt5otbYojM/PaA= github.com/nicksnyder/go-i18n/v2 v2.2.1/go.mod h1:fF2++lPHlo+/kPaj3nB0uxtPwzlPm+BlgwGX7MkeGj0= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= @@ -763,7 +739,6 @@ github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DV github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/olekukonko/tablewriter v0.0.4/go.mod h1:zq6QwlOf5SlnkVbMSr5EoBv3636FWnp+qbPhuoO21uA= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -842,7 +817,6 @@ github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQD github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= @@ -867,7 +841,6 @@ github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= @@ -886,7 +859,6 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= -github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= @@ -905,7 +877,6 @@ github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijb github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/vektra/neko v0.0.0-20170502000624-99acbdf12420 h1:OMelMt+D75Fax25tMcBfUoOyNp8OziZK/Ca8dB8BX38= github.com/vektra/neko v0.0.0-20170502000624-99acbdf12420/go.mod h1:7tfPLehrsToaevw9Vi9iL6FOslcBJ/uqYQc8y3YIbdI= -github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= @@ -920,7 +891,6 @@ github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= github.com/zclconf/go-cty-yaml v1.0.3 h1:og/eOQ7lvA/WWhHGFETVWNduJM7Rjsv2RRpx1sdFMLc= @@ -951,7 +921,6 @@ go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -959,7 +928,6 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200414173820-0848c9571904/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= @@ -1009,9 +977,7 @@ golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91 golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk= golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1131,7 +1097,6 @@ golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1215,7 +1180,6 @@ golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= @@ -1371,7 +1335,6 @@ google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -1405,7 +1368,6 @@ google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201002142447-3860012362da/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= @@ -1483,7 +1445,6 @@ google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc h1: google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc h1:XSJ8Vk1SWuNr8S18z1NZSziL0CPIXLCCMDOEFtHBOFc= google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= -google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= @@ -1525,8 +1486,8 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag= -google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= +google.golang.org/grpc v1.56.2 h1:fVRFRnXvU+x6C4IlHZewvJOVHoOv1TUuQyoRsYnB4bI= +google.golang.org/grpc v1.56.2/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -1581,8 +1542,9 @@ gorm.io/driver/mysql v1.5.1/go.mod h1:Jo3Xu7mMhCyj8dlrb3WoCaRd1FhsVh+yMXb1jUInf5 gorm.io/driver/postgres v1.5.0 h1:u2FXTy14l45qc3UeCJ7QaAXZmZfDDv0YrthvmRq1l0U= gorm.io/driver/sqlite v1.4.3 h1:HBBcZSDnWi5BW3B3rwvVTc510KGkBkexlOg0QrmLUuU= gorm.io/driver/sqlserver v1.4.1 h1:t4r4r6Jam5E6ejqP7N82qAJIJAht27EGT41HyPfXRw0= -gorm.io/gorm v1.25.1 h1:nsSALe5Pr+cM3V1qwwQ7rOkw+6UeLrX5O4v3llhHa64= gorm.io/gorm v1.25.1/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= +gorm.io/gorm v1.25.3 h1:zi4rHZj1anhZS2EuEODMhDisGy+Daq9jtPrNGgbQYD8= +gorm.io/gorm v1.25.3/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/internal/cli/base.go b/internal/cli/base.go index e0e4ae9d5..cf20fb5b6 100644 --- a/internal/cli/base.go +++ b/internal/cli/base.go @@ -18,6 +18,7 @@ import ( "github.com/hashicorp/vagrant-plugin-sdk/component" "github.com/hashicorp/vagrant-plugin-sdk/helper/paths" "github.com/hashicorp/vagrant-plugin-sdk/internal-shared/cleanup" + "github.com/hashicorp/vagrant-plugin-sdk/proto/vagrant_plugin_sdk" "github.com/hashicorp/vagrant-plugin-sdk/terminal" "github.com/hashicorp/vagrant/internal/clicontext" "github.com/hashicorp/vagrant/internal/client" @@ -59,11 +60,11 @@ type baseCommand struct { // client for performing operations client *clientpkg.Client // basis to root these operations within - basis *clientpkg.Basis + basis *vagrant_plugin_sdk.Ref_Basis // optional project to run operations within - project *clientpkg.Project + project *vagrant_plugin_sdk.Ref_Project // optional target to run operations against - target *clientpkg.Target + target *vagrant_plugin_sdk.Ref_Target // clientContext is set to the context information for the current // connection. This might not exist in the contextStorage yet if this @@ -263,37 +264,40 @@ warning set the environment variable 'VAGRANT_SUPPRESS_GO_EXPERIMENTAL_WARNING'. return nil, err } - // We always have a basis, so load that - if bc.basis, err = bc.client.LoadBasis(bc.flagBasis); err != nil { + bc.Log.Info("basis seeding", "name", bc.flagBasis, "path", bc.flagBasis) + + b, err := bc.client.LoadBasis(bc.flagBasis) + if err != nil { + return nil, err + } + // We always have a basis, so seed the basis + // ref and initialize it + bc.basis = &vagrant_plugin_sdk.Ref_Basis{ + Name: b.Name, + Path: b.Path, + ResourceId: b.ResourceId, + } + if bc.basis, err = bc.client.BasisInit(ctx, bc.Modifier()); err != nil { return nil, err } - log.Warn("created basis client", + log.Info("vagrant basis has been initialized", "basis", bc.basis, ) - // A project is optional (though generally needed) and there are - // two possibilites for how we load the project. - if bc.flagProject != "" { - // The first is that we are given a specific project that should be - // used within the defined basis. So lets load that. - if bc.project, err = bc.basis.LoadProject(bc.flagProject); err != nil { - return nil, err - } - } else { - if bc.project, err = bc.basis.DetectProject(); err != nil { - return nil, err - } - } - - // Load in basis vagrantfile if there is one - if err = bc.basis.LoadVagrantfile(); err != nil { + project, err := bc.client.LoadProject(bc.flagProject, bc.basis) + if err != nil { return nil, err } - // And if we have a project, load that vagrantfile too - if bc.project != nil { - if err = bc.project.LoadVagrantfile(); err != nil { + if project != nil { + bc.project = &vagrant_plugin_sdk.Ref_Project{ + Name: project.Name, + Path: project.Path, + ResourceId: project.ResourceId, + Basis: project.Basis, + } + if bc.project, err = bc.client.ProjectInit(ctx, bc.Modifier()); err != nil { return nil, err } } @@ -305,9 +309,9 @@ warning set the environment variable 'VAGRANT_SUPPRESS_GO_EXPERIMENTAL_WARNING'. return nil, fmt.Errorf("cannot load target without valid project") } - if bc.target, err = bc.project.LoadTarget(bc.flagTarget); err != nil { - return nil, err - } + // if bc.target, err = bc.project.LoadTarget(bc.flagTarget); err != nil { + // return nil, err + // } } return bc, err @@ -408,21 +412,15 @@ func (c *baseCommand) Do(ctx context.Context, f func(context.Context, *client.Cl func (c *baseCommand) Modifier() client.JobModifier { return func(j *vagrant_server.Job) { - if c.target != nil { - j.Scope = &vagrant_server.Job_Target{ - Target: c.target.Ref(), - } - return - } if c.project != nil { j.Scope = &vagrant_server.Job_Project{ - Project: c.project.Ref(), + Project: c.project, } return } if c.basis != nil { j.Scope = &vagrant_server.Job_Basis{ - Basis: c.basis.Ref(), + Basis: c.basis, } return } diff --git a/internal/cli/base_init.go b/internal/cli/base_init.go index 46f1772e5..771e0c927 100644 --- a/internal/cli/base_init.go +++ b/internal/cli/base_init.go @@ -7,6 +7,7 @@ import ( "fmt" "path/filepath" + "github.com/hashicorp/vagrant-plugin-sdk/helper/path" clientpkg "github.com/hashicorp/vagrant/internal/client" configpkg "github.com/hashicorp/vagrant/internal/config" ) @@ -34,7 +35,7 @@ func (c *baseCommand) initConfig(optional bool) (*configpkg.Config, error) { // initConfigPath returns the configuration path to load. func (c *baseCommand) initConfigPath() (string, error) { // This configuarion is for the Vagrant process, not the same as a Vagrantfile - path, err := configpkg.FindPath(c.basis.Path(), "vagrant-config.hcl") + path, err := configpkg.FindPath(path.NewPath(c.basis.GetPath()), "vagrant-config.hcl") if err != nil { return "", fmt.Errorf("error looking for a Vagrant configuration: %s", err) } diff --git a/internal/cli/main.go b/internal/cli/main.go index 28d33ada2..a91a91dbb 100644 --- a/internal/cli/main.go +++ b/internal/cli/main.go @@ -259,8 +259,10 @@ func logger(args []string) ([]string, hclog.Logger, io.Writer, error) { } } - // Set default log level - _ = os.Setenv("VAGRANT_LOG", "fatal") + // Set default log level it not already set + if os.Getenv("VAGRANT_LOG") == "" { + _ = os.Setenv("VAGRANT_LOG", "fatal") + } // Process arguments looking for `-v` flags to control the log level. // This overrides whatever the env var set. diff --git a/internal/cli/ui.go b/internal/cli/ui.go index 978425df3..ffde1bc36 100644 --- a/internal/cli/ui.go +++ b/internal/cli/ui.go @@ -6,14 +6,14 @@ package cli import ( "fmt" "strings" - "time" + // "time" "github.com/skratchdot/open-golang/open" "github.com/hashicorp/vagrant-plugin-sdk/component" "github.com/hashicorp/vagrant-plugin-sdk/terminal" "github.com/hashicorp/vagrant/internal/clierrors" - "github.com/hashicorp/vagrant/internal/server/proto/vagrant_server" + // "github.com/hashicorp/vagrant/internal/server/proto/vagrant_server" ) type UICommand struct { @@ -37,35 +37,35 @@ func (c *UICommand) Run(args []string) int { // c.client.UI().Output("Vagrant must be configured in server mode to access the UI", terminal.WithWarningStyle()) // } - // Get our API client - client := c.basis.Client() + // // Get our API client + // client := c.basis.Client() - var inviteToken string - if c.flagAuthenticate { - c.ui.Output("Creating invite token", terminal.WithStyle(terminal.HeaderStyle)) - c.ui.Output("This invite token will be exchanged for an authentication \ntoken that your browser stores.") + // var inviteToken string + // if c.flagAuthenticate { + // c.ui.Output("Creating invite token", terminal.WithStyle(terminal.HeaderStyle)) + // c.ui.Output("This invite token will be exchanged for an authentication \ntoken that your browser stores.") - resp, err := client.GenerateInviteToken(c.Ctx, &vagrant_server.InviteTokenRequest{ - Duration: (2 * time.Minute).String(), - }) - if err != nil { - c.basis.UI().Output(clierrors.Humanize(err), terminal.WithErrorStyle()) - return 1 - } + // resp, err := client.GenerateInviteToken(c.Ctx, &vagrant_server.InviteTokenRequest{ + // Duration: (2 * time.Minute).String(), + // }) + // if err != nil { + // c.client.UI().Output(clierrors.Humanize(err), terminal.WithErrorStyle()) + // return 1 + // } - inviteToken = resp.Token - } + // inviteToken = resp.Token + // } // Get our default context (used context) name, err := c.contextStorage.Default() if err != nil { - c.basis.UI().Output(clierrors.Humanize(err), terminal.WithErrorStyle()) + c.client.UI().Output(clierrors.Humanize(err), terminal.WithErrorStyle()) return 1 } ctxConfig, err := c.contextStorage.Load(name) if err != nil { - c.basis.UI().Output(clierrors.Humanize(err), terminal.WithErrorStyle()) + c.client.UI().Output(clierrors.Humanize(err), terminal.WithErrorStyle()) return 1 } @@ -74,16 +74,16 @@ func (c *UICommand) Run(args []string) int { // Default Docker platform HTTP port, for now port := 9702 if err != nil { - c.basis.UI().Output(clierrors.Humanize(err), terminal.WithErrorStyle()) + c.client.UI().Output(clierrors.Humanize(err), terminal.WithErrorStyle()) return 1 } c.ui.Output("Opening browser", terminal.WithStyle(terminal.HeaderStyle)) uiAddr := fmt.Sprintf("https://%s:%d", addr, port) - if c.flagAuthenticate { - uiAddr = fmt.Sprintf("%s/auth/invite?token=%s&cli=true", uiAddr, inviteToken) - } + // if c.flagAuthenticate { + // uiAddr = fmt.Sprintf("%s/auth/invite?token=%s&cli=true", uiAddr, inviteToken) + // } open.Run(uiAddr) diff --git a/internal/client/basis.go b/internal/client/basis.go deleted file mode 100644 index 34e3765a6..000000000 --- a/internal/client/basis.go +++ /dev/null @@ -1,225 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package client - -import ( - "context" - "io" - "os" - - "github.com/hashicorp/go-hclog" - "github.com/hashicorp/go-plugin" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - - "github.com/hashicorp/vagrant-plugin-sdk/config" - "github.com/hashicorp/vagrant-plugin-sdk/helper/path" - "github.com/hashicorp/vagrant-plugin-sdk/proto/vagrant_plugin_sdk" - "github.com/hashicorp/vagrant-plugin-sdk/terminal" - "github.com/hashicorp/vagrant/internal/server/proto/vagrant_server" - "github.com/hashicorp/vagrant/internal/serverclient" -) - -type Basis struct { - basis *vagrant_server.Basis - cleanupFuncs []func() error - client *Client - ctx context.Context - logger hclog.Logger - path path.Path - ui terminal.UI - vagrant *serverclient.VagrantClient -} - -func (b *Basis) DetectProject() (p *Project, err error) { - // look for a vagrantfile! - v, err := config.FindPath(nil, nil) - // if an error was encountered, or no path was found, we return - if err != nil || v == nil { - return - } - - // we did find a path, so use the directory name as project name - // TODO(spox): we'll need to do better than just dir name - _, n := v.Dir().Base().Split() - p, err = b.LoadProject(n) - if err != nil && status.Code(err) != codes.NotFound { - return - } - - if err == nil { - p.vagrantfile = v - return - } - - b.logger.Warn("basis set during project detect", - "basis", b.basis, - ) - - result, err := b.vagrant.UpsertProject( - b.ctx, - &vagrant_server.UpsertProjectRequest{ - Project: &vagrant_server.Project{ - Name: n, - Basis: b.Ref(), - Path: v.Dir().String(), - }, - }, - ) - if err != nil { - return - } - - return &Project{ - basis: b, - client: b.client, - ctx: b.ctx, - logger: b.logger.Named("project"), - project: result.Project, - ui: b.ui, - vagrant: b.vagrant, - vagrantfile: v, - }, nil -} - -func (b *Basis) LoadProject(n string) (*Project, error) { - b.logger.Warn("loading project now", - "basis", b.basis, - "ref", b.Ref(), - ) - result, err := b.vagrant.FindProject( - b.ctx, - &vagrant_server.FindProjectRequest{ - Project: &vagrant_server.Project{ - Name: n, - Basis: b.Ref(), - }, - }, - ) - if err != nil { - return nil, err - } - - if result == nil { - return nil, NotFoundErr - } - - return &Project{ - basis: b, - client: b.client, - ctx: b.ctx, - logger: b.logger.Named("project"), - project: result.Project, - ui: b.ui, - vagrant: b.vagrant, - }, nil -} - -// Finds the Vagrantfile associated with the basis -func (b *Basis) LoadVagrantfile() error { - vpath, err := config.ExistingPath(b.path, config.GetVagrantfileName()) - l := b.logger.With( - "basis", b.basis.Name, - "path", vpath, - ) - - // If the path does not exist, no Vagrantfile was found - if os.IsNotExist(err) { - l.Warn("basis vagrantfile does not exist", - "path", b.path.String(), - ) - // Upsert the basis so the record exists - result, err := b.vagrant.UpsertBasis(b.ctx, &vagrant_server.UpsertBasisRequest{Basis: b.basis}) - if err != nil { - return err - } - - b.basis = result.Basis - - return nil - } else if err != nil { - l.Error("failed to load basis vagrantfile", - "error", err, - ) - - return err - } - - l.Trace("attempting to load basis vagrantfile") - - raw, err := b.VagrantRubyRuntime().Dispense("vagrantrubyruntime") - if err != nil { - return err - } - - p, err := LoadVagrantfile( - vpath, l, raw.(serverclient.RubyVagrantClient)) - - if err != nil { - return err - } - - l.Trace("storing updated basis configuration", - "configuration", p.Unfinalized, - ) - - b.basis.Configuration = p - // Push Vagrantfile updates to basis - result, err := b.vagrant.UpsertBasis( - b.ctx, - &vagrant_server.UpsertBasisRequest{ - Basis: b.basis, - }, - ) - - if err != nil { - l.Error("failed to store basis updates", - "error", err, - ) - - return err - } - - b.basis = result.Basis - return nil -} - -func (b *Basis) Ref() *vagrant_plugin_sdk.Ref_Basis { - if b.basis == nil { - return nil - } - return &vagrant_plugin_sdk.Ref_Basis{ - Name: b.basis.Name, - ResourceId: b.basis.ResourceId, - } -} - -func (b *Basis) Close() error { - for _, f := range b.cleanupFuncs { - f() - } - - if closer, ok := b.ui.(io.Closer); ok { - closer.Close() - } - return nil -} - -// Client returns the raw Vagrant server API client. -func (b *Basis) Client() *serverclient.VagrantClient { - return b.vagrant -} - -func (b *Basis) VagrantRubyRuntime() plugin.ClientProtocol { - return b.client.rubyRuntime -} - -func (b *Basis) UI() terminal.UI { - return b.ui -} - -// Client returns the raw Vagrant server API client. -func (b *Basis) Path() path.Path { - return b.path -} diff --git a/internal/client/client.go b/internal/client/client.go index ae51eec17..c40842819 100644 --- a/internal/client/client.go +++ b/internal/client/client.go @@ -6,9 +6,6 @@ package client import ( "context" "errors" - "io" - "os" - "path/filepath" "github.com/hashicorp/go-hclog" "github.com/hashicorp/go-multierror" @@ -16,8 +13,7 @@ import ( "google.golang.org/grpc/codes" "google.golang.org/grpc/status" - vconfig "github.com/hashicorp/vagrant-plugin-sdk/config" - "github.com/hashicorp/vagrant-plugin-sdk/helper/path" + sdkconfig "github.com/hashicorp/vagrant-plugin-sdk/config" "github.com/hashicorp/vagrant-plugin-sdk/helper/paths" "github.com/hashicorp/vagrant-plugin-sdk/internal-shared/cleanup" "github.com/hashicorp/vagrant-plugin-sdk/proto/vagrant_plugin_sdk" @@ -144,13 +140,18 @@ func New(ctx context.Context, opts ...Option) (c *Client, err error) { return } -func (c *Client) LoadBasis(n string) (*Basis, error) { +func (c *Client) LoadBasis(n string) (*vagrant_server.Basis, error) { var basis *vagrant_server.Basis p, err := paths.NamedVagrantConfig(n) if err != nil { return nil, err } + basisVagrantfile, err := sdkconfig.FindPath(p, nil) + if err != nil { + return nil, err + } + result, err := c.client.FindBasis( c.ctx, &vagrant_server.FindBasisRequest{ @@ -161,36 +162,110 @@ func (c *Client) LoadBasis(n string) (*Basis, error) { }, ) - if err != nil { - if status.Code(err) != codes.NotFound { - return nil, err - } - uresult, err := c.client.UpsertBasis( - c.ctx, - &vagrant_server.UpsertBasisRequest{ - Basis: &vagrant_server.Basis{ - Name: n, - Path: p.String(), - }, - }, - ) - if err != nil { - return nil, err - } - basis = uresult.Basis - } else { - basis = result.Basis + if err != nil && status.Code(err) != codes.NotFound { + return nil, err } - return &Basis{ - basis: basis, - client: c, - ctx: c.ctx, - logger: c.logger.Named("basis"), - path: p, - ui: c.ui, - vagrant: c.client, - }, nil + if err == nil { + basis = result.Basis + } else { + basis = &vagrant_server.Basis{ + Name: n, + Path: p.String(), + } + } + + if err == nil { + basis = result.Basis + } else { + basis = &vagrant_server.Basis{ + Name: n, + Path: p.String(), + } + } + + basis.Configuration = &vagrant_server.Vagrantfile{ + Path: &vagrant_plugin_sdk.Args_Path{ + Path: basisVagrantfile.String(), + }, + } + + uresult, err := c.client.UpsertBasis( + c.ctx, + &vagrant_server.UpsertBasisRequest{ + Basis: basis, + }, + ) + + if err != nil { + return nil, err + } + basis = uresult.Basis + + return basis, nil +} + +func (c *Client) LoadProject(n string, b *vagrant_plugin_sdk.Ref_Basis) (*vagrant_server.Project, error) { + var project *vagrant_server.Project + projectVagrantfile, err := sdkconfig.FindPath(nil, nil) + if err != nil { + return nil, err + } + + // No project was found, so return + if projectVagrantfile == nil { + return nil, nil + } + + projectDir := projectVagrantfile.Dir() + + if n == "" { + n = projectDir.String() + } + + result, err := c.client.FindProject( + c.ctx, + &vagrant_server.FindProjectRequest{ + Project: &vagrant_server.Project{ + Name: n, + Path: projectDir.String(), + Basis: b, + }, + }, + ) + + if err != nil && status.Code(err) != codes.NotFound { + return nil, err + } + + if err == nil { + project = result.Project + } else { + project = &vagrant_server.Project{ + Name: n, + Path: projectDir.String(), + Basis: b, + } + } + + project.Configuration = &vagrant_server.Vagrantfile{ + Path: &vagrant_plugin_sdk.Args_Path{ + Path: projectVagrantfile.String(), + }, + } + + uresult, err := c.client.UpsertProject( + c.ctx, + &vagrant_server.UpsertProjectRequest{ + Project: project, + }, + ) + if err != nil { + return nil, err + } + project = uresult.Project + + return project, nil } // Close the client and call any cleanup functions @@ -277,63 +352,3 @@ func WithConfig(cfg *config.Config) Option { return nil } } - -// Load a Vagrantfile -func LoadVagrantfile( - file path.Path, // path to the Vagrantfile - l hclog.Logger, // logger - c serverclient.RubyVagrantClient, // vagrant ruby runtime for ruby based Vagrantfiles -) (p *vagrant_server.Vagrantfile, err error) { - var v *vconfig.Vagrantfile - - p = &vagrant_server.Vagrantfile{} - format := vconfig.JSON - protoFormat := vagrant_server.Vagrantfile_JSON - - // We support three types of Vagrantfiles: - // * Ruby (original) - // * HCL - // * JSON (which is HCL in JSON form) - ext := filepath.Ext(file.String()) - if ext == ".hcl" { - format = vconfig.HCL - protoFormat = vagrant_server.Vagrantfile_HCL - } - - switch ext { - case ".hcl", ".json": - f, err := os.Open(file.String()) - if err != nil { - return nil, err - } - p.Raw, err = io.ReadAll(f) - if err != nil { - return nil, err - } - - v, err = vconfig.LoadVagrantfile(p.Raw, file.String(), format) - if err != nil { - return nil, err - } - if p.Unfinalized, err = vconfig.EncodeVagrantfile(v); err != nil { - return nil, err - } - default: - p.Unfinalized, err = c.ParseVagrantfile(file.String()) - if err != nil { - l.Error("failed to parse vagrantfile", - "error", err, - ) - return nil, err - } - l.Info("initial vagrantfile value set", - "path", file.String(), - "value", p.Unfinalized, - ) - protoFormat = vagrant_server.Vagrantfile_RUBY - } - p.Path = &vagrant_plugin_sdk.Args_Path{Path: file.String()} - p.Format = protoFormat - - return -} diff --git a/internal/client/operation.go b/internal/client/operation.go index c03cecf6b..1e241b70b 100644 --- a/internal/client/operation.go +++ b/internal/client/operation.go @@ -7,6 +7,7 @@ import ( "context" "github.com/hashicorp/vagrant-plugin-sdk/component" + "github.com/hashicorp/vagrant-plugin-sdk/proto/vagrant_plugin_sdk" "github.com/hashicorp/vagrant/internal/server/logviewer" "github.com/hashicorp/vagrant/internal/server/proto/vagrant_server" ) @@ -64,6 +65,42 @@ func (c *Client) Commands( return result.Init, nil } +func (c *Client) BasisInit( + ctx context.Context, + mod JobModifier, +) (*vagrant_plugin_sdk.Ref_Basis, error) { + job := c.job() + job.Operation = &vagrant_server.Job_InitBasis{ + InitBasis: &vagrant_server.Job_InitBasisOp{}, + } + // Apply scoping to job + mod(job) + result, err := c.doJob(ctx, job, c.ui) + if err != nil { + return nil, err + } + + return result.Basis.Basis, nil +} + +func (c *Client) ProjectInit( + ctx context.Context, + mod JobModifier, +) (*vagrant_plugin_sdk.Ref_Project, error) { + job := c.job() + job.Operation = &vagrant_server.Job_InitProject{ + InitProject: &vagrant_server.Job_InitProjectOp{}, + } + // Apply scoping to job + mod(job) + result, err := c.doJob(ctx, job, c.ui) + if err != nil { + return nil, err + } + + return result.Project.Project, nil +} + func (c *Client) Command( ctx context.Context, op *vagrant_server.Job_CommandOp, diff --git a/internal/client/project.go b/internal/client/project.go deleted file mode 100644 index 1ba9600a4..000000000 --- a/internal/client/project.go +++ /dev/null @@ -1,141 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package client - -import ( - "context" - "fmt" - "os" - - "github.com/hashicorp/go-hclog" - - "github.com/hashicorp/vagrant-plugin-sdk/helper/path" - vagrant_plugin_sdk "github.com/hashicorp/vagrant-plugin-sdk/proto/vagrant_plugin_sdk" - "github.com/hashicorp/vagrant-plugin-sdk/terminal" - "github.com/hashicorp/vagrant/internal/server/proto/vagrant_server" - "github.com/hashicorp/vagrant/internal/serverclient" -) - -// Project is the primary structure for interacting with a Vagrant -// server as a client. The client exposes a slightly higher level of -// abstraction over the server API for performing operations locally and -// remotely. -type Project struct { - basis *Basis - client *Client - ctx context.Context - logger hclog.Logger - path path.Path - project *vagrant_server.Project - ui terminal.UI - vagrant *serverclient.VagrantClient - vagrantfile path.Path -} - -// Finds the Vagrantfile associated with the project -func (p *Project) LoadVagrantfile() error { - l := p.logger.With( - "basis", p.basis.basis.Name, - "project", p.project.Name, - "path", p.vagrantfile, - ) - l.Trace("attempting to load project vagrantfile") - if p.vagrantfile == nil { - l.Warn("project vagrantfile has not been set") - return nil - } - - // If the path does not exist, no Vagrantfile was found - if _, err := os.Stat(p.vagrantfile.String()); os.IsNotExist(err) { - l.Warn("project vagrantfile does not exist") - return nil - } - - raw, err := p.client.rubyRuntime.Dispense("vagrantrubyruntime") - if err != nil { - l.Warn("failed to load ruby runtime for vagrantfile parsing", - "error", err, - ) - - return err - } - - vp, err := LoadVagrantfile( - p.vagrantfile, l, raw.(serverclient.RubyVagrantClient)) - - if err != nil { - return err - } - - p.project.Configuration = vp - p.project.Basis = p.basis.Ref() - // Push Vagrantfile updates to project - result, err := p.vagrant.UpsertProject( - p.ctx, - &vagrant_server.UpsertProjectRequest{ - Project: p.project, - }, - ) - - if err != nil { - l.Error("failed to store project updates", - "error", err, - ) - - return err - } - p.project = result.Project - - return nil -} - -func (p *Project) LoadTarget(n string) (*Target, error) { - result, err := p.vagrant.FindTarget( - p.ctx, - &vagrant_server.FindTargetRequest{ - Target: &vagrant_server.Target{ - Name: n, - Project: p.Ref(), - }, - }, - ) - if err != nil { - return nil, err - } - - // If the target exists, load and return - if result != nil { - return &Target{ - client: p.client, - ctx: p.ctx, - logger: p.logger.Named("target"), - project: p, - target: result.Target, - ui: p.ui, - vagrant: p.vagrant, - }, nil - } - - // TODO(spox): Some adjustment is needed on how targets - // should be loaded here when their origin - // will be the vagrantfile - return nil, fmt.Errorf("cannot load target") -} - -func (p *Project) UI() terminal.UI { - return p.ui -} - -func (p *Project) Close() error { - return p.basis.Close() -} - -// Ref returns the raw Vagrant server API client. -func (p *Project) Ref() *vagrant_plugin_sdk.Ref_Project { - return &vagrant_plugin_sdk.Ref_Project{ - Name: p.project.Name, - ResourceId: p.project.ResourceId, - Basis: p.basis.Ref(), - } -} diff --git a/internal/client/server.go b/internal/client/server.go index 84d1c4a45..b981f2c95 100644 --- a/internal/client/server.go +++ b/internal/client/server.go @@ -12,8 +12,10 @@ import ( "os/exec" "path/filepath" "strings" + // "time" "github.com/glebarez/sqlite" + // "github.com/hashicorp/go-hclog" "github.com/hashicorp/go-plugin" "github.com/hashicorp/vagrant-plugin-sdk/helper/paths" "google.golang.org/grpc" @@ -35,12 +37,11 @@ import ( // // This function will do one of two things: // -// 1. If connection options were given, it'll attempt to connect to -// an existing Vagrant server. -// -// 2. If WithLocal was specified and no connection addresses can be -// found, this will spin up an in-memory server. +// 1. If connection options were given, it'll attempt to connect to +// an existing Vagrant server. // +// 2. If WithLocal was specified and no connection addresses can be +// found, this will spin up an in-memory server. func (c *Client) initServerClient(ctx context.Context, cfg *clientConfig) (*grpc.ClientConn, error) { log := c.logger.ResetNamed("vagrant.server") @@ -108,6 +109,15 @@ func (c *Client) initLocalServer(ctx context.Context) (_ *grpc.ClientConn, err e // Open our database db, err := gorm.Open(sqlite.Open(path), &gorm.Config{ Logger: logger.Default.LogMode(logger.Silent), + // Logger: logger.New( + // log.StandardLogger(&hclog.StandardLoggerOptions{InferLevels: true}), + // logger.Config{ + // SlowThreshold: 200 * time.Millisecond, + // LogLevel: logger.Info, + // IgnoreRecordNotFoundError: false, + // Colorful: true, + // }, + // ), }) db.Exec("PRAGMA foreign_keys = ON") if err != nil { diff --git a/internal/client/target.go b/internal/client/target.go deleted file mode 100644 index 7e40479ba..000000000 --- a/internal/client/target.go +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package client - -import ( - "context" - - "github.com/hashicorp/go-hclog" - - "github.com/hashicorp/vagrant-plugin-sdk/proto/vagrant_plugin_sdk" - "github.com/hashicorp/vagrant-plugin-sdk/terminal" - "github.com/hashicorp/vagrant/internal/server/proto/vagrant_server" - "github.com/hashicorp/vagrant/internal/serverclient" -) - -type Target struct { - client *Client - ctx context.Context - logger hclog.Logger - project *Project - target *vagrant_server.Target - ui terminal.UI - vagrant *serverclient.VagrantClient -} - -func (m *Target) UI() terminal.UI { - return m.ui -} - -func (m *Target) Ref() *vagrant_plugin_sdk.Ref_Target { - return &vagrant_plugin_sdk.Ref_Target{ - ResourceId: m.target.ResourceId, - Name: m.target.Name, - Project: m.project.Ref(), - } -} diff --git a/internal/core/basis.go b/internal/core/basis.go index ceb45c23f..ab7fa4260 100644 --- a/internal/core/basis.go +++ b/internal/core/basis.go @@ -21,6 +21,7 @@ import ( "google.golang.org/protobuf/proto" "github.com/hashicorp/vagrant-plugin-sdk/component" + vconfig "github.com/hashicorp/vagrant-plugin-sdk/config" "github.com/hashicorp/vagrant-plugin-sdk/core" "github.com/hashicorp/vagrant-plugin-sdk/datadir" "github.com/hashicorp/vagrant-plugin-sdk/helper/path" @@ -193,9 +194,6 @@ func (b *Basis) Init() error { // Create our vagrantfile b.vagrantfile = NewVagrantfile(b.factory, b.boxCollection, b.mappers, b.logger) - // Register the basis as a Vagrantfile source - b.vagrantfile.Source(b.basis.Configuration, VAGRANTFILE_BASIS) - // Register configuration plugins when they are loaded b.plugins.Initializer(b.configRegistration) @@ -249,6 +247,11 @@ func (b *Basis) Init() error { // Set seeds for any plugins that may be used b.seed(nil) + // Register the basis as a Vagrantfile source + if err = b.vagrantfile.Source(b.basis.Configuration, VAGRANTFILE_BASIS); err != nil { + return err + } + // Initialize the Vagrantfile for the basis if err = b.vagrantfile.Init(); err != nil { b.logger.Error("basis setup failed to initialize vagrantfile", @@ -306,8 +309,9 @@ func (b *Basis) String() string { } // Config implements core.Basis -func (b *Basis) Config() (core.Vagrantfile, error) { - return b.vagrantfile, nil +func (b *Basis) Config() (*vconfig.Vagrantfile, error) { + return nil, fmt.Errorf("not implemented") + //return vconfig.DecodeVagrantfile(b.basis.Configuration.Finalized) } // CWD implements core.Basis @@ -503,24 +507,29 @@ func (b *Basis) Host() (host core.Host, err error) { return h.(core.Host), nil } - rawHostName, err := b.vagrantfile.GetValue("vagrant", "host") - if err == nil { - b.logger.Debug("extracted host information from config", - "host", rawHostName, - ) + // TODO(spox): this is for when we have implemented vagrantfile conversions + // bConfig, err := b.Config() + // if err != nil { + // b.logger.Error("failed to get configuration for basis") + // return + // } - hostName, ok := rawHostName.(string) - if ok && hostName != "" { - // If a host is set, then just try to detect that - hostComponent, err := b.component(b.ctx, component.HostType, hostName) - if err != nil { - return nil, fmt.Errorf("failed to find requested host plugin") - } - b.cache.Register("host", hostComponent.Value.(core.Host)) - b.logger.Info("host detection overridden by local configuration") - return hostComponent.Value.(core.Host), nil - } - } + // if bConfig != nil { + // var hostName string + // if bConfig.Vagrant.Host != nil { + // hostName = *bConfig.Vagrant.Host + // } + // if hostName != "" { + // // If a host is set, then just try to detect that + // hostComponent, err := b.component(b.ctx, component.HostType, hostName) + // if err != nil { + // return nil, fmt.Errorf("failed to find requested host plugin") + // } + // b.cache.Register("host", hostComponent.Value.(core.Host)) + // b.logger.Info("host detection overridden by local configuration") + // return hostComponent.Value.(core.Host), nil + // } + // } // If a host is not defined in the Vagrantfile, try to detect it hosts, err := b.typeComponents(b.ctx, component.HostType) diff --git a/internal/core/machine.go b/internal/core/machine.go index 86172ef43..80fead9d9 100644 --- a/internal/core/machine.go +++ b/internal/core/machine.go @@ -495,7 +495,8 @@ func (m *Machine) AsTarget() (core.Target, error) { func (m *Machine) SaveMachine() (err error) { m.logger.Debug("saving machine to db", "machine", m.machine.Id) // Update the target record and uuid to match the machine's new state - m.target.Uuid = m.machine.Id + // TODO(spox): the uuid shouldn't be getting set to the Id, was there any reason for this? + // m.target.Uuid = m.machine.Id m.target.Record, err = anypb.New(m.machine) if err != nil { m.logger.Warn("failed to convert machine data to any value", diff --git a/internal/core/machine_test.go b/internal/core/machine_test.go index b436edc95..f02537ab0 100644 --- a/internal/core/machine_test.go +++ b/internal/core/machine_test.go @@ -35,7 +35,12 @@ func TestMachineSetValidId(t *testing.T) { if err != nil { t.Errorf("Failed to get target") } - require.Equal(t, dbTarget.Target.Uuid, "something") + + var dbMachine vagrant_server.Target_Machine + err = dbTarget.Target.Record.UnmarshalTo(&dbMachine) + require.NoError(t, err) + + require.Equal(t, dbMachine.Id, "something") } func TestMachineSetEmptyId(t *testing.T) { diff --git a/internal/core/project.go b/internal/core/project.go index 1b0f98c55..15268aa95 100644 --- a/internal/core/project.go +++ b/internal/core/project.go @@ -221,6 +221,20 @@ func (p *Project) Init() error { return p.Save() }) + // TODO(spox): this was just added for testing. make cleaner + _, err = p.Client().UpsertProject(p.ctx, + &vagrant_server.UpsertProjectRequest{ + Project: p.project, + }, + ) + if err != nil { + p.logger.Trace("failed to save project", + "error", err, + ) + + return err + } + // Set flag that this instance is setup p.ready = true @@ -712,6 +726,9 @@ func (p *Project) Save() error { "error", err, ) } else { + if p.project.Configuration == nil { + p.project.Configuration = &vagrant_server.Vagrantfile{} + } p.project.Configuration.Finalized = val.Data } } diff --git a/internal/core/vagrantfile.go b/internal/core/vagrantfile.go index d52880ced..d942151c8 100644 --- a/internal/core/vagrantfile.go +++ b/internal/core/vagrantfile.go @@ -6,16 +6,25 @@ package core import ( "context" "fmt" + "path/filepath" + "reflect" + "strings" "sync" + "github.com/fatih/structs" + "github.com/fatih/structtag" "github.com/hashicorp/go-argmapper" "github.com/hashicorp/go-hclog" + "github.com/hashicorp/hcl/v2" + "github.com/hashicorp/hcl/v2/gohcl" + "github.com/hashicorp/hcl/v2/hclsimple" + "github.com/mitchellh/protostructure" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" - "google.golang.org/protobuf/proto" "github.com/hashicorp/vagrant-plugin-sdk/component" + "github.com/hashicorp/vagrant-plugin-sdk/config" "github.com/hashicorp/vagrant-plugin-sdk/core" "github.com/hashicorp/vagrant-plugin-sdk/helper/types" "github.com/hashicorp/vagrant-plugin-sdk/internal-shared/cacher" @@ -66,6 +75,10 @@ func (r *registration) String() string { r.identifier, r.plugin, r.set, r.subregistrations) } +func (r *registration) hasSubs() bool { + return len(r.subregistrations) > 0 +} + // Register a config component as a subconfig func (r *registration) sub(scope string, p *plugin.Plugin) error { if _, ok := r.subregistrations[scope]; !ok { @@ -128,9 +141,10 @@ func (r registrations) register(n string, p *plugin.Plugin) error { // Represents an individual Vagrantfile source type source struct { - base *vagrant_server.Vagrantfile - finalized *component.ConfigData - unfinalized *component.ConfigData + base *vagrant_server.Vagrantfile // proto representing the Vagrantfile + finalized *component.ConfigData // raw configuration data after finalization + unfinalized *component.ConfigData // raw configuration data prior to finalization + vagrantfile *config.Vagrantfile // vagrantfile as processed } // And here's our Vagrantfile! @@ -205,10 +219,7 @@ func (v *Vagrantfile) GetSource( ) (*vagrant_server.Vagrantfile, error) { s, ok := v.sources[l] if !ok { - return nil, fmt.Errorf( - "no vagrantfile source for given location (%s)", - l.String(), - ) + return nil, fmt.Errorf("no vagrantfile source for given location (%s)", l) } return s.base, nil @@ -372,10 +383,20 @@ func (v *Vagrantfile) GetConfig( return c, nil } +// Get the configuration for the given namespace and load +// it into the provided configuration struct +func (v *Vagrantfile) Get( + namespace string, // top level key in vagrantfile + config any, // pointer to configuration struct to populate +) error { + return nil +} + // Get the primary target name // TODO(spox): VM options support is not implemented yet, so this -// will not return the correct value when default option -// has been specified in the Vagrantfile +// +// will not return the correct value when default option +// has been specified in the Vagrantfile func (v *Vagrantfile) PrimaryTargetName() (n string, err error) { list, err := v.TargetNames() if err != nil { @@ -437,7 +458,8 @@ func (v *Vagrantfile) TargetNames() (list []string, err error) { // Load a new target instance // TODO(spox): Probably add a name check against TargetNames -// before doing the config load +// +// before doing the config load func (v *Vagrantfile) Target( name, // Name of the target provider string, // Provider backing the target @@ -835,12 +857,23 @@ func (v *Vagrantfile) newSource( f *vagrant_server.Vagrantfile, // backing Vagrantfile proto for source ) (s *source, err error) { s = &source{ - base: f, + base: f, + unfinalized: &component.ConfigData{}, } - // First we need to unpack the unfinalized data. - if s.unfinalized, err = v.generateConfig(f.Unfinalized); err != nil { - return + // Start with loading the Vagrantfile if it hasn't + // yet been loaded + if s.base.Unfinalized == nil { + if err := v.loadVagrantfile(s); err != nil { + return nil, err + } + } + + if s.unfinalized == nil { + // First we need to unpack the unfinalized data. + if s.unfinalized, err = v.generateConfig(f.Unfinalized); err != nil { + return + } } // Next, if we have finalized data already set, just restore it @@ -853,6 +886,250 @@ func (v *Vagrantfile) newSource( return s, nil } +func (v *Vagrantfile) loadVagrantfile( + source *source, +) error { + var err error + + if source.base.Path == nil { + return nil + } + + // Set the format and load the file based on extension + switch filepath.Ext(source.base.Path.Path) { + case ".hcl": + source.base.Format = vagrant_server.Vagrantfile_HCL + if err = v.parseHCL(source); err != nil { + return err + } + // Need to load and encode from here. Thoughts about protostructure and + // if we should be treating hcl processed config differently + case ".json": + source.base.Format = vagrant_server.Vagrantfile_JSON + if err = v.parseHCL(source); err != nil { + return err + } + default: + source.base.Format = vagrant_server.Vagrantfile_RUBY + source.base.Unfinalized, err = v.rubyClient.ParseVagrantfile(source.base.Path.Path) + source.unfinalized, err = v.generateConfig(source.base.Unfinalized) + if err != nil { + return err + } + } + + return nil +} + +func (v *Vagrantfile) parseHCL(source *source) error { + if source == nil { + panic("vagrantfile source is nil") + } + target := &config.Vagrantfile{} + + // This handles loading native configuration + err := hclsimple.DecodeFile(source.base.Path.Path, nil, target) + if err != nil { + v.logger.Error("failed to decode vagrantfile", "path", source.base.Path.Path, "error", err) + return err + } + + if source.unfinalized == nil { + source.unfinalized = &component.ConfigData{} + } + source.unfinalized.Source = structs.Name(target) + source.unfinalized.Data = map[string]interface{}{} + // Serialize all non-plugin configuration values/namespaces + fields := structs.Fields(target) + for _, field := range fields { + // TODO(spox): This is just implemented enough to get things + // working. It needs to be reimplemented with helpers and all + // that stuff. + + // if the field is the body content or remaining content after + // being parsed, ignore it + tags, err := structtag.Parse(`hcl:"` + field.Tag("hcl") + `"`) + if err != nil { + return err + } + tag, err := tags.Get("hcl") + if err != nil { + return err + } + skip := false + for _, opt := range tag.Options { + if opt == "remain" || opt == "body" { + skip = true + } + } + if skip { + continue + } + + // If there is no field name, or if the value is empty + // just ignore it + n := field.Name() + np := strings.Split(field.Tag("hcl"), ",") + if len(np) > 0 { + n = np[0] + } + if n == "" { + continue + } + + val := field.Value() + if field.IsZero() { + val = &component.ConfigData{Data: map[string]any{}} + } + rval := reflect.ValueOf(val) + + // If the value is a struct, convert it to a map before storing + if rval.Kind() == reflect.Struct || (rval.Kind() == reflect.Pointer && rval.Elem().Kind() == reflect.Struct) { + val = &component.ConfigData{ + Source: structs.Name(val), + Data: structs.Map(val), + } + } + source.unfinalized.Data[n] = val + } + + // Now load all configuration which has registrations + for namespace, registration := range v.registrations { + // If no plugin is attached to registration, skip + if registration.plugin == nil { + continue + } + + // Not handling subregistrations yet + if registration.hasSubs() { + continue + } + + config, err := v.componentForKey(namespace) + if err != nil { + v.logger.Error("failed to dispense config plugin", "namespace", namespace, "error", err) + return err + } + + configTarget, err := config.Struct() + if err != nil { + v.logger.Error("failed to receive config structure", "namespace", namespace) + return err + } + + // If the struct value is a boolean, then the plugin is Ruby based. Take any configuration + // that is currently defined (would have been populated via HCL file) and ship it to the + // plugin to attempt to initialize itself with the existing data. + // + // TODO(spox): the data structure generated should use the hcl tag name as the key which + // should match up better with the expected ruby configs + if _, ok := configTarget.(bool); ok { + vc := structs.New(target) + + // Find the configuration data for the current namespace + var field *structs.Field + for _, f := range vc.Fields() { + t := f.Tag("hcl") + np := strings.Split(t, ",") + if len(np) < 1 { + break + } + n := np[0] + if n == namespace { + field = f + break + } + } + + var data map[string]any + + // If no field was found for namespace, or the value is empty, skip + if field == nil || field.IsZero() { + data = map[string]any{} + } else { + data = structs.Map(field.Value()) + } + + cd, err := config.Init(&component.ConfigData{Data: data}) + if err != nil { + v.logger.Error("ruby config init failed", "error", err) + return err + } + source.unfinalized.Data[namespace] = cd + + v.logger.Trace("stored unfinalized configuration data", "namespace", namespace, "value", cd) + continue + } + + v.logger.Trace("config structure received", "namespace", namespace, "struct", hclog.Fmt("%#v", configTarget)) + + // A protostructure.Struct value is expected to build the configuration structure + cs, ok := configTarget.(*protostructure.Struct) + if !ok { + v.logger.Error("config value is not protostructure.Struct", "namespace", namespace, + "type", hclog.Fmt("%T", configTarget)) + return fmt.Errorf("invalid configuration type received %T", configTarget) + } + + // Create the configuration structure + configStruct, err := protostructure.New(cs) + if err != nil { + return err + } + + // Build a struct which contains the configuration structure + // so the Vagrantfile contents can be decoded into it + wrapStructType := reflect.StructOf( + []reflect.StructField{ + { + Name: "Remain", + Type: reflect.TypeOf((*hcl.Body)(nil)).Elem(), + Tag: reflect.StructTag(`hcl:",remain"`), + }, + { + Name: "Content", + Type: reflect.TypeOf(configStruct), + Tag: reflect.StructTag(fmt.Sprintf(`hcl:"%s,block"`, namespace)), + }, + }, + ) + wrapStruct := reflect.New(wrapStructType) + + // Decode the Vagrantfile into the new wrapper + diag := gohcl.DecodeBody(target.Remain, nil, wrapStruct.Interface()) + if diag.HasErrors() { + return fmt.Errorf("failed to load config namespace %s: %s", namespace, diag.Error()) + } + + // Extract the decoded configuration + str := structs.New(wrapStruct.Interface()) + f, ok := str.FieldOk("Content") + if !ok { + v.logger.Debug("missing 'Content' field in wrapper struct", "wrapper", wrapStruct.Interface()) + return fmt.Errorf("unexpected missing data during Vagrantfile decoding") + } + + decodedConfig := f.Value() + v.logger.Trace("configuration value decoded", "namespace", namespace, "config", decodedConfig) + + // Use reflect to do a proper nil check since interface + // will be typed + if reflect.ValueOf(decodedConfig).IsNil() { + v.logger.Debug("decoded configuration was nil, continuing...", "namespace", namespace) + continue + } + + // Convert the configuration value into a map and store in the unfinalized + // data for the plugin's namespace + decodedMap := structs.Map(decodedConfig) + source.unfinalized.Data[namespace] = &component.ConfigData{Data: decodedMap} + + v.logger.Trace("stored unfinalized configuration data", "namespace", namespace, "value", decodedMap) + } + + return nil +} + // Finalize all configuration held within the provided // config data. This assumes the given config data is // the top level, with each key being the namespace @@ -865,60 +1142,56 @@ func (v *Vagrantfile) finalize( } var c core.Config var r *component.ConfigData - for k, val := range conf.Data { - v.logger.Trace("starting configuration finalization", - "namespace", k, - ) - if c, err = v.componentForKey(k); err != nil { - return - } - - data, ok := val.(*component.ConfigData) + seen := map[string]struct{}{} + for n, val := range conf.Data { + seen[n] = struct{}{} + reg, ok := v.registrations[n] if !ok { - v.logger.Error("invalid config type", - "key", k, - "type", hclog.Fmt("%T", val), - "value", hclog.Fmt("%#v", val), - ) - return nil, fmt.Errorf("config for %s is invalid type %T", k, val) - } - v.logger.Trace("finalizing configuration data", - "namespace", k, - "data", data, - ) - if r, err = c.Finalize(data); err != nil { - return - } - v.logger.Trace("finalized configuration data", - "namespace", k, - ) - result.Data[k] = r - v.logger.Trace("finalized data has been stored in result", - "namespace", k, - ) - } - - // Now we need to run through all our registered config components - // and for any we don't have a value for, and automatically finalize - for n, reg := range v.registrations { - // If no plugin is attached, skip - if reg.plugin == nil { + v.logger.Warn("no plugin registered", "namespace", n) continue } - // If we have data already, skip + v.logger.Trace("starting finalization", "namespace", n) + // if no plugin attached, skip + if reg.plugin == nil { + v.logger.Warn("missing plugin registration", "namespace", n) + continue + } + var data *component.ConfigData + data, ok = val.(*component.ConfigData) + if !ok { + v.logger.Error("invalid data for namespace", "type", hclog.Fmt("%T", val)) + return nil, fmt.Errorf("invalid data encountered in '%s' namespace", n) + } + + v.logger.Trace("finalizing", "namespace", n, "data", data) + + if c, err = v.componentForKey(n); err != nil { + return nil, err + } + + if r, err = c.Finalize(data); err != nil { + return nil, err + } + + v.logger.Trace("finalized", "namespace", n, "data", r) + + result.Data[n] = r + } + + for n, reg := range v.registrations { if _, ok := result.Data[n]; ok { continue } - - // Get the config component and send an empty request - // so we can store the default finalized config + if reg.plugin == nil { + v.logger.Warn("missing plugin registration", "namespace", n) + continue + } if c, err = v.componentForKey(n); err != nil { - return + return nil, err } - if r, err = c.Finalize(&component.ConfigData{}); err != nil { - return + if result.Data[n], err = c.Finalize(&component.ConfigData{}); err != nil { + return nil, err } - result.Data[n] = r } v.logger.Trace("configuration data finalization is now complete") @@ -946,8 +1219,10 @@ func (v *Vagrantfile) setFinalized( ), ) if err != nil { + v.logger.Error("failed to convert data into finalized proto value") return err } + s.base.Finalized = raw.(*vagrant_plugin_sdk.Args_Hash) return nil @@ -1038,7 +1313,7 @@ func (v *Vagrantfile) componentForKey( // Merge two config data instances func (v *Vagrantfile) merge( base, // initial config data - toMerge *component.ConfigData, // config data to merge into base + overlay *component.ConfigData, // config data to merge into base ) (*component.ConfigData, error) { result := &component.ConfigData{ Data: make(map[string]interface{}), @@ -1049,52 +1324,60 @@ func (v *Vagrantfile) merge( for k, _ := range base.Data { keys[k] = struct{}{} } - for k, _ := range toMerge.Data { + for k, _ := range overlay.Data { keys[k] = struct{}{} } for k, _ := range keys { c, err := v.componentForKey(k) if err != nil { - return nil, err + v.logger.Debug("no config component for namespace, skipping", "namespace", k) } - rawBase, ok1 := base.Data[k] - rawToMerge, ok2 := toMerge.Data[k] + rawBase, okBase := base.Data[k] + rawOverlay, okOverlay := overlay.Data[k] - if ok1 && !ok2 { + if okBase && !okOverlay { result.Data[k] = rawBase v.logger.Debug("only base value available, no merge performed", - "namespace", k, + "namespace", k, "config", rawBase, ) continue } - if !ok1 && ok2 { - result.Data[k] = rawToMerge - v.logger.Debug("only toMerge value available, no merge performed", - "namespace", k, + if !okBase && okOverlay { + result.Data[k] = rawOverlay + v.logger.Debug("only overlay value available, no merge performed", + "namespace", k, "config", rawOverlay, + ) + continue + } + + if c == nil { + result.Data[k] = rawOverlay + v.logger.Debug("no component for namespace, applying overlay directly", + "namespace", k, "config", rawOverlay, ) continue } var ok bool - var valBase, valToMerge *component.ConfigData + var valBase, valOverlay *component.ConfigData valBase, ok = rawBase.(*component.ConfigData) if !ok { return nil, fmt.Errorf("bad value type for merge %T", rawBase) } - valToMerge, ok = rawToMerge.(*component.ConfigData) + valOverlay, ok = rawOverlay.(*component.ConfigData) if !ok { - return nil, fmt.Errorf("bad value type for merge %T", rawToMerge) + return nil, fmt.Errorf("bad value type for merge %T", rawOverlay) } v.logger.Debug("merging values", "namespace", k, "base", valBase, - "overlay", valToMerge, + "overlay", valOverlay, ) - r, err := c.Merge(valBase, valToMerge) + r, err := c.Merge(valBase, valOverlay) if err != nil { return nil, err } @@ -1275,4 +1558,17 @@ func optionToString( return } +func structToMap(in any) map[string]any { + new := structs.Map(in) + for key, _ := range new { + val := new[key] + rval := reflect.ValueOf(val) + if rval.Kind() == reflect.Struct || (rval.Kind() == reflect.Pointer && rval.Elem().Kind() == reflect.Struct) { + new[key] = structToMap(val) + } + } + + return new +} + var _ core.Vagrantfile = (*Vagrantfile)(nil) diff --git a/internal/runner/operation.go b/internal/runner/operation.go index 0471e1fb7..6557b7335 100644 --- a/internal/runner/operation.go +++ b/internal/runner/operation.go @@ -123,6 +123,12 @@ func (r *Runner) executeJob( case *vagrant_server.Job_Init: return r.executeInitOp(ctx, job, b) + case *vagrant_server.Job_InitProject: + return r.executeInitProjectOp(ctx, job, p) + + case *vagrant_server.Job_InitBasis: + return r.executeInitBasisOp(ctx, job, b) + case *vagrant_server.Job_Command: log.Warn("running a run operation", "scope", scope, "job", job) return r.executeRunOp(ctx, job, scope) diff --git a/internal/runner/operation_initbasis.go b/internal/runner/operation_initbasis.go new file mode 100644 index 000000000..e68d2269f --- /dev/null +++ b/internal/runner/operation_initbasis.go @@ -0,0 +1,29 @@ +package runner + +import ( + "context" + + "github.com/hashicorp/vagrant-plugin-sdk/proto/vagrant_plugin_sdk" + "github.com/hashicorp/vagrant/internal/core" + "github.com/hashicorp/vagrant/internal/server/proto/vagrant_server" +) + +func (r *Runner) executeInitBasisOp( + ctx context.Context, + job *vagrant_server.Job, + basis *core.Basis, +) (result *vagrant_server.Job_Result, err error) { + _, ok := job.Operation.(*vagrant_server.Job_InitBasis) + if !ok { + panic("operation not expected type") + } + + ref, ok := basis.Ref().(*vagrant_plugin_sdk.Ref_Basis) + // x, err := basis.RunInit() + result = &vagrant_server.Job_Result{ + Basis: &vagrant_server.Job_InitBasisResult{ + Basis: ref, + }, + } + return +} diff --git a/internal/runner/operation_initproject.go b/internal/runner/operation_initproject.go new file mode 100644 index 000000000..9513af324 --- /dev/null +++ b/internal/runner/operation_initproject.go @@ -0,0 +1,29 @@ +package runner + +import ( + "context" + + "github.com/hashicorp/vagrant-plugin-sdk/proto/vagrant_plugin_sdk" + "github.com/hashicorp/vagrant/internal/core" + "github.com/hashicorp/vagrant/internal/server/proto/vagrant_server" +) + +func (r *Runner) executeInitProjectOp( + ctx context.Context, + job *vagrant_server.Job, + project *core.Project, +) (result *vagrant_server.Job_Result, err error) { + _, ok := job.Operation.(*vagrant_server.Job_InitProject) + if !ok { + panic("operation not expected type") + } + + ref, ok := project.Ref().(*vagrant_plugin_sdk.Ref_Project) + // x, err := basis.RunInit() + result = &vagrant_server.Job_Result{ + Project: &vagrant_server.Job_InitProjectResult{ + Project: ref, + }, + } + return +} diff --git a/internal/server/component/component.go b/internal/server/component/component.go deleted file mode 100644 index 870d6b7db..000000000 --- a/internal/server/component/component.go +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -// Package component has component implementations for the various -// resulting types. -package component diff --git a/internal/server/proto/ruby_vagrant/ruby-server.pb.go b/internal/server/proto/ruby_vagrant/ruby-server.pb.go index 81254fe78..3a2563ee8 100644 --- a/internal/server/proto/ruby_vagrant/ruby-server.pb.go +++ b/internal/server/proto/ruby_vagrant/ruby-server.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 -// protoc v3.19.4 +// protoc v3.21.12 // source: proto/ruby_vagrant/ruby-server.proto package ruby_vagrant diff --git a/internal/server/proto/ruby_vagrant/ruby-server_grpc.pb.go b/internal/server/proto/ruby_vagrant/ruby-server_grpc.pb.go index 1385dc409..62cdfc660 100644 --- a/internal/server/proto/ruby_vagrant/ruby-server_grpc.pb.go +++ b/internal/server/proto/ruby_vagrant/ruby-server_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.19.4 +// - protoc-gen-go-grpc v1.3.0 +// - protoc v3.21.12 // source: proto/ruby_vagrant/ruby-server.proto package ruby_vagrant @@ -19,6 +19,15 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 +const ( + RubyVagrant_GetPlugins_FullMethodName = "/hashicorp.vagrant.RubyVagrant/GetPlugins" + RubyVagrant_ParseVagrantfile_FullMethodName = "/hashicorp.vagrant.RubyVagrant/ParseVagrantfile" + RubyVagrant_ParseVagrantfileProc_FullMethodName = "/hashicorp.vagrant.RubyVagrant/ParseVagrantfileProc" + RubyVagrant_ParseVagrantfileSubvm_FullMethodName = "/hashicorp.vagrant.RubyVagrant/ParseVagrantfileSubvm" + RubyVagrant_ParseVagrantfileProvider_FullMethodName = "/hashicorp.vagrant.RubyVagrant/ParseVagrantfileProvider" + RubyVagrant_Stop_FullMethodName = "/hashicorp.vagrant.RubyVagrant/Stop" +) + // RubyVagrantClient is the client API for RubyVagrant service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -42,7 +51,7 @@ func NewRubyVagrantClient(cc grpc.ClientConnInterface) RubyVagrantClient { func (c *rubyVagrantClient) GetPlugins(ctx context.Context, in *GetPluginsRequest, opts ...grpc.CallOption) (*GetPluginsResponse, error) { out := new(GetPluginsResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.RubyVagrant/GetPlugins", in, out, opts...) + err := c.cc.Invoke(ctx, RubyVagrant_GetPlugins_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -51,7 +60,7 @@ func (c *rubyVagrantClient) GetPlugins(ctx context.Context, in *GetPluginsReques func (c *rubyVagrantClient) ParseVagrantfile(ctx context.Context, in *ParseVagrantfileRequest, opts ...grpc.CallOption) (*ParseVagrantfileResponse, error) { out := new(ParseVagrantfileResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.RubyVagrant/ParseVagrantfile", in, out, opts...) + err := c.cc.Invoke(ctx, RubyVagrant_ParseVagrantfile_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -60,7 +69,7 @@ func (c *rubyVagrantClient) ParseVagrantfile(ctx context.Context, in *ParseVagra func (c *rubyVagrantClient) ParseVagrantfileProc(ctx context.Context, in *ParseVagrantfileProcRequest, opts ...grpc.CallOption) (*ParseVagrantfileResponse, error) { out := new(ParseVagrantfileResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.RubyVagrant/ParseVagrantfileProc", in, out, opts...) + err := c.cc.Invoke(ctx, RubyVagrant_ParseVagrantfileProc_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -69,7 +78,7 @@ func (c *rubyVagrantClient) ParseVagrantfileProc(ctx context.Context, in *ParseV func (c *rubyVagrantClient) ParseVagrantfileSubvm(ctx context.Context, in *ParseVagrantfileSubvmRequest, opts ...grpc.CallOption) (*ParseVagrantfileResponse, error) { out := new(ParseVagrantfileResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.RubyVagrant/ParseVagrantfileSubvm", in, out, opts...) + err := c.cc.Invoke(ctx, RubyVagrant_ParseVagrantfileSubvm_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -78,7 +87,7 @@ func (c *rubyVagrantClient) ParseVagrantfileSubvm(ctx context.Context, in *Parse func (c *rubyVagrantClient) ParseVagrantfileProvider(ctx context.Context, in *ParseVagrantfileProviderRequest, opts ...grpc.CallOption) (*ParseVagrantfileResponse, error) { out := new(ParseVagrantfileResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.RubyVagrant/ParseVagrantfileProvider", in, out, opts...) + err := c.cc.Invoke(ctx, RubyVagrant_ParseVagrantfileProvider_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -87,7 +96,7 @@ func (c *rubyVagrantClient) ParseVagrantfileProvider(ctx context.Context, in *Pa func (c *rubyVagrantClient) Stop(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.RubyVagrant/Stop", in, out, opts...) + err := c.cc.Invoke(ctx, RubyVagrant_Stop_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -153,7 +162,7 @@ func _RubyVagrant_GetPlugins_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.RubyVagrant/GetPlugins", + FullMethod: RubyVagrant_GetPlugins_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RubyVagrantServer).GetPlugins(ctx, req.(*GetPluginsRequest)) @@ -171,7 +180,7 @@ func _RubyVagrant_ParseVagrantfile_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.RubyVagrant/ParseVagrantfile", + FullMethod: RubyVagrant_ParseVagrantfile_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RubyVagrantServer).ParseVagrantfile(ctx, req.(*ParseVagrantfileRequest)) @@ -189,7 +198,7 @@ func _RubyVagrant_ParseVagrantfileProc_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.RubyVagrant/ParseVagrantfileProc", + FullMethod: RubyVagrant_ParseVagrantfileProc_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RubyVagrantServer).ParseVagrantfileProc(ctx, req.(*ParseVagrantfileProcRequest)) @@ -207,7 +216,7 @@ func _RubyVagrant_ParseVagrantfileSubvm_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.RubyVagrant/ParseVagrantfileSubvm", + FullMethod: RubyVagrant_ParseVagrantfileSubvm_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RubyVagrantServer).ParseVagrantfileSubvm(ctx, req.(*ParseVagrantfileSubvmRequest)) @@ -225,7 +234,7 @@ func _RubyVagrant_ParseVagrantfileProvider_Handler(srv interface{}, ctx context. } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.RubyVagrant/ParseVagrantfileProvider", + FullMethod: RubyVagrant_ParseVagrantfileProvider_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RubyVagrantServer).ParseVagrantfileProvider(ctx, req.(*ParseVagrantfileProviderRequest)) @@ -243,7 +252,7 @@ func _RubyVagrant_Stop_Handler(srv interface{}, ctx context.Context, dec func(in } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.RubyVagrant/Stop", + FullMethod: RubyVagrant_Stop_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RubyVagrantServer).Stop(ctx, req.(*emptypb.Empty)) diff --git a/internal/server/proto/vagrant_server/server.pb.go b/internal/server/proto/vagrant_server/server.pb.go index 9e72553a4..d9b316377 100644 --- a/internal/server/proto/vagrant_server/server.pb.go +++ b/internal/server/proto/vagrant_server/server.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 -// protoc v3.19.4 +// protoc v3.21.12 // source: proto/vagrant_server/server.proto package vagrant_server @@ -431,7 +431,7 @@ func (x Job_Hook_Location) Number() protoreflect.EnumNumber { // Deprecated: Use Job_Hook_Location.Descriptor instead. func (Job_Hook_Location) EnumDescriptor() ([]byte, []int) { - return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 12, 0} + return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 16, 0} } type ExecStreamResponse_Output_Channel int32 @@ -705,7 +705,7 @@ type Vagrantfile struct { Raw []byte `protobuf:"bytes,3,opt,name=raw,proto3" json:"raw,omitempty"` // Format of this Vagrantfile Format Vagrantfile_Format `protobuf:"varint,4,opt,name=format,proto3,enum=hashicorp.vagrant.Vagrantfile_Format" json:"format,omitempty"` - // Original path of the Vagrantfileo + // Original path of the Vagrantfile Path *vagrant_plugin_sdk.Args_Path `protobuf:"bytes,5,opt,name=path,proto3" json:"path,omitempty"` } @@ -1159,7 +1159,7 @@ type Target struct { Uuid string `protobuf:"bytes,8,opt,name=uuid,proto3" json:"uuid,omitempty"` // Custom metadata Metadata *vagrant_plugin_sdk.Args_MetadataSet `protobuf:"bytes,9,opt,name=metadata,proto3" json:"metadata,omitempty"` - // Serialized configuration of the target + // Serialized configuration of the target (Vagrantfile) Configuration *vagrant_plugin_sdk.Args_ConfigData `protobuf:"bytes,10,opt,name=configuration,proto3" json:"configuration,omitempty"` // Specialized target information (from provider) Record *anypb.Any `protobuf:"bytes,11,opt,name=record,proto3" json:"record,omitempty"` @@ -1937,6 +1937,7 @@ type Job struct { // must be set. // // Types that are assignable to Scope: + // // *Job_Basis // *Job_Project // *Job_Target @@ -1959,12 +1960,15 @@ type Job struct { // The operation to execute. See the message docs for details on the operation. // // Types that are assignable to Operation: + // // *Job_Noop_ // *Job_Auth // *Job_Docs // *Job_Validate // *Job_Command // *Job_Init + // *Job_InitBasis + // *Job_InitProject Operation isJob_Operation `protobuf_oneof:"operation"` // state of the job State Job_State `protobuf:"varint,100,opt,name=state,proto3,enum=hashicorp.vagrant.Job_State" json:"state,omitempty"` @@ -2137,6 +2141,20 @@ func (x *Job) GetInit() *Job_InitOp { return nil } +func (x *Job) GetInitBasis() *Job_InitBasisOp { + if x, ok := x.GetOperation().(*Job_InitBasis); ok { + return x.InitBasis + } + return nil +} + +func (x *Job) GetInitProject() *Job_InitProjectOp { + if x, ok := x.GetOperation().(*Job_InitProject); ok { + return x.InitProject + } + return nil +} + func (x *Job) GetState() Job_State { if x != nil { return x.State @@ -2257,6 +2275,14 @@ type Job_Init struct { Init *Job_InitOp `protobuf:"bytes,55,opt,name=init,proto3,oneof"` } +type Job_InitBasis struct { + InitBasis *Job_InitBasisOp `protobuf:"bytes,56,opt,name=init_basis,json=initBasis,proto3,oneof"` +} + +type Job_InitProject struct { + InitProject *Job_InitProjectOp `protobuf:"bytes,57,opt,name=init_project,json=initProject,proto3,oneof"` +} + func (*Job_Noop_) isJob_Operation() {} func (*Job_Auth) isJob_Operation() {} @@ -2269,6 +2295,10 @@ func (*Job_Command) isJob_Operation() {} func (*Job_Init) isJob_Operation() {} +func (*Job_InitBasis) isJob_Operation() {} + +func (*Job_InitProject) isJob_Operation() {} + type Documentation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2542,6 +2572,7 @@ type GetJobStreamResponse struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Event: + // // *GetJobStreamResponse_Open_ // *GetJobStreamResponse_State_ // *GetJobStreamResponse_Terminal_ @@ -2756,6 +2787,7 @@ type RunnerConfigRequest struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Event: + // // *RunnerConfigRequest_Open_ Event isRunnerConfigRequest_Event `protobuf_oneof:"event"` } @@ -2921,6 +2953,7 @@ type RunnerJobStreamRequest struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Event: + // // *RunnerJobStreamRequest_Request_ // *RunnerJobStreamRequest_Ack_ // *RunnerJobStreamRequest_Complete_ @@ -3073,6 +3106,7 @@ type RunnerJobStreamResponse struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Event: + // // *RunnerJobStreamResponse_Assignment // *RunnerJobStreamResponse_Cancel Event isRunnerJobStreamResponse_Event `protobuf_oneof:"event"` @@ -4641,6 +4675,7 @@ type GetLogStreamRequest struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Scope: + // // *GetLogStreamRequest_Basis // *GetLogStreamRequest_Project // *GetLogStreamRequest_Target @@ -4818,6 +4853,7 @@ type ConfigVar struct { // scope is the scoping for this config variable. // // Types that are assignable to Scope: + // // *ConfigVar_Basis // *ConfigVar_Project // *ConfigVar_Target @@ -5029,6 +5065,7 @@ type ConfigGetRequest struct { // scope is the scoping for this config variable. // // Types that are assignable to Scope: + // // *ConfigGetRequest_Target // *ConfigGetRequest_Project // *ConfigGetRequest_Basis @@ -5194,6 +5231,7 @@ type ExecStreamRequest struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Event: + // // *ExecStreamRequest_Start_ // *ExecStreamRequest_Input_ // *ExecStreamRequest_Winch @@ -5288,6 +5326,7 @@ type ExecStreamResponse struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Event: + // // *ExecStreamResponse_Open_ // *ExecStreamResponse_Output_ // *ExecStreamResponse_Exit_ @@ -5615,6 +5654,7 @@ type EntrypointExecRequest struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Event: + // // *EntrypointExecRequest_Open_ // *EntrypointExecRequest_Exit_ // *EntrypointExecRequest_Output_ @@ -5729,6 +5769,7 @@ type EntrypointExecResponse struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Event: + // // *EntrypointExecResponse_Input // *EntrypointExecResponse_Winch // *EntrypointExecResponse_Opened @@ -6219,6 +6260,7 @@ type CreateSnapshotResponse struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Event: + // // *CreateSnapshotResponse_Open_ // *CreateSnapshotResponse_Chunk Event isCreateSnapshotResponse_Event `protobuf_oneof:"event"` @@ -6303,6 +6345,7 @@ type RestoreSnapshotRequest struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Event: + // // *RestoreSnapshotRequest_Open_ // *RestoreSnapshotRequest_Chunk Event isRestoreSnapshotRequest_Event `protobuf_oneof:"event"` @@ -6627,6 +6670,7 @@ type Ref_Operation struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Target: + // // *Ref_Operation_Id // *Ref_Operation_TargetSequence // *Ref_Operation_ProjectSequence @@ -6910,6 +6954,7 @@ type Ref_Runner struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Target: + // // *Ref_Runner_Any // *Ref_Runner_Id Target isRef_Runner_Target `protobuf_oneof:"target"` @@ -7125,6 +7170,7 @@ type StatusFilter_Filter struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Filter: + // // *StatusFilter_Filter_State Filter isStatusFilter_Filter_Filter `protobuf_oneof:"filter"` } @@ -7191,11 +7237,13 @@ type Job_Result struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Auth *Job_AuthResult `protobuf:"bytes,1,opt,name=auth,proto3" json:"auth,omitempty"` - Docs *Job_DocsResult `protobuf:"bytes,2,opt,name=docs,proto3" json:"docs,omitempty"` - Validate *Job_ValidateResult `protobuf:"bytes,3,opt,name=validate,proto3" json:"validate,omitempty"` - Init *Job_InitResult `protobuf:"bytes,4,opt,name=init,proto3" json:"init,omitempty"` - Run *Job_CommandResult `protobuf:"bytes,5,opt,name=run,proto3" json:"run,omitempty"` + Auth *Job_AuthResult `protobuf:"bytes,1,opt,name=auth,proto3" json:"auth,omitempty"` + Docs *Job_DocsResult `protobuf:"bytes,2,opt,name=docs,proto3" json:"docs,omitempty"` + Validate *Job_ValidateResult `protobuf:"bytes,3,opt,name=validate,proto3" json:"validate,omitempty"` + Init *Job_InitResult `protobuf:"bytes,4,opt,name=init,proto3" json:"init,omitempty"` + Run *Job_CommandResult `protobuf:"bytes,5,opt,name=run,proto3" json:"run,omitempty"` + Basis *Job_InitBasisResult `protobuf:"bytes,6,opt,name=basis,proto3" json:"basis,omitempty"` + Project *Job_InitProjectResult `protobuf:"bytes,7,opt,name=project,proto3" json:"project,omitempty"` } func (x *Job_Result) Reset() { @@ -7265,12 +7313,27 @@ func (x *Job_Result) GetRun() *Job_CommandResult { return nil } +func (x *Job_Result) GetBasis() *Job_InitBasisResult { + if x != nil { + return x.Basis + } + return nil +} + +func (x *Job_Result) GetProject() *Job_InitProjectResult { + if x != nil { + return x.Project + } + return nil +} + type Job_DataSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Source: + // // *Job_DataSource_Local // *Job_DataSource_Git Source isJob_DataSource_Source `protobuf_oneof:"source"` @@ -7679,6 +7742,176 @@ func (x *Job_InitResult) GetHooks() []*Job_Hook { return nil } +type Job_InitBasisOp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Job_InitBasisOp) Reset() { + *x = Job_InitBasisOp{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_vagrant_server_server_proto_msgTypes[109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Job_InitBasisOp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Job_InitBasisOp) ProtoMessage() {} + +func (x *Job_InitBasisOp) ProtoReflect() protoreflect.Message { + mi := &file_proto_vagrant_server_server_proto_msgTypes[109] + 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 Job_InitBasisOp.ProtoReflect.Descriptor instead. +func (*Job_InitBasisOp) Descriptor() ([]byte, []int) { + return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 11} +} + +type Job_InitBasisResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Basis *vagrant_plugin_sdk.Ref_Basis `protobuf:"bytes,1,opt,name=basis,proto3" json:"basis,omitempty"` +} + +func (x *Job_InitBasisResult) Reset() { + *x = Job_InitBasisResult{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_vagrant_server_server_proto_msgTypes[110] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Job_InitBasisResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Job_InitBasisResult) ProtoMessage() {} + +func (x *Job_InitBasisResult) ProtoReflect() protoreflect.Message { + mi := &file_proto_vagrant_server_server_proto_msgTypes[110] + 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 Job_InitBasisResult.ProtoReflect.Descriptor instead. +func (*Job_InitBasisResult) Descriptor() ([]byte, []int) { + return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 12} +} + +func (x *Job_InitBasisResult) GetBasis() *vagrant_plugin_sdk.Ref_Basis { + if x != nil { + return x.Basis + } + return nil +} + +type Job_InitProjectOp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Job_InitProjectOp) Reset() { + *x = Job_InitProjectOp{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_vagrant_server_server_proto_msgTypes[111] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Job_InitProjectOp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Job_InitProjectOp) ProtoMessage() {} + +func (x *Job_InitProjectOp) ProtoReflect() protoreflect.Message { + mi := &file_proto_vagrant_server_server_proto_msgTypes[111] + 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 Job_InitProjectOp.ProtoReflect.Descriptor instead. +func (*Job_InitProjectOp) Descriptor() ([]byte, []int) { + return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 13} +} + +type Job_InitProjectResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` +} + +func (x *Job_InitProjectResult) Reset() { + *x = Job_InitProjectResult{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_vagrant_server_server_proto_msgTypes[112] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Job_InitProjectResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Job_InitProjectResult) ProtoMessage() {} + +func (x *Job_InitProjectResult) ProtoReflect() protoreflect.Message { + mi := &file_proto_vagrant_server_server_proto_msgTypes[112] + 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 Job_InitProjectResult.ProtoReflect.Descriptor instead. +func (*Job_InitProjectResult) Descriptor() ([]byte, []int) { + return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 14} +} + +func (x *Job_InitProjectResult) GetProject() *vagrant_plugin_sdk.Ref_Project { + if x != nil { + return x.Project + } + return nil +} + type Job_Action struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -7691,7 +7924,7 @@ type Job_Action struct { func (x *Job_Action) Reset() { *x = Job_Action{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[109] + mi := &file_proto_vagrant_server_server_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7704,7 +7937,7 @@ func (x *Job_Action) String() string { func (*Job_Action) ProtoMessage() {} func (x *Job_Action) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[109] + mi := &file_proto_vagrant_server_server_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7717,7 +7950,7 @@ func (x *Job_Action) ProtoReflect() protoreflect.Message { // Deprecated: Use Job_Action.ProtoReflect.Descriptor instead. func (*Job_Action) Descriptor() ([]byte, []int) { - return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 11} + return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 15} } func (x *Job_Action) GetName() string { @@ -7748,7 +7981,7 @@ type Job_Hook struct { func (x *Job_Hook) Reset() { *x = Job_Hook{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[110] + mi := &file_proto_vagrant_server_server_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7761,7 +7994,7 @@ func (x *Job_Hook) String() string { func (*Job_Hook) ProtoMessage() {} func (x *Job_Hook) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[110] + mi := &file_proto_vagrant_server_server_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7774,7 +8007,7 @@ func (x *Job_Hook) ProtoReflect() protoreflect.Message { // Deprecated: Use Job_Hook.ProtoReflect.Descriptor instead. func (*Job_Hook) Descriptor() ([]byte, []int) { - return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 12} + return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 16} } func (x *Job_Hook) GetTargetActionName() string { @@ -7814,6 +8047,7 @@ type Job_CommandOp struct { // The scope this command was run within // // Types that are assignable to Scope: + // // *Job_CommandOp_Target // *Job_CommandOp_Project // *Job_CommandOp_Basis @@ -7840,7 +8074,7 @@ type Job_CommandOp struct { func (x *Job_CommandOp) Reset() { *x = Job_CommandOp{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[111] + mi := &file_proto_vagrant_server_server_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7853,7 +8087,7 @@ func (x *Job_CommandOp) String() string { func (*Job_CommandOp) ProtoMessage() {} func (x *Job_CommandOp) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[111] + mi := &file_proto_vagrant_server_server_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7866,7 +8100,7 @@ func (x *Job_CommandOp) ProtoReflect() protoreflect.Message { // Deprecated: Use Job_CommandOp.ProtoReflect.Descriptor instead. func (*Job_CommandOp) Descriptor() ([]byte, []int) { - return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 13} + return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 17} } func (m *Job_CommandOp) GetScope() isJob_CommandOp_Scope { @@ -8000,7 +8234,7 @@ type Job_CommandResult struct { func (x *Job_CommandResult) Reset() { *x = Job_CommandResult{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[112] + mi := &file_proto_vagrant_server_server_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8013,7 +8247,7 @@ func (x *Job_CommandResult) String() string { func (*Job_CommandResult) ProtoMessage() {} func (x *Job_CommandResult) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[112] + mi := &file_proto_vagrant_server_server_proto_msgTypes[116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8026,7 +8260,7 @@ func (x *Job_CommandResult) ProtoReflect() protoreflect.Message { // Deprecated: Use Job_CommandResult.ProtoReflect.Descriptor instead. func (*Job_CommandResult) Descriptor() ([]byte, []int) { - return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 14} + return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 18} } func (x *Job_CommandResult) GetTask() *Operation { @@ -8075,7 +8309,7 @@ type Job_AuthOp struct { func (x *Job_AuthOp) Reset() { *x = Job_AuthOp{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[113] + mi := &file_proto_vagrant_server_server_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8088,7 +8322,7 @@ func (x *Job_AuthOp) String() string { func (*Job_AuthOp) ProtoMessage() {} func (x *Job_AuthOp) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[113] + mi := &file_proto_vagrant_server_server_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8101,7 +8335,7 @@ func (x *Job_AuthOp) ProtoReflect() protoreflect.Message { // Deprecated: Use Job_AuthOp.ProtoReflect.Descriptor instead. func (*Job_AuthOp) Descriptor() ([]byte, []int) { - return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 15} + return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 19} } func (x *Job_AuthOp) GetCheckOnly() bool { @@ -8130,7 +8364,7 @@ type Job_AuthResult struct { func (x *Job_AuthResult) Reset() { *x = Job_AuthResult{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[114] + mi := &file_proto_vagrant_server_server_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8143,7 +8377,7 @@ func (x *Job_AuthResult) String() string { func (*Job_AuthResult) ProtoMessage() {} func (x *Job_AuthResult) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[114] + mi := &file_proto_vagrant_server_server_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8156,7 +8390,7 @@ func (x *Job_AuthResult) ProtoReflect() protoreflect.Message { // Deprecated: Use Job_AuthResult.ProtoReflect.Descriptor instead. func (*Job_AuthResult) Descriptor() ([]byte, []int) { - return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 16} + return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 20} } func (x *Job_AuthResult) GetResults() []*Job_AuthResult_Result { @@ -8175,7 +8409,7 @@ type Job_DocsOp struct { func (x *Job_DocsOp) Reset() { *x = Job_DocsOp{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[115] + mi := &file_proto_vagrant_server_server_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8188,7 +8422,7 @@ func (x *Job_DocsOp) String() string { func (*Job_DocsOp) ProtoMessage() {} func (x *Job_DocsOp) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[115] + mi := &file_proto_vagrant_server_server_proto_msgTypes[119] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8201,7 +8435,7 @@ func (x *Job_DocsOp) ProtoReflect() protoreflect.Message { // Deprecated: Use Job_DocsOp.ProtoReflect.Descriptor instead. func (*Job_DocsOp) Descriptor() ([]byte, []int) { - return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 17} + return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 21} } type Job_DocsResult struct { @@ -8216,7 +8450,7 @@ type Job_DocsResult struct { func (x *Job_DocsResult) Reset() { *x = Job_DocsResult{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[116] + mi := &file_proto_vagrant_server_server_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8229,7 +8463,7 @@ func (x *Job_DocsResult) String() string { func (*Job_DocsResult) ProtoMessage() {} func (x *Job_DocsResult) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[116] + mi := &file_proto_vagrant_server_server_proto_msgTypes[120] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8242,7 +8476,7 @@ func (x *Job_DocsResult) ProtoReflect() protoreflect.Message { // Deprecated: Use Job_DocsResult.ProtoReflect.Descriptor instead. func (*Job_DocsResult) Descriptor() ([]byte, []int) { - return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 18} + return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 22} } func (x *Job_DocsResult) GetResults() []*Job_DocsResult_Result { @@ -8281,7 +8515,7 @@ type Job_AuthResult_Result struct { func (x *Job_AuthResult_Result) Reset() { *x = Job_AuthResult_Result{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[118] + mi := &file_proto_vagrant_server_server_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8294,7 +8528,7 @@ func (x *Job_AuthResult_Result) String() string { func (*Job_AuthResult_Result) ProtoMessage() {} func (x *Job_AuthResult_Result) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[118] + mi := &file_proto_vagrant_server_server_proto_msgTypes[122] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8307,7 +8541,7 @@ func (x *Job_AuthResult_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use Job_AuthResult_Result.ProtoReflect.Descriptor instead. func (*Job_AuthResult_Result) Descriptor() ([]byte, []int) { - return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 16, 0} + return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 20, 0} } func (x *Job_AuthResult_Result) GetComponent() *Component { @@ -8365,7 +8599,7 @@ type Job_DocsResult_Result struct { func (x *Job_DocsResult_Result) Reset() { *x = Job_DocsResult_Result{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[119] + mi := &file_proto_vagrant_server_server_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8378,7 +8612,7 @@ func (x *Job_DocsResult_Result) String() string { func (*Job_DocsResult_Result) ProtoMessage() {} func (x *Job_DocsResult_Result) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[119] + mi := &file_proto_vagrant_server_server_proto_msgTypes[123] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8391,7 +8625,7 @@ func (x *Job_DocsResult_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use Job_DocsResult_Result.ProtoReflect.Descriptor instead. func (*Job_DocsResult_Result) Descriptor() ([]byte, []int) { - return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 18, 0} + return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18, 22, 0} } func (x *Job_DocsResult_Result) GetComponent() *Component { @@ -8425,7 +8659,7 @@ type Documentation_Field struct { func (x *Documentation_Field) Reset() { *x = Documentation_Field{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[121] + mi := &file_proto_vagrant_server_server_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8438,7 +8672,7 @@ func (x *Documentation_Field) String() string { func (*Documentation_Field) ProtoMessage() {} func (x *Documentation_Field) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[121] + mi := &file_proto_vagrant_server_server_proto_msgTypes[125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8516,7 +8750,7 @@ type Documentation_Mapper struct { func (x *Documentation_Mapper) Reset() { *x = Documentation_Mapper{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[122] + mi := &file_proto_vagrant_server_server_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8529,7 +8763,7 @@ func (x *Documentation_Mapper) String() string { func (*Documentation_Mapper) ProtoMessage() {} func (x *Documentation_Mapper) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[122] + mi := &file_proto_vagrant_server_server_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8575,7 +8809,7 @@ type GetJobStreamResponse_Open struct { func (x *GetJobStreamResponse_Open) Reset() { *x = GetJobStreamResponse_Open{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[123] + mi := &file_proto_vagrant_server_server_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8588,7 +8822,7 @@ func (x *GetJobStreamResponse_Open) String() string { func (*GetJobStreamResponse_Open) ProtoMessage() {} func (x *GetJobStreamResponse_Open) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[123] + mi := &file_proto_vagrant_server_server_proto_msgTypes[127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8623,7 +8857,7 @@ type GetJobStreamResponse_State struct { func (x *GetJobStreamResponse_State) Reset() { *x = GetJobStreamResponse_State{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[124] + mi := &file_proto_vagrant_server_server_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8636,7 +8870,7 @@ func (x *GetJobStreamResponse_State) String() string { func (*GetJobStreamResponse_State) ProtoMessage() {} func (x *GetJobStreamResponse_State) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[124] + mi := &file_proto_vagrant_server_server_proto_msgTypes[128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8696,7 +8930,7 @@ type GetJobStreamResponse_Terminal struct { func (x *GetJobStreamResponse_Terminal) Reset() { *x = GetJobStreamResponse_Terminal{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[125] + mi := &file_proto_vagrant_server_server_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8709,7 +8943,7 @@ func (x *GetJobStreamResponse_Terminal) String() string { func (*GetJobStreamResponse_Terminal) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[125] + mi := &file_proto_vagrant_server_server_proto_msgTypes[129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8750,7 +8984,7 @@ type GetJobStreamResponse_Error struct { func (x *GetJobStreamResponse_Error) Reset() { *x = GetJobStreamResponse_Error{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[126] + mi := &file_proto_vagrant_server_server_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8763,7 +8997,7 @@ func (x *GetJobStreamResponse_Error) String() string { func (*GetJobStreamResponse_Error) ProtoMessage() {} func (x *GetJobStreamResponse_Error) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[126] + mi := &file_proto_vagrant_server_server_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8802,7 +9036,7 @@ type GetJobStreamResponse_Complete struct { func (x *GetJobStreamResponse_Complete) Reset() { *x = GetJobStreamResponse_Complete{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[127] + mi := &file_proto_vagrant_server_server_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8815,7 +9049,7 @@ func (x *GetJobStreamResponse_Complete) String() string { func (*GetJobStreamResponse_Complete) ProtoMessage() {} func (x *GetJobStreamResponse_Complete) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[127] + mi := &file_proto_vagrant_server_server_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8855,6 +9089,7 @@ type GetJobStreamResponse_Terminal_Event struct { // line output, it will be accurate. Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Types that are assignable to Event: + // // *GetJobStreamResponse_Terminal_Event_Line_ // *GetJobStreamResponse_Terminal_Event_Status_ // *GetJobStreamResponse_Terminal_Event_NamedValues_ @@ -8868,7 +9103,7 @@ type GetJobStreamResponse_Terminal_Event struct { func (x *GetJobStreamResponse_Terminal_Event) Reset() { *x = GetJobStreamResponse_Terminal_Event{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[128] + mi := &file_proto_vagrant_server_server_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8881,7 +9116,7 @@ func (x *GetJobStreamResponse_Terminal_Event) String() string { func (*GetJobStreamResponse_Terminal_Event) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[128] + mi := &file_proto_vagrant_server_server_proto_msgTypes[132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9021,7 +9256,7 @@ type GetJobStreamResponse_Terminal_Event_Status struct { func (x *GetJobStreamResponse_Terminal_Event_Status) Reset() { *x = GetJobStreamResponse_Terminal_Event_Status{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[129] + mi := &file_proto_vagrant_server_server_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9034,7 +9269,7 @@ func (x *GetJobStreamResponse_Terminal_Event_Status) String() string { func (*GetJobStreamResponse_Terminal_Event_Status) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_Status) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[129] + mi := &file_proto_vagrant_server_server_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9085,7 +9320,7 @@ type GetJobStreamResponse_Terminal_Event_Line struct { func (x *GetJobStreamResponse_Terminal_Event_Line) Reset() { *x = GetJobStreamResponse_Terminal_Event_Line{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[130] + mi := &file_proto_vagrant_server_server_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9098,7 +9333,7 @@ func (x *GetJobStreamResponse_Terminal_Event_Line) String() string { func (*GetJobStreamResponse_Terminal_Event_Line) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_Line) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[130] + mi := &file_proto_vagrant_server_server_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9154,7 +9389,7 @@ type GetJobStreamResponse_Terminal_Event_Raw struct { func (x *GetJobStreamResponse_Terminal_Event_Raw) Reset() { *x = GetJobStreamResponse_Terminal_Event_Raw{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[131] + mi := &file_proto_vagrant_server_server_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9167,7 +9402,7 @@ func (x *GetJobStreamResponse_Terminal_Event_Raw) String() string { func (*GetJobStreamResponse_Terminal_Event_Raw) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_Raw) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[131] + mi := &file_proto_vagrant_server_server_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9209,7 +9444,7 @@ type GetJobStreamResponse_Terminal_Event_NamedValue struct { func (x *GetJobStreamResponse_Terminal_Event_NamedValue) Reset() { *x = GetJobStreamResponse_Terminal_Event_NamedValue{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[132] + mi := &file_proto_vagrant_server_server_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9222,7 +9457,7 @@ func (x *GetJobStreamResponse_Terminal_Event_NamedValue) String() string { func (*GetJobStreamResponse_Terminal_Event_NamedValue) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_NamedValue) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[132] + mi := &file_proto_vagrant_server_server_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9263,7 +9498,7 @@ type GetJobStreamResponse_Terminal_Event_NamedValues struct { func (x *GetJobStreamResponse_Terminal_Event_NamedValues) Reset() { *x = GetJobStreamResponse_Terminal_Event_NamedValues{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[133] + mi := &file_proto_vagrant_server_server_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9276,7 +9511,7 @@ func (x *GetJobStreamResponse_Terminal_Event_NamedValues) String() string { func (*GetJobStreamResponse_Terminal_Event_NamedValues) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_NamedValues) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[133] + mi := &file_proto_vagrant_server_server_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9311,7 +9546,7 @@ type GetJobStreamResponse_Terminal_Event_TableEntry struct { func (x *GetJobStreamResponse_Terminal_Event_TableEntry) Reset() { *x = GetJobStreamResponse_Terminal_Event_TableEntry{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[134] + mi := &file_proto_vagrant_server_server_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9324,7 +9559,7 @@ func (x *GetJobStreamResponse_Terminal_Event_TableEntry) String() string { func (*GetJobStreamResponse_Terminal_Event_TableEntry) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_TableEntry) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[134] + mi := &file_proto_vagrant_server_server_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9365,7 +9600,7 @@ type GetJobStreamResponse_Terminal_Event_TableRow struct { func (x *GetJobStreamResponse_Terminal_Event_TableRow) Reset() { *x = GetJobStreamResponse_Terminal_Event_TableRow{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[135] + mi := &file_proto_vagrant_server_server_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9378,7 +9613,7 @@ func (x *GetJobStreamResponse_Terminal_Event_TableRow) String() string { func (*GetJobStreamResponse_Terminal_Event_TableRow) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_TableRow) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[135] + mi := &file_proto_vagrant_server_server_proto_msgTypes[139] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9413,7 +9648,7 @@ type GetJobStreamResponse_Terminal_Event_Table struct { func (x *GetJobStreamResponse_Terminal_Event_Table) Reset() { *x = GetJobStreamResponse_Terminal_Event_Table{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[136] + mi := &file_proto_vagrant_server_server_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9426,7 +9661,7 @@ func (x *GetJobStreamResponse_Terminal_Event_Table) String() string { func (*GetJobStreamResponse_Terminal_Event_Table) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_Table) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[136] + mi := &file_proto_vagrant_server_server_proto_msgTypes[140] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9467,7 +9702,7 @@ type GetJobStreamResponse_Terminal_Event_StepGroup struct { func (x *GetJobStreamResponse_Terminal_Event_StepGroup) Reset() { *x = GetJobStreamResponse_Terminal_Event_StepGroup{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[137] + mi := &file_proto_vagrant_server_server_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9480,7 +9715,7 @@ func (x *GetJobStreamResponse_Terminal_Event_StepGroup) String() string { func (*GetJobStreamResponse_Terminal_Event_StepGroup) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_StepGroup) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[137] + mi := &file_proto_vagrant_server_server_proto_msgTypes[141] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9518,7 +9753,7 @@ type GetJobStreamResponse_Terminal_Event_Step struct { func (x *GetJobStreamResponse_Terminal_Event_Step) Reset() { *x = GetJobStreamResponse_Terminal_Event_Step{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[138] + mi := &file_proto_vagrant_server_server_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9531,7 +9766,7 @@ func (x *GetJobStreamResponse_Terminal_Event_Step) String() string { func (*GetJobStreamResponse_Terminal_Event_Step) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_Step) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[138] + mi := &file_proto_vagrant_server_server_proto_msgTypes[142] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9594,7 +9829,7 @@ type RunnerConfigRequest_Open struct { func (x *RunnerConfigRequest_Open) Reset() { *x = RunnerConfigRequest_Open{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[139] + mi := &file_proto_vagrant_server_server_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9607,7 +9842,7 @@ func (x *RunnerConfigRequest_Open) String() string { func (*RunnerConfigRequest_Open) ProtoMessage() {} func (x *RunnerConfigRequest_Open) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[139] + mi := &file_proto_vagrant_server_server_proto_msgTypes[143] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9641,7 +9876,7 @@ type RunnerJobStreamRequest_Request struct { func (x *RunnerJobStreamRequest_Request) Reset() { *x = RunnerJobStreamRequest_Request{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[140] + mi := &file_proto_vagrant_server_server_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9654,7 +9889,7 @@ func (x *RunnerJobStreamRequest_Request) String() string { func (*RunnerJobStreamRequest_Request) ProtoMessage() {} func (x *RunnerJobStreamRequest_Request) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[140] + mi := &file_proto_vagrant_server_server_proto_msgTypes[144] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9686,7 +9921,7 @@ type RunnerJobStreamRequest_Ack struct { func (x *RunnerJobStreamRequest_Ack) Reset() { *x = RunnerJobStreamRequest_Ack{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[141] + mi := &file_proto_vagrant_server_server_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9699,7 +9934,7 @@ func (x *RunnerJobStreamRequest_Ack) String() string { func (*RunnerJobStreamRequest_Ack) ProtoMessage() {} func (x *RunnerJobStreamRequest_Ack) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[141] + mi := &file_proto_vagrant_server_server_proto_msgTypes[145] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9726,7 +9961,7 @@ type RunnerJobStreamRequest_Complete struct { func (x *RunnerJobStreamRequest_Complete) Reset() { *x = RunnerJobStreamRequest_Complete{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[142] + mi := &file_proto_vagrant_server_server_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9739,7 +9974,7 @@ func (x *RunnerJobStreamRequest_Complete) String() string { func (*RunnerJobStreamRequest_Complete) ProtoMessage() {} func (x *RunnerJobStreamRequest_Complete) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[142] + mi := &file_proto_vagrant_server_server_proto_msgTypes[146] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9773,7 +10008,7 @@ type RunnerJobStreamRequest_Error struct { func (x *RunnerJobStreamRequest_Error) Reset() { *x = RunnerJobStreamRequest_Error{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[143] + mi := &file_proto_vagrant_server_server_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9786,7 +10021,7 @@ func (x *RunnerJobStreamRequest_Error) String() string { func (*RunnerJobStreamRequest_Error) ProtoMessage() {} func (x *RunnerJobStreamRequest_Error) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[143] + mi := &file_proto_vagrant_server_server_proto_msgTypes[147] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9818,7 +10053,7 @@ type RunnerJobStreamRequest_Heartbeat struct { func (x *RunnerJobStreamRequest_Heartbeat) Reset() { *x = RunnerJobStreamRequest_Heartbeat{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[144] + mi := &file_proto_vagrant_server_server_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9831,7 +10066,7 @@ func (x *RunnerJobStreamRequest_Heartbeat) String() string { func (*RunnerJobStreamRequest_Heartbeat) ProtoMessage() {} func (x *RunnerJobStreamRequest_Heartbeat) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[144] + mi := &file_proto_vagrant_server_server_proto_msgTypes[148] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9858,7 +10093,7 @@ type RunnerJobStreamResponse_JobAssignment struct { func (x *RunnerJobStreamResponse_JobAssignment) Reset() { *x = RunnerJobStreamResponse_JobAssignment{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[145] + mi := &file_proto_vagrant_server_server_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9871,7 +10106,7 @@ func (x *RunnerJobStreamResponse_JobAssignment) String() string { func (*RunnerJobStreamResponse_JobAssignment) ProtoMessage() {} func (x *RunnerJobStreamResponse_JobAssignment) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[145] + mi := &file_proto_vagrant_server_server_proto_msgTypes[149] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9905,7 +10140,7 @@ type RunnerJobStreamResponse_JobCancel struct { func (x *RunnerJobStreamResponse_JobCancel) Reset() { *x = RunnerJobStreamResponse_JobCancel{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[146] + mi := &file_proto_vagrant_server_server_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9918,7 +10153,7 @@ func (x *RunnerJobStreamResponse_JobCancel) String() string { func (*RunnerJobStreamResponse_JobCancel) ProtoMessage() {} func (x *RunnerJobStreamResponse_JobCancel) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[146] + mi := &file_proto_vagrant_server_server_proto_msgTypes[150] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9953,7 +10188,7 @@ type LogBatch_Entry struct { func (x *LogBatch_Entry) Reset() { *x = LogBatch_Entry{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[147] + mi := &file_proto_vagrant_server_server_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9966,7 +10201,7 @@ func (x *LogBatch_Entry) String() string { func (*LogBatch_Entry) ProtoMessage() {} func (x *LogBatch_Entry) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[147] + mi := &file_proto_vagrant_server_server_proto_msgTypes[151] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10012,7 +10247,7 @@ type ExecStreamRequest_Start struct { func (x *ExecStreamRequest_Start) Reset() { *x = ExecStreamRequest_Start{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[148] + mi := &file_proto_vagrant_server_server_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10025,7 +10260,7 @@ func (x *ExecStreamRequest_Start) String() string { func (*ExecStreamRequest_Start) ProtoMessage() {} func (x *ExecStreamRequest_Start) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[148] + mi := &file_proto_vagrant_server_server_proto_msgTypes[152] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10073,7 +10308,7 @@ type ExecStreamRequest_Input struct { func (x *ExecStreamRequest_Input) Reset() { *x = ExecStreamRequest_Input{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[149] + mi := &file_proto_vagrant_server_server_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10086,7 +10321,7 @@ func (x *ExecStreamRequest_Input) String() string { func (*ExecStreamRequest_Input) ProtoMessage() {} func (x *ExecStreamRequest_Input) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[149] + mi := &file_proto_vagrant_server_server_proto_msgTypes[153] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10124,7 +10359,7 @@ type ExecStreamRequest_PTY struct { func (x *ExecStreamRequest_PTY) Reset() { *x = ExecStreamRequest_PTY{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[150] + mi := &file_proto_vagrant_server_server_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10137,7 +10372,7 @@ func (x *ExecStreamRequest_PTY) String() string { func (*ExecStreamRequest_PTY) ProtoMessage() {} func (x *ExecStreamRequest_PTY) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[150] + mi := &file_proto_vagrant_server_server_proto_msgTypes[154] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10188,7 +10423,7 @@ type ExecStreamRequest_WindowSize struct { func (x *ExecStreamRequest_WindowSize) Reset() { *x = ExecStreamRequest_WindowSize{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[151] + mi := &file_proto_vagrant_server_server_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10201,7 +10436,7 @@ func (x *ExecStreamRequest_WindowSize) String() string { func (*ExecStreamRequest_WindowSize) ProtoMessage() {} func (x *ExecStreamRequest_WindowSize) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[151] + mi := &file_proto_vagrant_server_server_proto_msgTypes[155] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10254,7 +10489,7 @@ type ExecStreamResponse_Open struct { func (x *ExecStreamResponse_Open) Reset() { *x = ExecStreamResponse_Open{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[152] + mi := &file_proto_vagrant_server_server_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10267,7 +10502,7 @@ func (x *ExecStreamResponse_Open) String() string { func (*ExecStreamResponse_Open) ProtoMessage() {} func (x *ExecStreamResponse_Open) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[152] + mi := &file_proto_vagrant_server_server_proto_msgTypes[156] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10294,7 +10529,7 @@ type ExecStreamResponse_Exit struct { func (x *ExecStreamResponse_Exit) Reset() { *x = ExecStreamResponse_Exit{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[153] + mi := &file_proto_vagrant_server_server_proto_msgTypes[157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10307,7 +10542,7 @@ func (x *ExecStreamResponse_Exit) String() string { func (*ExecStreamResponse_Exit) ProtoMessage() {} func (x *ExecStreamResponse_Exit) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[153] + mi := &file_proto_vagrant_server_server_proto_msgTypes[157] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10342,7 +10577,7 @@ type ExecStreamResponse_Output struct { func (x *ExecStreamResponse_Output) Reset() { *x = ExecStreamResponse_Output{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[154] + mi := &file_proto_vagrant_server_server_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10355,7 +10590,7 @@ func (x *ExecStreamResponse_Output) String() string { func (*ExecStreamResponse_Output) ProtoMessage() {} func (x *ExecStreamResponse_Output) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[154] + mi := &file_proto_vagrant_server_server_proto_msgTypes[158] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10398,7 +10633,7 @@ type EntrypointConfig_Exec struct { func (x *EntrypointConfig_Exec) Reset() { *x = EntrypointConfig_Exec{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[155] + mi := &file_proto_vagrant_server_server_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10411,7 +10646,7 @@ func (x *EntrypointConfig_Exec) String() string { func (*EntrypointConfig_Exec) ProtoMessage() {} func (x *EntrypointConfig_Exec) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[155] + mi := &file_proto_vagrant_server_server_proto_msgTypes[159] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10463,7 +10698,7 @@ type EntrypointConfig_URLService struct { func (x *EntrypointConfig_URLService) Reset() { *x = EntrypointConfig_URLService{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[156] + mi := &file_proto_vagrant_server_server_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10476,7 +10711,7 @@ func (x *EntrypointConfig_URLService) String() string { func (*EntrypointConfig_URLService) ProtoMessage() {} func (x *EntrypointConfig_URLService) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[156] + mi := &file_proto_vagrant_server_server_proto_msgTypes[160] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10525,7 +10760,7 @@ type EntrypointExecRequest_Open struct { func (x *EntrypointExecRequest_Open) Reset() { *x = EntrypointExecRequest_Open{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[157] + mi := &file_proto_vagrant_server_server_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10538,7 +10773,7 @@ func (x *EntrypointExecRequest_Open) String() string { func (*EntrypointExecRequest_Open) ProtoMessage() {} func (x *EntrypointExecRequest_Open) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[157] + mi := &file_proto_vagrant_server_server_proto_msgTypes[161] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10579,7 +10814,7 @@ type EntrypointExecRequest_Exit struct { func (x *EntrypointExecRequest_Exit) Reset() { *x = EntrypointExecRequest_Exit{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[158] + mi := &file_proto_vagrant_server_server_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10592,7 +10827,7 @@ func (x *EntrypointExecRequest_Exit) String() string { func (*EntrypointExecRequest_Exit) ProtoMessage() {} func (x *EntrypointExecRequest_Exit) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[158] + mi := &file_proto_vagrant_server_server_proto_msgTypes[162] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10627,7 +10862,7 @@ type EntrypointExecRequest_Output struct { func (x *EntrypointExecRequest_Output) Reset() { *x = EntrypointExecRequest_Output{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[159] + mi := &file_proto_vagrant_server_server_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10640,7 +10875,7 @@ func (x *EntrypointExecRequest_Output) String() string { func (*EntrypointExecRequest_Output) ProtoMessage() {} func (x *EntrypointExecRequest_Output) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[159] + mi := &file_proto_vagrant_server_server_proto_msgTypes[163] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10681,7 +10916,7 @@ type EntrypointExecRequest_Error struct { func (x *EntrypointExecRequest_Error) Reset() { *x = EntrypointExecRequest_Error{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[160] + mi := &file_proto_vagrant_server_server_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10694,7 +10929,7 @@ func (x *EntrypointExecRequest_Error) String() string { func (*EntrypointExecRequest_Error) ProtoMessage() {} func (x *EntrypointExecRequest_Error) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[160] + mi := &file_proto_vagrant_server_server_proto_msgTypes[164] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10729,7 +10964,7 @@ type Token_Entrypoint struct { func (x *Token_Entrypoint) Reset() { *x = Token_Entrypoint{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[162] + mi := &file_proto_vagrant_server_server_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10742,7 +10977,7 @@ func (x *Token_Entrypoint) String() string { func (*Token_Entrypoint) ProtoMessage() {} func (x *Token_Entrypoint) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[162] + mi := &file_proto_vagrant_server_server_proto_msgTypes[166] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10775,7 +11010,7 @@ type CreateSnapshotResponse_Open struct { func (x *CreateSnapshotResponse_Open) Reset() { *x = CreateSnapshotResponse_Open{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[163] + mi := &file_proto_vagrant_server_server_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10788,7 +11023,7 @@ func (x *CreateSnapshotResponse_Open) String() string { func (*CreateSnapshotResponse_Open) ProtoMessage() {} func (x *CreateSnapshotResponse_Open) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[163] + mi := &file_proto_vagrant_server_server_proto_msgTypes[167] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10820,7 +11055,7 @@ type RestoreSnapshotRequest_Open struct { func (x *RestoreSnapshotRequest_Open) Reset() { *x = RestoreSnapshotRequest_Open{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[164] + mi := &file_proto_vagrant_server_server_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10833,7 +11068,7 @@ func (x *RestoreSnapshotRequest_Open) String() string { func (*RestoreSnapshotRequest_Open) ProtoMessage() {} func (x *RestoreSnapshotRequest_Open) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[164] + mi := &file_proto_vagrant_server_server_proto_msgTypes[168] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10873,7 +11108,7 @@ type Snapshot_Header struct { func (x *Snapshot_Header) Reset() { *x = Snapshot_Header{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[165] + mi := &file_proto_vagrant_server_server_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10886,7 +11121,7 @@ func (x *Snapshot_Header) String() string { func (*Snapshot_Header) ProtoMessage() {} func (x *Snapshot_Header) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[165] + mi := &file_proto_vagrant_server_server_proto_msgTypes[169] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10927,6 +11162,7 @@ type Snapshot_Trailer struct { // this proto message. The checksum is for the raw uncompressed bytes. // // Types that are assignable to Checksum: + // // *Snapshot_Trailer_Sha256 Checksum isSnapshot_Trailer_Checksum `protobuf_oneof:"checksum"` } @@ -10934,7 +11170,7 @@ type Snapshot_Trailer struct { func (x *Snapshot_Trailer) Reset() { *x = Snapshot_Trailer{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[166] + mi := &file_proto_vagrant_server_server_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10947,7 +11183,7 @@ func (x *Snapshot_Trailer) String() string { func (*Snapshot_Trailer) ProtoMessage() {} func (x *Snapshot_Trailer) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[166] + mi := &file_proto_vagrant_server_server_proto_msgTypes[170] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11011,7 +11247,7 @@ type Snapshot_BoltChunk struct { func (x *Snapshot_BoltChunk) Reset() { *x = Snapshot_BoltChunk{} if protoimpl.UnsafeEnabled { - mi := &file_proto_vagrant_server_server_proto_msgTypes[167] + mi := &file_proto_vagrant_server_server_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11024,7 +11260,7 @@ func (x *Snapshot_BoltChunk) String() string { func (*Snapshot_BoltChunk) ProtoMessage() {} func (x *Snapshot_BoltChunk) ProtoReflect() protoreflect.Message { - mi := &file_proto_vagrant_server_server_proto_msgTypes[167] + mi := &file_proto_vagrant_server_server_proto_msgTypes[171] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11395,7 +11631,7 @@ var file_proto_vagrant_server_server_proto_rawDesc = []byte{ 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x22, - 0xa1, 0x21, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0xf1, 0x24, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x38, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, @@ -11447,7 +11683,16 @@ var file_proto_vagrant_server_server_proto_rawDesc = []byte{ 0x61, 0x6e, 0x64, 0x12, 0x33, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x4f, 0x70, - 0x48, 0x01, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x48, 0x01, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x43, 0x0a, 0x0a, 0x69, 0x6e, 0x69, 0x74, + 0x5f, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, + 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x4f, 0x70, + 0x48, 0x01, 0x52, 0x09, 0x69, 0x6e, 0x69, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x49, 0x0a, + 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x39, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x69, 0x74, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x48, 0x01, 0x52, 0x0b, 0x69, 0x6e, 0x69, + 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x0f, @@ -11492,7 +11737,7 @@ var file_proto_vagrant_server_server_proto_rawDesc = []byte{ 0x64, 0x65, 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, 0xa8, 0x02, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xaa, 0x03, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, @@ -11510,35 +11755,55 @@ var file_proto_vagrant_server_server_proto_rawDesc = []byte{ 0x74, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x36, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x43, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x1a, - 0x7c, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x34, 0x0a, - 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, - 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, - 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x03, 0x67, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x47, 0x69, 0x74, 0x48, 0x00, 0x52, 0x03, - 0x67, 0x69, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x07, 0x0a, - 0x05, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x1a, 0x3d, 0x0a, 0x03, 0x47, 0x69, 0x74, 0x12, 0x10, 0x0a, - 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, - 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, - 0x66, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x70, 0x61, 0x74, 0x68, 0x1a, 0x06, 0x0a, 0x04, 0x4e, 0x6f, 0x6f, 0x70, 0x1a, 0x0c, 0x0a, - 0x0a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x1a, 0x10, 0x0a, 0x0e, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x08, 0x0a, - 0x06, 0x49, 0x6e, 0x69, 0x74, 0x4f, 0x70, 0x1a, 0xc0, 0x01, 0x0a, 0x0a, 0x49, 0x6e, 0x69, 0x74, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x46, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, - 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x31, 0x0a, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x48, - 0x6f, 0x6f, 0x6b, 0x52, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x1a, 0x34, 0x0a, 0x06, 0x41, 0x63, + 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x12, + 0x3c, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, + 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x12, 0x42, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, + 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x1a, 0x7c, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x34, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, + 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x05, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x03, 0x67, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, + 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x47, 0x69, 0x74, 0x48, 0x00, + 0x52, 0x03, 0x67, 0x69, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, + 0x07, 0x0a, 0x05, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x1a, 0x3d, 0x0a, 0x03, 0x47, 0x69, 0x74, 0x12, + 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, + 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x72, 0x65, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x1a, 0x06, 0x0a, 0x04, 0x4e, 0x6f, 0x6f, 0x70, 0x1a, + 0x0c, 0x0a, 0x0a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x1a, 0x10, 0x0a, + 0x0e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, + 0x08, 0x0a, 0x06, 0x49, 0x6e, 0x69, 0x74, 0x4f, 0x70, 0x1a, 0xc0, 0x01, 0x0a, 0x0a, 0x49, 0x6e, + 0x69, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, + 0x62, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x46, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x31, 0x0a, 0x05, 0x68, 0x6f, 0x6f, + 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, + 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x1a, 0x0d, 0x0a, 0x0b, + 0x49, 0x6e, 0x69, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x4f, 0x70, 0x1a, 0x49, 0x0a, 0x0f, 0x49, + 0x6e, 0x69, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x36, + 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, + 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, + 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x1a, 0x0f, 0x0a, 0x0d, 0x49, 0x6e, 0x69, 0x74, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x1a, 0x51, 0x0a, 0x11, 0x49, 0x6e, 0x69, 0x74, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3c, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, + 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x34, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, @@ -11661,7 +11926,7 @@ var file_proto_vagrant_server_server_proto_rawDesc = []byte{ 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x05, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x04, 0x08, - 0x38, 0x10, 0x50, 0x22, 0xf6, 0x04, 0x0a, 0x0d, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x3a, 0x10, 0x50, 0x22, 0xf6, 0x04, 0x0a, 0x0d, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, @@ -12640,7 +12905,7 @@ func file_proto_vagrant_server_server_proto_rawDescGZIP() []byte { } var file_proto_vagrant_server_server_proto_enumTypes = make([]protoimpl.EnumInfo, 10) -var file_proto_vagrant_server_server_proto_msgTypes = make([]protoimpl.MessageInfo, 169) +var file_proto_vagrant_server_server_proto_msgTypes = make([]protoimpl.MessageInfo, 173) var file_proto_vagrant_server_server_proto_goTypes = []interface{}{ (Vagrantfile_Format)(0), // 0: hashicorp.vagrant.Vagrantfile.Format (Component_Type)(0), // 1: hashicorp.vagrant.Component.Type @@ -12761,381 +13026,391 @@ var file_proto_vagrant_server_server_proto_goTypes = []interface{}{ (*Job_ValidateResult)(nil), // 116: hashicorp.vagrant.Job.ValidateResult (*Job_InitOp)(nil), // 117: hashicorp.vagrant.Job.InitOp (*Job_InitResult)(nil), // 118: hashicorp.vagrant.Job.InitResult - (*Job_Action)(nil), // 119: hashicorp.vagrant.Job.Action - (*Job_Hook)(nil), // 120: hashicorp.vagrant.Job.Hook - (*Job_CommandOp)(nil), // 121: hashicorp.vagrant.Job.CommandOp - (*Job_CommandResult)(nil), // 122: hashicorp.vagrant.Job.CommandResult - (*Job_AuthOp)(nil), // 123: hashicorp.vagrant.Job.AuthOp - (*Job_AuthResult)(nil), // 124: hashicorp.vagrant.Job.AuthResult - (*Job_DocsOp)(nil), // 125: hashicorp.vagrant.Job.DocsOp - (*Job_DocsResult)(nil), // 126: hashicorp.vagrant.Job.DocsResult - nil, // 127: hashicorp.vagrant.Job.CommandOp.LabelsEntry - (*Job_AuthResult_Result)(nil), // 128: hashicorp.vagrant.Job.AuthResult.Result - (*Job_DocsResult_Result)(nil), // 129: hashicorp.vagrant.Job.DocsResult.Result - nil, // 130: hashicorp.vagrant.Documentation.FieldsEntry - (*Documentation_Field)(nil), // 131: hashicorp.vagrant.Documentation.Field - (*Documentation_Mapper)(nil), // 132: hashicorp.vagrant.Documentation.Mapper - (*GetJobStreamResponse_Open)(nil), // 133: hashicorp.vagrant.GetJobStreamResponse.Open - (*GetJobStreamResponse_State)(nil), // 134: hashicorp.vagrant.GetJobStreamResponse.State - (*GetJobStreamResponse_Terminal)(nil), // 135: hashicorp.vagrant.GetJobStreamResponse.Terminal - (*GetJobStreamResponse_Error)(nil), // 136: hashicorp.vagrant.GetJobStreamResponse.Error - (*GetJobStreamResponse_Complete)(nil), // 137: hashicorp.vagrant.GetJobStreamResponse.Complete - (*GetJobStreamResponse_Terminal_Event)(nil), // 138: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event - (*GetJobStreamResponse_Terminal_Event_Status)(nil), // 139: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Status - (*GetJobStreamResponse_Terminal_Event_Line)(nil), // 140: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Line - (*GetJobStreamResponse_Terminal_Event_Raw)(nil), // 141: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Raw - (*GetJobStreamResponse_Terminal_Event_NamedValue)(nil), // 142: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValue - (*GetJobStreamResponse_Terminal_Event_NamedValues)(nil), // 143: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValues - (*GetJobStreamResponse_Terminal_Event_TableEntry)(nil), // 144: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableEntry - (*GetJobStreamResponse_Terminal_Event_TableRow)(nil), // 145: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableRow - (*GetJobStreamResponse_Terminal_Event_Table)(nil), // 146: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Table - (*GetJobStreamResponse_Terminal_Event_StepGroup)(nil), // 147: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.StepGroup - (*GetJobStreamResponse_Terminal_Event_Step)(nil), // 148: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Step - (*RunnerConfigRequest_Open)(nil), // 149: hashicorp.vagrant.RunnerConfigRequest.Open - (*RunnerJobStreamRequest_Request)(nil), // 150: hashicorp.vagrant.RunnerJobStreamRequest.Request - (*RunnerJobStreamRequest_Ack)(nil), // 151: hashicorp.vagrant.RunnerJobStreamRequest.Ack - (*RunnerJobStreamRequest_Complete)(nil), // 152: hashicorp.vagrant.RunnerJobStreamRequest.Complete - (*RunnerJobStreamRequest_Error)(nil), // 153: hashicorp.vagrant.RunnerJobStreamRequest.Error - (*RunnerJobStreamRequest_Heartbeat)(nil), // 154: hashicorp.vagrant.RunnerJobStreamRequest.Heartbeat - (*RunnerJobStreamResponse_JobAssignment)(nil), // 155: hashicorp.vagrant.RunnerJobStreamResponse.JobAssignment - (*RunnerJobStreamResponse_JobCancel)(nil), // 156: hashicorp.vagrant.RunnerJobStreamResponse.JobCancel - (*LogBatch_Entry)(nil), // 157: hashicorp.vagrant.LogBatch.Entry - (*ExecStreamRequest_Start)(nil), // 158: hashicorp.vagrant.ExecStreamRequest.Start - (*ExecStreamRequest_Input)(nil), // 159: hashicorp.vagrant.ExecStreamRequest.Input - (*ExecStreamRequest_PTY)(nil), // 160: hashicorp.vagrant.ExecStreamRequest.PTY - (*ExecStreamRequest_WindowSize)(nil), // 161: hashicorp.vagrant.ExecStreamRequest.WindowSize - (*ExecStreamResponse_Open)(nil), // 162: hashicorp.vagrant.ExecStreamResponse.Open - (*ExecStreamResponse_Exit)(nil), // 163: hashicorp.vagrant.ExecStreamResponse.Exit - (*ExecStreamResponse_Output)(nil), // 164: hashicorp.vagrant.ExecStreamResponse.Output - (*EntrypointConfig_Exec)(nil), // 165: hashicorp.vagrant.EntrypointConfig.Exec - (*EntrypointConfig_URLService)(nil), // 166: hashicorp.vagrant.EntrypointConfig.URLService - (*EntrypointExecRequest_Open)(nil), // 167: hashicorp.vagrant.EntrypointExecRequest.Open - (*EntrypointExecRequest_Exit)(nil), // 168: hashicorp.vagrant.EntrypointExecRequest.Exit - (*EntrypointExecRequest_Output)(nil), // 169: hashicorp.vagrant.EntrypointExecRequest.Output - (*EntrypointExecRequest_Error)(nil), // 170: hashicorp.vagrant.EntrypointExecRequest.Error - nil, // 171: hashicorp.vagrant.TokenTransport.MetadataEntry - (*Token_Entrypoint)(nil), // 172: hashicorp.vagrant.Token.Entrypoint - (*CreateSnapshotResponse_Open)(nil), // 173: hashicorp.vagrant.CreateSnapshotResponse.Open - (*RestoreSnapshotRequest_Open)(nil), // 174: hashicorp.vagrant.RestoreSnapshotRequest.Open - (*Snapshot_Header)(nil), // 175: hashicorp.vagrant.Snapshot.Header - (*Snapshot_Trailer)(nil), // 176: hashicorp.vagrant.Snapshot.Trailer - (*Snapshot_BoltChunk)(nil), // 177: hashicorp.vagrant.Snapshot.BoltChunk - nil, // 178: hashicorp.vagrant.Snapshot.BoltChunk.ItemsEntry - (*vagrant_plugin_sdk.Args_Hash)(nil), // 179: hashicorp.vagrant.sdk.Args.Hash - (*vagrant_plugin_sdk.Args_Path)(nil), // 180: hashicorp.vagrant.sdk.Args.Path - (*vagrant_plugin_sdk.Ref_Project)(nil), // 181: hashicorp.vagrant.sdk.Ref.Project - (*vagrant_plugin_sdk.Args_MetadataSet)(nil), // 182: hashicorp.vagrant.sdk.Args.MetadataSet - (*vagrant_plugin_sdk.Ref_Target)(nil), // 183: hashicorp.vagrant.sdk.Ref.Target - (*vagrant_plugin_sdk.Ref_Basis)(nil), // 184: hashicorp.vagrant.sdk.Ref.Basis - (*structpb.Struct)(nil), // 185: google.protobuf.Struct - (*timestamppb.Timestamp)(nil), // 186: google.protobuf.Timestamp - (*vagrant_plugin_sdk.Args_DataDir_Target)(nil), // 187: hashicorp.vagrant.sdk.Args.DataDir.Target - (*vagrant_plugin_sdk.Args_ConfigData)(nil), // 188: hashicorp.vagrant.sdk.Args.ConfigData - (*anypb.Any)(nil), // 189: google.protobuf.Any - (*status.Status)(nil), // 190: google.rpc.Status - (*vagrant_plugin_sdk.Ref_Box)(nil), // 191: hashicorp.vagrant.sdk.Ref.Box - (*vagrant_plugin_sdk.Args_Target_Machine_State)(nil), // 192: hashicorp.vagrant.sdk.Args.Target.Machine.State - (*vagrant_plugin_sdk.Command_CommandInfo)(nil), // 193: hashicorp.vagrant.sdk.Command.CommandInfo - (*vagrant_plugin_sdk.Command_Arguments)(nil), // 194: hashicorp.vagrant.sdk.Command.Arguments - (*emptypb.Empty)(nil), // 195: google.protobuf.Empty + (*Job_InitBasisOp)(nil), // 119: hashicorp.vagrant.Job.InitBasisOp + (*Job_InitBasisResult)(nil), // 120: hashicorp.vagrant.Job.InitBasisResult + (*Job_InitProjectOp)(nil), // 121: hashicorp.vagrant.Job.InitProjectOp + (*Job_InitProjectResult)(nil), // 122: hashicorp.vagrant.Job.InitProjectResult + (*Job_Action)(nil), // 123: hashicorp.vagrant.Job.Action + (*Job_Hook)(nil), // 124: hashicorp.vagrant.Job.Hook + (*Job_CommandOp)(nil), // 125: hashicorp.vagrant.Job.CommandOp + (*Job_CommandResult)(nil), // 126: hashicorp.vagrant.Job.CommandResult + (*Job_AuthOp)(nil), // 127: hashicorp.vagrant.Job.AuthOp + (*Job_AuthResult)(nil), // 128: hashicorp.vagrant.Job.AuthResult + (*Job_DocsOp)(nil), // 129: hashicorp.vagrant.Job.DocsOp + (*Job_DocsResult)(nil), // 130: hashicorp.vagrant.Job.DocsResult + nil, // 131: hashicorp.vagrant.Job.CommandOp.LabelsEntry + (*Job_AuthResult_Result)(nil), // 132: hashicorp.vagrant.Job.AuthResult.Result + (*Job_DocsResult_Result)(nil), // 133: hashicorp.vagrant.Job.DocsResult.Result + nil, // 134: hashicorp.vagrant.Documentation.FieldsEntry + (*Documentation_Field)(nil), // 135: hashicorp.vagrant.Documentation.Field + (*Documentation_Mapper)(nil), // 136: hashicorp.vagrant.Documentation.Mapper + (*GetJobStreamResponse_Open)(nil), // 137: hashicorp.vagrant.GetJobStreamResponse.Open + (*GetJobStreamResponse_State)(nil), // 138: hashicorp.vagrant.GetJobStreamResponse.State + (*GetJobStreamResponse_Terminal)(nil), // 139: hashicorp.vagrant.GetJobStreamResponse.Terminal + (*GetJobStreamResponse_Error)(nil), // 140: hashicorp.vagrant.GetJobStreamResponse.Error + (*GetJobStreamResponse_Complete)(nil), // 141: hashicorp.vagrant.GetJobStreamResponse.Complete + (*GetJobStreamResponse_Terminal_Event)(nil), // 142: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event + (*GetJobStreamResponse_Terminal_Event_Status)(nil), // 143: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Status + (*GetJobStreamResponse_Terminal_Event_Line)(nil), // 144: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Line + (*GetJobStreamResponse_Terminal_Event_Raw)(nil), // 145: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Raw + (*GetJobStreamResponse_Terminal_Event_NamedValue)(nil), // 146: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValue + (*GetJobStreamResponse_Terminal_Event_NamedValues)(nil), // 147: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValues + (*GetJobStreamResponse_Terminal_Event_TableEntry)(nil), // 148: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableEntry + (*GetJobStreamResponse_Terminal_Event_TableRow)(nil), // 149: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableRow + (*GetJobStreamResponse_Terminal_Event_Table)(nil), // 150: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Table + (*GetJobStreamResponse_Terminal_Event_StepGroup)(nil), // 151: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.StepGroup + (*GetJobStreamResponse_Terminal_Event_Step)(nil), // 152: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Step + (*RunnerConfigRequest_Open)(nil), // 153: hashicorp.vagrant.RunnerConfigRequest.Open + (*RunnerJobStreamRequest_Request)(nil), // 154: hashicorp.vagrant.RunnerJobStreamRequest.Request + (*RunnerJobStreamRequest_Ack)(nil), // 155: hashicorp.vagrant.RunnerJobStreamRequest.Ack + (*RunnerJobStreamRequest_Complete)(nil), // 156: hashicorp.vagrant.RunnerJobStreamRequest.Complete + (*RunnerJobStreamRequest_Error)(nil), // 157: hashicorp.vagrant.RunnerJobStreamRequest.Error + (*RunnerJobStreamRequest_Heartbeat)(nil), // 158: hashicorp.vagrant.RunnerJobStreamRequest.Heartbeat + (*RunnerJobStreamResponse_JobAssignment)(nil), // 159: hashicorp.vagrant.RunnerJobStreamResponse.JobAssignment + (*RunnerJobStreamResponse_JobCancel)(nil), // 160: hashicorp.vagrant.RunnerJobStreamResponse.JobCancel + (*LogBatch_Entry)(nil), // 161: hashicorp.vagrant.LogBatch.Entry + (*ExecStreamRequest_Start)(nil), // 162: hashicorp.vagrant.ExecStreamRequest.Start + (*ExecStreamRequest_Input)(nil), // 163: hashicorp.vagrant.ExecStreamRequest.Input + (*ExecStreamRequest_PTY)(nil), // 164: hashicorp.vagrant.ExecStreamRequest.PTY + (*ExecStreamRequest_WindowSize)(nil), // 165: hashicorp.vagrant.ExecStreamRequest.WindowSize + (*ExecStreamResponse_Open)(nil), // 166: hashicorp.vagrant.ExecStreamResponse.Open + (*ExecStreamResponse_Exit)(nil), // 167: hashicorp.vagrant.ExecStreamResponse.Exit + (*ExecStreamResponse_Output)(nil), // 168: hashicorp.vagrant.ExecStreamResponse.Output + (*EntrypointConfig_Exec)(nil), // 169: hashicorp.vagrant.EntrypointConfig.Exec + (*EntrypointConfig_URLService)(nil), // 170: hashicorp.vagrant.EntrypointConfig.URLService + (*EntrypointExecRequest_Open)(nil), // 171: hashicorp.vagrant.EntrypointExecRequest.Open + (*EntrypointExecRequest_Exit)(nil), // 172: hashicorp.vagrant.EntrypointExecRequest.Exit + (*EntrypointExecRequest_Output)(nil), // 173: hashicorp.vagrant.EntrypointExecRequest.Output + (*EntrypointExecRequest_Error)(nil), // 174: hashicorp.vagrant.EntrypointExecRequest.Error + nil, // 175: hashicorp.vagrant.TokenTransport.MetadataEntry + (*Token_Entrypoint)(nil), // 176: hashicorp.vagrant.Token.Entrypoint + (*CreateSnapshotResponse_Open)(nil), // 177: hashicorp.vagrant.CreateSnapshotResponse.Open + (*RestoreSnapshotRequest_Open)(nil), // 178: hashicorp.vagrant.RestoreSnapshotRequest.Open + (*Snapshot_Header)(nil), // 179: hashicorp.vagrant.Snapshot.Header + (*Snapshot_Trailer)(nil), // 180: hashicorp.vagrant.Snapshot.Trailer + (*Snapshot_BoltChunk)(nil), // 181: hashicorp.vagrant.Snapshot.BoltChunk + nil, // 182: hashicorp.vagrant.Snapshot.BoltChunk.ItemsEntry + (*vagrant_plugin_sdk.Args_Hash)(nil), // 183: hashicorp.vagrant.sdk.Args.Hash + (*vagrant_plugin_sdk.Args_Path)(nil), // 184: hashicorp.vagrant.sdk.Args.Path + (*vagrant_plugin_sdk.Ref_Project)(nil), // 185: hashicorp.vagrant.sdk.Ref.Project + (*vagrant_plugin_sdk.Args_MetadataSet)(nil), // 186: hashicorp.vagrant.sdk.Args.MetadataSet + (*vagrant_plugin_sdk.Ref_Target)(nil), // 187: hashicorp.vagrant.sdk.Ref.Target + (*vagrant_plugin_sdk.Ref_Basis)(nil), // 188: hashicorp.vagrant.sdk.Ref.Basis + (*structpb.Struct)(nil), // 189: google.protobuf.Struct + (*timestamppb.Timestamp)(nil), // 190: google.protobuf.Timestamp + (*vagrant_plugin_sdk.Args_DataDir_Target)(nil), // 191: hashicorp.vagrant.sdk.Args.DataDir.Target + (*vagrant_plugin_sdk.Args_ConfigData)(nil), // 192: hashicorp.vagrant.sdk.Args.ConfigData + (*anypb.Any)(nil), // 193: google.protobuf.Any + (*status.Status)(nil), // 194: google.rpc.Status + (*vagrant_plugin_sdk.Ref_Box)(nil), // 195: hashicorp.vagrant.sdk.Ref.Box + (*vagrant_plugin_sdk.Args_Target_Machine_State)(nil), // 196: hashicorp.vagrant.sdk.Args.Target.Machine.State + (*vagrant_plugin_sdk.Command_CommandInfo)(nil), // 197: hashicorp.vagrant.sdk.Command.CommandInfo + (*vagrant_plugin_sdk.Command_Arguments)(nil), // 198: hashicorp.vagrant.sdk.Command.Arguments + (*emptypb.Empty)(nil), // 199: google.protobuf.Empty } var file_proto_vagrant_server_server_proto_depIdxs = []int32{ 11, // 0: hashicorp.vagrant.GetVersionInfoResponse.info:type_name -> hashicorp.vagrant.VersionInfo 96, // 1: hashicorp.vagrant.VersionInfo.api:type_name -> hashicorp.vagrant.VersionInfo.ProtocolVersion 96, // 2: hashicorp.vagrant.VersionInfo.entrypoint:type_name -> hashicorp.vagrant.VersionInfo.ProtocolVersion - 179, // 3: hashicorp.vagrant.Vagrantfile.unfinalized:type_name -> hashicorp.vagrant.sdk.Args.Hash - 179, // 4: hashicorp.vagrant.Vagrantfile.finalized:type_name -> hashicorp.vagrant.sdk.Args.Hash + 183, // 3: hashicorp.vagrant.Vagrantfile.unfinalized:type_name -> hashicorp.vagrant.sdk.Args.Hash + 183, // 4: hashicorp.vagrant.Vagrantfile.finalized:type_name -> hashicorp.vagrant.sdk.Args.Hash 0, // 5: hashicorp.vagrant.Vagrantfile.format:type_name -> hashicorp.vagrant.Vagrantfile.Format - 180, // 6: hashicorp.vagrant.Vagrantfile.path:type_name -> hashicorp.vagrant.sdk.Args.Path - 181, // 7: hashicorp.vagrant.Basis.projects:type_name -> hashicorp.vagrant.sdk.Ref.Project - 182, // 8: hashicorp.vagrant.Basis.metadata:type_name -> hashicorp.vagrant.sdk.Args.MetadataSet + 184, // 6: hashicorp.vagrant.Vagrantfile.path:type_name -> hashicorp.vagrant.sdk.Args.Path + 185, // 7: hashicorp.vagrant.Basis.projects:type_name -> hashicorp.vagrant.sdk.Ref.Project + 186, // 8: hashicorp.vagrant.Basis.metadata:type_name -> hashicorp.vagrant.sdk.Args.MetadataSet 12, // 9: hashicorp.vagrant.Basis.configuration:type_name -> hashicorp.vagrant.Vagrantfile 111, // 10: hashicorp.vagrant.Basis.data_source:type_name -> hashicorp.vagrant.Job.DataSource - 183, // 11: hashicorp.vagrant.Project.targets:type_name -> hashicorp.vagrant.sdk.Ref.Target - 184, // 12: hashicorp.vagrant.Project.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis - 182, // 13: hashicorp.vagrant.Project.metadata:type_name -> hashicorp.vagrant.sdk.Args.MetadataSet + 187, // 11: hashicorp.vagrant.Project.targets:type_name -> hashicorp.vagrant.sdk.Ref.Target + 188, // 12: hashicorp.vagrant.Project.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis + 186, // 13: hashicorp.vagrant.Project.metadata:type_name -> hashicorp.vagrant.sdk.Args.MetadataSet 12, // 14: hashicorp.vagrant.Project.configuration:type_name -> hashicorp.vagrant.Vagrantfile 111, // 15: hashicorp.vagrant.Project.data_source:type_name -> hashicorp.vagrant.Job.DataSource - 185, // 16: hashicorp.vagrant.Box.metadata:type_name -> google.protobuf.Struct - 186, // 17: hashicorp.vagrant.Box.last_update:type_name -> google.protobuf.Timestamp - 187, // 18: hashicorp.vagrant.Target.datadir:type_name -> hashicorp.vagrant.sdk.Args.DataDir.Target - 181, // 19: hashicorp.vagrant.Target.project:type_name -> hashicorp.vagrant.sdk.Ref.Project + 189, // 16: hashicorp.vagrant.Box.metadata:type_name -> google.protobuf.Struct + 190, // 17: hashicorp.vagrant.Box.last_update:type_name -> google.protobuf.Timestamp + 191, // 18: hashicorp.vagrant.Target.datadir:type_name -> hashicorp.vagrant.sdk.Args.DataDir.Target + 185, // 19: hashicorp.vagrant.Target.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 3, // 20: hashicorp.vagrant.Target.state:type_name -> hashicorp.vagrant.Operation.PhysicalState - 183, // 21: hashicorp.vagrant.Target.subtargets:type_name -> hashicorp.vagrant.sdk.Ref.Target - 183, // 22: hashicorp.vagrant.Target.parent:type_name -> hashicorp.vagrant.sdk.Ref.Target - 182, // 23: hashicorp.vagrant.Target.metadata:type_name -> hashicorp.vagrant.sdk.Args.MetadataSet - 188, // 24: hashicorp.vagrant.Target.configuration:type_name -> hashicorp.vagrant.sdk.Args.ConfigData - 189, // 25: hashicorp.vagrant.Target.record:type_name -> google.protobuf.Any + 187, // 21: hashicorp.vagrant.Target.subtargets:type_name -> hashicorp.vagrant.sdk.Ref.Target + 187, // 22: hashicorp.vagrant.Target.parent:type_name -> hashicorp.vagrant.sdk.Ref.Target + 186, // 23: hashicorp.vagrant.Target.metadata:type_name -> hashicorp.vagrant.sdk.Args.MetadataSet + 192, // 24: hashicorp.vagrant.Target.configuration:type_name -> hashicorp.vagrant.sdk.Args.ConfigData + 193, // 25: hashicorp.vagrant.Target.record:type_name -> google.protobuf.Any 1, // 26: hashicorp.vagrant.Component.type:type_name -> hashicorp.vagrant.Component.Type 2, // 27: hashicorp.vagrant.Status.state:type_name -> hashicorp.vagrant.Status.State - 190, // 28: hashicorp.vagrant.Status.error:type_name -> google.rpc.Status - 186, // 29: hashicorp.vagrant.Status.start_time:type_name -> google.protobuf.Timestamp - 186, // 30: hashicorp.vagrant.Status.complete_time:type_name -> google.protobuf.Timestamp + 194, // 28: hashicorp.vagrant.Status.error:type_name -> google.rpc.Status + 190, // 29: hashicorp.vagrant.Status.start_time:type_name -> google.protobuf.Timestamp + 190, // 30: hashicorp.vagrant.Status.complete_time:type_name -> google.protobuf.Timestamp 107, // 31: hashicorp.vagrant.StatusFilter.filters:type_name -> hashicorp.vagrant.StatusFilter.Filter 4, // 32: hashicorp.vagrant.OperationOrder.order:type_name -> hashicorp.vagrant.OperationOrder.Order 28, // 33: hashicorp.vagrant.QueueJobRequest.job:type_name -> hashicorp.vagrant.Job 28, // 34: hashicorp.vagrant.ValidateJobRequest.job:type_name -> hashicorp.vagrant.Job - 190, // 35: hashicorp.vagrant.ValidateJobResponse.validation_error:type_name -> google.rpc.Status - 184, // 36: hashicorp.vagrant.Job.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis - 181, // 37: hashicorp.vagrant.Job.project:type_name -> hashicorp.vagrant.sdk.Ref.Project - 183, // 38: hashicorp.vagrant.Job.target:type_name -> hashicorp.vagrant.sdk.Ref.Target + 194, // 35: hashicorp.vagrant.ValidateJobResponse.validation_error:type_name -> google.rpc.Status + 188, // 36: hashicorp.vagrant.Job.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis + 185, // 37: hashicorp.vagrant.Job.project:type_name -> hashicorp.vagrant.sdk.Ref.Project + 187, // 38: hashicorp.vagrant.Job.target:type_name -> hashicorp.vagrant.sdk.Ref.Target 103, // 39: hashicorp.vagrant.Job.target_runner:type_name -> hashicorp.vagrant.Ref.Runner 108, // 40: hashicorp.vagrant.Job.labels:type_name -> hashicorp.vagrant.Job.LabelsEntry 111, // 41: hashicorp.vagrant.Job.data_source:type_name -> hashicorp.vagrant.Job.DataSource 109, // 42: hashicorp.vagrant.Job.data_source_overrides:type_name -> hashicorp.vagrant.Job.DataSourceOverridesEntry 114, // 43: hashicorp.vagrant.Job.noop:type_name -> hashicorp.vagrant.Job.Noop - 123, // 44: hashicorp.vagrant.Job.auth:type_name -> hashicorp.vagrant.Job.AuthOp - 125, // 45: hashicorp.vagrant.Job.docs:type_name -> hashicorp.vagrant.Job.DocsOp + 127, // 44: hashicorp.vagrant.Job.auth:type_name -> hashicorp.vagrant.Job.AuthOp + 129, // 45: hashicorp.vagrant.Job.docs:type_name -> hashicorp.vagrant.Job.DocsOp 115, // 46: hashicorp.vagrant.Job.validate:type_name -> hashicorp.vagrant.Job.ValidateOp - 121, // 47: hashicorp.vagrant.Job.command:type_name -> hashicorp.vagrant.Job.CommandOp + 125, // 47: hashicorp.vagrant.Job.command:type_name -> hashicorp.vagrant.Job.CommandOp 117, // 48: hashicorp.vagrant.Job.init:type_name -> hashicorp.vagrant.Job.InitOp - 5, // 49: hashicorp.vagrant.Job.state:type_name -> hashicorp.vagrant.Job.State - 104, // 50: hashicorp.vagrant.Job.assigned_runner:type_name -> hashicorp.vagrant.Ref.RunnerId - 186, // 51: hashicorp.vagrant.Job.queue_time:type_name -> google.protobuf.Timestamp - 186, // 52: hashicorp.vagrant.Job.assign_time:type_name -> google.protobuf.Timestamp - 186, // 53: hashicorp.vagrant.Job.ack_time:type_name -> google.protobuf.Timestamp - 186, // 54: hashicorp.vagrant.Job.complete_time:type_name -> google.protobuf.Timestamp - 190, // 55: hashicorp.vagrant.Job.error:type_name -> google.rpc.Status - 110, // 56: hashicorp.vagrant.Job.result:type_name -> hashicorp.vagrant.Job.Result - 186, // 57: hashicorp.vagrant.Job.cancel_time:type_name -> google.protobuf.Timestamp - 186, // 58: hashicorp.vagrant.Job.expire_time:type_name -> google.protobuf.Timestamp - 130, // 59: hashicorp.vagrant.Documentation.fields:type_name -> hashicorp.vagrant.Documentation.FieldsEntry - 132, // 60: hashicorp.vagrant.Documentation.mappers:type_name -> hashicorp.vagrant.Documentation.Mapper - 28, // 61: hashicorp.vagrant.ListJobsResponse.jobs:type_name -> hashicorp.vagrant.Job - 133, // 62: hashicorp.vagrant.GetJobStreamResponse.open:type_name -> hashicorp.vagrant.GetJobStreamResponse.Open - 134, // 63: hashicorp.vagrant.GetJobStreamResponse.state:type_name -> hashicorp.vagrant.GetJobStreamResponse.State - 135, // 64: hashicorp.vagrant.GetJobStreamResponse.terminal:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal - 136, // 65: hashicorp.vagrant.GetJobStreamResponse.error:type_name -> hashicorp.vagrant.GetJobStreamResponse.Error - 137, // 66: hashicorp.vagrant.GetJobStreamResponse.complete:type_name -> hashicorp.vagrant.GetJobStreamResponse.Complete - 18, // 67: hashicorp.vagrant.Runner.components:type_name -> hashicorp.vagrant.Component - 149, // 68: hashicorp.vagrant.RunnerConfigRequest.open:type_name -> hashicorp.vagrant.RunnerConfigRequest.Open - 38, // 69: hashicorp.vagrant.RunnerConfigResponse.config:type_name -> hashicorp.vagrant.RunnerConfig - 74, // 70: hashicorp.vagrant.RunnerConfig.config_vars:type_name -> hashicorp.vagrant.ConfigVar - 150, // 71: hashicorp.vagrant.RunnerJobStreamRequest.request:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Request - 151, // 72: hashicorp.vagrant.RunnerJobStreamRequest.ack:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Ack - 152, // 73: hashicorp.vagrant.RunnerJobStreamRequest.complete:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Complete - 153, // 74: hashicorp.vagrant.RunnerJobStreamRequest.error:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Error - 135, // 75: hashicorp.vagrant.RunnerJobStreamRequest.terminal:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal - 154, // 76: hashicorp.vagrant.RunnerJobStreamRequest.heartbeat:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Heartbeat - 155, // 77: hashicorp.vagrant.RunnerJobStreamResponse.assignment:type_name -> hashicorp.vagrant.RunnerJobStreamResponse.JobAssignment - 156, // 78: hashicorp.vagrant.RunnerJobStreamResponse.cancel:type_name -> hashicorp.vagrant.RunnerJobStreamResponse.JobCancel - 13, // 79: hashicorp.vagrant.UpsertBasisRequest.basis:type_name -> hashicorp.vagrant.Basis - 13, // 80: hashicorp.vagrant.UpsertBasisResponse.basis:type_name -> hashicorp.vagrant.Basis - 184, // 81: hashicorp.vagrant.GetBasisRequest.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis - 13, // 82: hashicorp.vagrant.GetBasisResponse.basis:type_name -> hashicorp.vagrant.Basis - 13, // 83: hashicorp.vagrant.FindBasisRequest.basis:type_name -> hashicorp.vagrant.Basis - 13, // 84: hashicorp.vagrant.FindBasisResponse.basis:type_name -> hashicorp.vagrant.Basis - 184, // 85: hashicorp.vagrant.ListBasisResponse.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis - 14, // 86: hashicorp.vagrant.UpsertProjectRequest.project:type_name -> hashicorp.vagrant.Project - 14, // 87: hashicorp.vagrant.UpsertProjectResponse.project:type_name -> hashicorp.vagrant.Project - 181, // 88: hashicorp.vagrant.GetProjectRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project - 14, // 89: hashicorp.vagrant.GetProjectResponse.project:type_name -> hashicorp.vagrant.Project - 14, // 90: hashicorp.vagrant.FindProjectRequest.project:type_name -> hashicorp.vagrant.Project - 14, // 91: hashicorp.vagrant.FindProjectResponse.project:type_name -> hashicorp.vagrant.Project - 181, // 92: hashicorp.vagrant.ListProjectsResponse.projects:type_name -> hashicorp.vagrant.sdk.Ref.Project - 181, // 93: hashicorp.vagrant.UpsertTargetRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project - 16, // 94: hashicorp.vagrant.UpsertTargetRequest.target:type_name -> hashicorp.vagrant.Target - 16, // 95: hashicorp.vagrant.UpsertTargetResponse.target:type_name -> hashicorp.vagrant.Target - 181, // 96: hashicorp.vagrant.DeleteTargetRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project - 183, // 97: hashicorp.vagrant.DeleteTargetRequest.target:type_name -> hashicorp.vagrant.sdk.Ref.Target - 181, // 98: hashicorp.vagrant.GetTargetRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project - 183, // 99: hashicorp.vagrant.GetTargetRequest.target:type_name -> hashicorp.vagrant.sdk.Ref.Target - 16, // 100: hashicorp.vagrant.GetTargetResponse.target:type_name -> hashicorp.vagrant.Target - 16, // 101: hashicorp.vagrant.FindTargetRequest.target:type_name -> hashicorp.vagrant.Target - 16, // 102: hashicorp.vagrant.FindTargetResponse.target:type_name -> hashicorp.vagrant.Target - 183, // 103: hashicorp.vagrant.ListTargetsResponse.targets:type_name -> hashicorp.vagrant.sdk.Ref.Target - 15, // 104: hashicorp.vagrant.UpsertBoxRequest.box:type_name -> hashicorp.vagrant.Box - 15, // 105: hashicorp.vagrant.UpsertBoxResponse.box:type_name -> hashicorp.vagrant.Box - 191, // 106: hashicorp.vagrant.DeleteBoxRequest.box:type_name -> hashicorp.vagrant.sdk.Ref.Box - 191, // 107: hashicorp.vagrant.GetBoxRequest.box:type_name -> hashicorp.vagrant.sdk.Ref.Box - 15, // 108: hashicorp.vagrant.GetBoxResponse.box:type_name -> hashicorp.vagrant.Box - 191, // 109: hashicorp.vagrant.ListBoxesResponse.boxes:type_name -> hashicorp.vagrant.sdk.Ref.Box - 191, // 110: hashicorp.vagrant.FindBoxRequest.box:type_name -> hashicorp.vagrant.sdk.Ref.Box - 15, // 111: hashicorp.vagrant.FindBoxResponse.box:type_name -> hashicorp.vagrant.Box - 184, // 112: hashicorp.vagrant.GetLogStreamRequest.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis - 181, // 113: hashicorp.vagrant.GetLogStreamRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project - 183, // 114: hashicorp.vagrant.GetLogStreamRequest.target:type_name -> hashicorp.vagrant.sdk.Ref.Target - 157, // 115: hashicorp.vagrant.LogBatch.lines:type_name -> hashicorp.vagrant.LogBatch.Entry - 184, // 116: hashicorp.vagrant.ConfigVar.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis - 181, // 117: hashicorp.vagrant.ConfigVar.project:type_name -> hashicorp.vagrant.sdk.Ref.Project - 183, // 118: hashicorp.vagrant.ConfigVar.target:type_name -> hashicorp.vagrant.sdk.Ref.Target - 103, // 119: hashicorp.vagrant.ConfigVar.runner:type_name -> hashicorp.vagrant.Ref.Runner - 74, // 120: hashicorp.vagrant.ConfigSetRequest.variables:type_name -> hashicorp.vagrant.ConfigVar - 183, // 121: hashicorp.vagrant.ConfigGetRequest.target:type_name -> hashicorp.vagrant.sdk.Ref.Target - 181, // 122: hashicorp.vagrant.ConfigGetRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project - 184, // 123: hashicorp.vagrant.ConfigGetRequest.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis - 104, // 124: hashicorp.vagrant.ConfigGetRequest.runner:type_name -> hashicorp.vagrant.Ref.RunnerId - 74, // 125: hashicorp.vagrant.ConfigGetResponse.variables:type_name -> hashicorp.vagrant.ConfigVar - 158, // 126: hashicorp.vagrant.ExecStreamRequest.start:type_name -> hashicorp.vagrant.ExecStreamRequest.Start - 159, // 127: hashicorp.vagrant.ExecStreamRequest.input:type_name -> hashicorp.vagrant.ExecStreamRequest.Input - 161, // 128: hashicorp.vagrant.ExecStreamRequest.winch:type_name -> hashicorp.vagrant.ExecStreamRequest.WindowSize - 162, // 129: hashicorp.vagrant.ExecStreamResponse.open:type_name -> hashicorp.vagrant.ExecStreamResponse.Open - 164, // 130: hashicorp.vagrant.ExecStreamResponse.output:type_name -> hashicorp.vagrant.ExecStreamResponse.Output - 163, // 131: hashicorp.vagrant.ExecStreamResponse.exit:type_name -> hashicorp.vagrant.ExecStreamResponse.Exit - 83, // 132: hashicorp.vagrant.EntrypointConfigResponse.config:type_name -> hashicorp.vagrant.EntrypointConfig - 165, // 133: hashicorp.vagrant.EntrypointConfig.exec:type_name -> hashicorp.vagrant.EntrypointConfig.Exec - 74, // 134: hashicorp.vagrant.EntrypointConfig.env_vars:type_name -> hashicorp.vagrant.ConfigVar - 166, // 135: hashicorp.vagrant.EntrypointConfig.url_service:type_name -> hashicorp.vagrant.EntrypointConfig.URLService - 157, // 136: hashicorp.vagrant.EntrypointLogBatch.lines:type_name -> hashicorp.vagrant.LogBatch.Entry - 167, // 137: hashicorp.vagrant.EntrypointExecRequest.open:type_name -> hashicorp.vagrant.EntrypointExecRequest.Open - 168, // 138: hashicorp.vagrant.EntrypointExecRequest.exit:type_name -> hashicorp.vagrant.EntrypointExecRequest.Exit - 169, // 139: hashicorp.vagrant.EntrypointExecRequest.output:type_name -> hashicorp.vagrant.EntrypointExecRequest.Output - 170, // 140: hashicorp.vagrant.EntrypointExecRequest.error:type_name -> hashicorp.vagrant.EntrypointExecRequest.Error - 161, // 141: hashicorp.vagrant.EntrypointExecResponse.winch:type_name -> hashicorp.vagrant.ExecStreamRequest.WindowSize - 171, // 142: hashicorp.vagrant.TokenTransport.metadata:type_name -> hashicorp.vagrant.TokenTransport.MetadataEntry - 186, // 143: hashicorp.vagrant.Token.valid_until:type_name -> google.protobuf.Timestamp - 172, // 144: hashicorp.vagrant.Token.entrypoint:type_name -> hashicorp.vagrant.Token.Entrypoint - 172, // 145: hashicorp.vagrant.InviteTokenRequest.entrypoint:type_name -> hashicorp.vagrant.Token.Entrypoint - 173, // 146: hashicorp.vagrant.CreateSnapshotResponse.open:type_name -> hashicorp.vagrant.CreateSnapshotResponse.Open - 174, // 147: hashicorp.vagrant.RestoreSnapshotRequest.open:type_name -> hashicorp.vagrant.RestoreSnapshotRequest.Open - 15, // 148: hashicorp.vagrant.Target.Machine.box:type_name -> hashicorp.vagrant.Box - 192, // 149: hashicorp.vagrant.Target.Machine.state:type_name -> hashicorp.vagrant.sdk.Args.Target.Machine.State - 1, // 150: hashicorp.vagrant.Ref.Component.type:type_name -> hashicorp.vagrant.Component.Type - 100, // 151: hashicorp.vagrant.Ref.Operation.target_sequence:type_name -> hashicorp.vagrant.Ref.TargetOperationSeq - 101, // 152: hashicorp.vagrant.Ref.Operation.project_sequence:type_name -> hashicorp.vagrant.Ref.ProjectOperationSeq - 102, // 153: hashicorp.vagrant.Ref.Operation.basis_sequence:type_name -> hashicorp.vagrant.Ref.BasisOperationSeq - 183, // 154: hashicorp.vagrant.Ref.TargetOperationSeq.target:type_name -> hashicorp.vagrant.sdk.Ref.Target - 181, // 155: hashicorp.vagrant.Ref.ProjectOperationSeq.project:type_name -> hashicorp.vagrant.sdk.Ref.Project - 184, // 156: hashicorp.vagrant.Ref.BasisOperationSeq.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis - 105, // 157: hashicorp.vagrant.Ref.Runner.any:type_name -> hashicorp.vagrant.Ref.RunnerAny - 104, // 158: hashicorp.vagrant.Ref.Runner.id:type_name -> hashicorp.vagrant.Ref.RunnerId - 2, // 159: hashicorp.vagrant.StatusFilter.Filter.state:type_name -> hashicorp.vagrant.Status.State - 124, // 160: hashicorp.vagrant.Job.Result.auth:type_name -> hashicorp.vagrant.Job.AuthResult - 126, // 161: hashicorp.vagrant.Job.Result.docs:type_name -> hashicorp.vagrant.Job.DocsResult - 116, // 162: hashicorp.vagrant.Job.Result.validate:type_name -> hashicorp.vagrant.Job.ValidateResult - 118, // 163: hashicorp.vagrant.Job.Result.init:type_name -> hashicorp.vagrant.Job.InitResult - 122, // 164: hashicorp.vagrant.Job.Result.run:type_name -> hashicorp.vagrant.Job.CommandResult - 112, // 165: hashicorp.vagrant.Job.DataSource.local:type_name -> hashicorp.vagrant.Job.Local - 113, // 166: hashicorp.vagrant.Job.DataSource.git:type_name -> hashicorp.vagrant.Job.Git - 119, // 167: hashicorp.vagrant.Job.InitResult.actions:type_name -> hashicorp.vagrant.Job.Action - 193, // 168: hashicorp.vagrant.Job.InitResult.commands:type_name -> hashicorp.vagrant.sdk.Command.CommandInfo - 120, // 169: hashicorp.vagrant.Job.InitResult.hooks:type_name -> hashicorp.vagrant.Job.Hook - 6, // 170: hashicorp.vagrant.Job.Hook.location:type_name -> hashicorp.vagrant.Job.Hook.Location - 183, // 171: hashicorp.vagrant.Job.CommandOp.target:type_name -> hashicorp.vagrant.sdk.Ref.Target - 181, // 172: hashicorp.vagrant.Job.CommandOp.project:type_name -> hashicorp.vagrant.sdk.Ref.Project - 184, // 173: hashicorp.vagrant.Job.CommandOp.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis - 19, // 174: hashicorp.vagrant.Job.CommandOp.status:type_name -> hashicorp.vagrant.Status - 3, // 175: hashicorp.vagrant.Job.CommandOp.state:type_name -> hashicorp.vagrant.Operation.PhysicalState - 18, // 176: hashicorp.vagrant.Job.CommandOp.component:type_name -> hashicorp.vagrant.Component - 127, // 177: hashicorp.vagrant.Job.CommandOp.labels:type_name -> hashicorp.vagrant.Job.CommandOp.LabelsEntry - 194, // 178: hashicorp.vagrant.Job.CommandOp.cli_args:type_name -> hashicorp.vagrant.sdk.Command.Arguments - 12, // 179: hashicorp.vagrant.Job.CommandOp.vagrantfile:type_name -> hashicorp.vagrant.Vagrantfile - 21, // 180: hashicorp.vagrant.Job.CommandResult.task:type_name -> hashicorp.vagrant.Operation - 190, // 181: hashicorp.vagrant.Job.CommandResult.run_error:type_name -> google.rpc.Status - 98, // 182: hashicorp.vagrant.Job.AuthOp.component:type_name -> hashicorp.vagrant.Ref.Component - 128, // 183: hashicorp.vagrant.Job.AuthResult.results:type_name -> hashicorp.vagrant.Job.AuthResult.Result - 129, // 184: hashicorp.vagrant.Job.DocsResult.results:type_name -> hashicorp.vagrant.Job.DocsResult.Result - 18, // 185: hashicorp.vagrant.Job.AuthResult.Result.component:type_name -> hashicorp.vagrant.Component - 190, // 186: hashicorp.vagrant.Job.AuthResult.Result.check_error:type_name -> google.rpc.Status - 190, // 187: hashicorp.vagrant.Job.AuthResult.Result.auth_error:type_name -> google.rpc.Status - 18, // 188: hashicorp.vagrant.Job.DocsResult.Result.component:type_name -> hashicorp.vagrant.Component - 29, // 189: hashicorp.vagrant.Job.DocsResult.Result.docs:type_name -> hashicorp.vagrant.Documentation - 131, // 190: hashicorp.vagrant.Documentation.FieldsEntry.value:type_name -> hashicorp.vagrant.Documentation.Field - 5, // 191: hashicorp.vagrant.GetJobStreamResponse.State.previous:type_name -> hashicorp.vagrant.Job.State - 5, // 192: hashicorp.vagrant.GetJobStreamResponse.State.current:type_name -> hashicorp.vagrant.Job.State - 28, // 193: hashicorp.vagrant.GetJobStreamResponse.State.job:type_name -> hashicorp.vagrant.Job - 138, // 194: hashicorp.vagrant.GetJobStreamResponse.Terminal.events:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event - 190, // 195: hashicorp.vagrant.GetJobStreamResponse.Error.error:type_name -> google.rpc.Status - 190, // 196: hashicorp.vagrant.GetJobStreamResponse.Complete.error:type_name -> google.rpc.Status - 110, // 197: hashicorp.vagrant.GetJobStreamResponse.Complete.result:type_name -> hashicorp.vagrant.Job.Result - 186, // 198: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.timestamp:type_name -> google.protobuf.Timestamp - 140, // 199: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.line:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Line - 139, // 200: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.status:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Status - 143, // 201: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.named_values:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValues - 141, // 202: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.raw:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Raw - 146, // 203: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.table:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Table - 147, // 204: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.step_group:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.StepGroup - 148, // 205: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.step:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Step - 142, // 206: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValues.values:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValue - 144, // 207: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableRow.entries:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableEntry - 145, // 208: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Table.rows:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableRow - 35, // 209: hashicorp.vagrant.RunnerConfigRequest.Open.runner:type_name -> hashicorp.vagrant.Runner - 110, // 210: hashicorp.vagrant.RunnerJobStreamRequest.Complete.result:type_name -> hashicorp.vagrant.Job.Result - 190, // 211: hashicorp.vagrant.RunnerJobStreamRequest.Error.error:type_name -> google.rpc.Status - 28, // 212: hashicorp.vagrant.RunnerJobStreamResponse.JobAssignment.job:type_name -> hashicorp.vagrant.Job - 186, // 213: hashicorp.vagrant.LogBatch.Entry.timestamp:type_name -> google.protobuf.Timestamp - 160, // 214: hashicorp.vagrant.ExecStreamRequest.Start.pty:type_name -> hashicorp.vagrant.ExecStreamRequest.PTY - 161, // 215: hashicorp.vagrant.ExecStreamRequest.PTY.window_size:type_name -> hashicorp.vagrant.ExecStreamRequest.WindowSize - 7, // 216: hashicorp.vagrant.ExecStreamResponse.Output.channel:type_name -> hashicorp.vagrant.ExecStreamResponse.Output.Channel - 160, // 217: hashicorp.vagrant.EntrypointConfig.Exec.pty:type_name -> hashicorp.vagrant.ExecStreamRequest.PTY - 8, // 218: hashicorp.vagrant.EntrypointExecRequest.Output.channel:type_name -> hashicorp.vagrant.EntrypointExecRequest.Output.Channel - 190, // 219: hashicorp.vagrant.EntrypointExecRequest.Error.error:type_name -> google.rpc.Status - 11, // 220: hashicorp.vagrant.Snapshot.Header.version:type_name -> hashicorp.vagrant.VersionInfo - 9, // 221: hashicorp.vagrant.Snapshot.Header.format:type_name -> hashicorp.vagrant.Snapshot.Header.Format - 178, // 222: hashicorp.vagrant.Snapshot.BoltChunk.items:type_name -> hashicorp.vagrant.Snapshot.BoltChunk.ItemsEntry - 195, // 223: hashicorp.vagrant.Vagrant.GetVersionInfo:input_type -> google.protobuf.Empty - 42, // 224: hashicorp.vagrant.Vagrant.UpsertBasis:input_type -> hashicorp.vagrant.UpsertBasisRequest - 44, // 225: hashicorp.vagrant.Vagrant.GetBasis:input_type -> hashicorp.vagrant.GetBasisRequest - 46, // 226: hashicorp.vagrant.Vagrant.FindBasis:input_type -> hashicorp.vagrant.FindBasisRequest - 195, // 227: hashicorp.vagrant.Vagrant.ListBasis:input_type -> google.protobuf.Empty - 49, // 228: hashicorp.vagrant.Vagrant.UpsertProject:input_type -> hashicorp.vagrant.UpsertProjectRequest - 51, // 229: hashicorp.vagrant.Vagrant.GetProject:input_type -> hashicorp.vagrant.GetProjectRequest - 53, // 230: hashicorp.vagrant.Vagrant.FindProject:input_type -> hashicorp.vagrant.FindProjectRequest - 195, // 231: hashicorp.vagrant.Vagrant.ListProjects:input_type -> google.protobuf.Empty - 56, // 232: hashicorp.vagrant.Vagrant.UpsertTarget:input_type -> hashicorp.vagrant.UpsertTargetRequest - 58, // 233: hashicorp.vagrant.Vagrant.DeleteTarget:input_type -> hashicorp.vagrant.DeleteTargetRequest - 59, // 234: hashicorp.vagrant.Vagrant.GetTarget:input_type -> hashicorp.vagrant.GetTargetRequest - 61, // 235: hashicorp.vagrant.Vagrant.FindTarget:input_type -> hashicorp.vagrant.FindTargetRequest - 195, // 236: hashicorp.vagrant.Vagrant.ListTargets:input_type -> google.protobuf.Empty - 64, // 237: hashicorp.vagrant.Vagrant.UpsertBox:input_type -> hashicorp.vagrant.UpsertBoxRequest - 66, // 238: hashicorp.vagrant.Vagrant.DeleteBox:input_type -> hashicorp.vagrant.DeleteBoxRequest - 67, // 239: hashicorp.vagrant.Vagrant.GetBox:input_type -> hashicorp.vagrant.GetBoxRequest - 195, // 240: hashicorp.vagrant.Vagrant.ListBoxes:input_type -> google.protobuf.Empty - 70, // 241: hashicorp.vagrant.Vagrant.FindBox:input_type -> hashicorp.vagrant.FindBoxRequest - 72, // 242: hashicorp.vagrant.Vagrant.GetLogStream:input_type -> hashicorp.vagrant.GetLogStreamRequest - 23, // 243: hashicorp.vagrant.Vagrant.QueueJob:input_type -> hashicorp.vagrant.QueueJobRequest - 25, // 244: hashicorp.vagrant.Vagrant.CancelJob:input_type -> hashicorp.vagrant.CancelJobRequest - 30, // 245: hashicorp.vagrant.Vagrant.GetJob:input_type -> hashicorp.vagrant.GetJobRequest - 31, // 246: hashicorp.vagrant.Vagrant._ListJobs:input_type -> hashicorp.vagrant.ListJobsRequest - 26, // 247: hashicorp.vagrant.Vagrant.ValidateJob:input_type -> hashicorp.vagrant.ValidateJobRequest - 33, // 248: hashicorp.vagrant.Vagrant.GetJobStream:input_type -> hashicorp.vagrant.GetJobStreamRequest - 195, // 249: hashicorp.vagrant.Vagrant.PruneOldJobs:input_type -> google.protobuf.Empty - 41, // 250: hashicorp.vagrant.Vagrant.GetRunner:input_type -> hashicorp.vagrant.GetRunnerRequest - 195, // 251: hashicorp.vagrant.Vagrant.BootstrapToken:input_type -> google.protobuf.Empty - 90, // 252: hashicorp.vagrant.Vagrant.GenerateInviteToken:input_type -> hashicorp.vagrant.InviteTokenRequest - 195, // 253: hashicorp.vagrant.Vagrant.GenerateLoginToken:input_type -> google.protobuf.Empty - 92, // 254: hashicorp.vagrant.Vagrant.ConvertInviteToken:input_type -> hashicorp.vagrant.ConvertInviteTokenRequest - 36, // 255: hashicorp.vagrant.Vagrant.RunnerConfig:input_type -> hashicorp.vagrant.RunnerConfigRequest - 39, // 256: hashicorp.vagrant.Vagrant.RunnerJobStream:input_type -> hashicorp.vagrant.RunnerJobStreamRequest - 10, // 257: hashicorp.vagrant.Vagrant.GetVersionInfo:output_type -> hashicorp.vagrant.GetVersionInfoResponse - 43, // 258: hashicorp.vagrant.Vagrant.UpsertBasis:output_type -> hashicorp.vagrant.UpsertBasisResponse - 45, // 259: hashicorp.vagrant.Vagrant.GetBasis:output_type -> hashicorp.vagrant.GetBasisResponse - 47, // 260: hashicorp.vagrant.Vagrant.FindBasis:output_type -> hashicorp.vagrant.FindBasisResponse - 48, // 261: hashicorp.vagrant.Vagrant.ListBasis:output_type -> hashicorp.vagrant.ListBasisResponse - 50, // 262: hashicorp.vagrant.Vagrant.UpsertProject:output_type -> hashicorp.vagrant.UpsertProjectResponse - 52, // 263: hashicorp.vagrant.Vagrant.GetProject:output_type -> hashicorp.vagrant.GetProjectResponse - 54, // 264: hashicorp.vagrant.Vagrant.FindProject:output_type -> hashicorp.vagrant.FindProjectResponse - 55, // 265: hashicorp.vagrant.Vagrant.ListProjects:output_type -> hashicorp.vagrant.ListProjectsResponse - 57, // 266: hashicorp.vagrant.Vagrant.UpsertTarget:output_type -> hashicorp.vagrant.UpsertTargetResponse - 195, // 267: hashicorp.vagrant.Vagrant.DeleteTarget:output_type -> google.protobuf.Empty - 60, // 268: hashicorp.vagrant.Vagrant.GetTarget:output_type -> hashicorp.vagrant.GetTargetResponse - 62, // 269: hashicorp.vagrant.Vagrant.FindTarget:output_type -> hashicorp.vagrant.FindTargetResponse - 63, // 270: hashicorp.vagrant.Vagrant.ListTargets:output_type -> hashicorp.vagrant.ListTargetsResponse - 65, // 271: hashicorp.vagrant.Vagrant.UpsertBox:output_type -> hashicorp.vagrant.UpsertBoxResponse - 195, // 272: hashicorp.vagrant.Vagrant.DeleteBox:output_type -> google.protobuf.Empty - 68, // 273: hashicorp.vagrant.Vagrant.GetBox:output_type -> hashicorp.vagrant.GetBoxResponse - 69, // 274: hashicorp.vagrant.Vagrant.ListBoxes:output_type -> hashicorp.vagrant.ListBoxesResponse - 71, // 275: hashicorp.vagrant.Vagrant.FindBox:output_type -> hashicorp.vagrant.FindBoxResponse - 73, // 276: hashicorp.vagrant.Vagrant.GetLogStream:output_type -> hashicorp.vagrant.LogBatch - 24, // 277: hashicorp.vagrant.Vagrant.QueueJob:output_type -> hashicorp.vagrant.QueueJobResponse - 195, // 278: hashicorp.vagrant.Vagrant.CancelJob:output_type -> google.protobuf.Empty - 28, // 279: hashicorp.vagrant.Vagrant.GetJob:output_type -> hashicorp.vagrant.Job - 32, // 280: hashicorp.vagrant.Vagrant._ListJobs:output_type -> hashicorp.vagrant.ListJobsResponse - 27, // 281: hashicorp.vagrant.Vagrant.ValidateJob:output_type -> hashicorp.vagrant.ValidateJobResponse - 34, // 282: hashicorp.vagrant.Vagrant.GetJobStream:output_type -> hashicorp.vagrant.GetJobStreamResponse - 195, // 283: hashicorp.vagrant.Vagrant.PruneOldJobs:output_type -> google.protobuf.Empty - 35, // 284: hashicorp.vagrant.Vagrant.GetRunner:output_type -> hashicorp.vagrant.Runner - 91, // 285: hashicorp.vagrant.Vagrant.BootstrapToken:output_type -> hashicorp.vagrant.NewTokenResponse - 91, // 286: hashicorp.vagrant.Vagrant.GenerateInviteToken:output_type -> hashicorp.vagrant.NewTokenResponse - 91, // 287: hashicorp.vagrant.Vagrant.GenerateLoginToken:output_type -> hashicorp.vagrant.NewTokenResponse - 91, // 288: hashicorp.vagrant.Vagrant.ConvertInviteToken:output_type -> hashicorp.vagrant.NewTokenResponse - 37, // 289: hashicorp.vagrant.Vagrant.RunnerConfig:output_type -> hashicorp.vagrant.RunnerConfigResponse - 40, // 290: hashicorp.vagrant.Vagrant.RunnerJobStream:output_type -> hashicorp.vagrant.RunnerJobStreamResponse - 257, // [257:291] is the sub-list for method output_type - 223, // [223:257] is the sub-list for method input_type - 223, // [223:223] is the sub-list for extension type_name - 223, // [223:223] is the sub-list for extension extendee - 0, // [0:223] is the sub-list for field type_name + 119, // 49: hashicorp.vagrant.Job.init_basis:type_name -> hashicorp.vagrant.Job.InitBasisOp + 121, // 50: hashicorp.vagrant.Job.init_project:type_name -> hashicorp.vagrant.Job.InitProjectOp + 5, // 51: hashicorp.vagrant.Job.state:type_name -> hashicorp.vagrant.Job.State + 104, // 52: hashicorp.vagrant.Job.assigned_runner:type_name -> hashicorp.vagrant.Ref.RunnerId + 190, // 53: hashicorp.vagrant.Job.queue_time:type_name -> google.protobuf.Timestamp + 190, // 54: hashicorp.vagrant.Job.assign_time:type_name -> google.protobuf.Timestamp + 190, // 55: hashicorp.vagrant.Job.ack_time:type_name -> google.protobuf.Timestamp + 190, // 56: hashicorp.vagrant.Job.complete_time:type_name -> google.protobuf.Timestamp + 194, // 57: hashicorp.vagrant.Job.error:type_name -> google.rpc.Status + 110, // 58: hashicorp.vagrant.Job.result:type_name -> hashicorp.vagrant.Job.Result + 190, // 59: hashicorp.vagrant.Job.cancel_time:type_name -> google.protobuf.Timestamp + 190, // 60: hashicorp.vagrant.Job.expire_time:type_name -> google.protobuf.Timestamp + 134, // 61: hashicorp.vagrant.Documentation.fields:type_name -> hashicorp.vagrant.Documentation.FieldsEntry + 136, // 62: hashicorp.vagrant.Documentation.mappers:type_name -> hashicorp.vagrant.Documentation.Mapper + 28, // 63: hashicorp.vagrant.ListJobsResponse.jobs:type_name -> hashicorp.vagrant.Job + 137, // 64: hashicorp.vagrant.GetJobStreamResponse.open:type_name -> hashicorp.vagrant.GetJobStreamResponse.Open + 138, // 65: hashicorp.vagrant.GetJobStreamResponse.state:type_name -> hashicorp.vagrant.GetJobStreamResponse.State + 139, // 66: hashicorp.vagrant.GetJobStreamResponse.terminal:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal + 140, // 67: hashicorp.vagrant.GetJobStreamResponse.error:type_name -> hashicorp.vagrant.GetJobStreamResponse.Error + 141, // 68: hashicorp.vagrant.GetJobStreamResponse.complete:type_name -> hashicorp.vagrant.GetJobStreamResponse.Complete + 18, // 69: hashicorp.vagrant.Runner.components:type_name -> hashicorp.vagrant.Component + 153, // 70: hashicorp.vagrant.RunnerConfigRequest.open:type_name -> hashicorp.vagrant.RunnerConfigRequest.Open + 38, // 71: hashicorp.vagrant.RunnerConfigResponse.config:type_name -> hashicorp.vagrant.RunnerConfig + 74, // 72: hashicorp.vagrant.RunnerConfig.config_vars:type_name -> hashicorp.vagrant.ConfigVar + 154, // 73: hashicorp.vagrant.RunnerJobStreamRequest.request:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Request + 155, // 74: hashicorp.vagrant.RunnerJobStreamRequest.ack:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Ack + 156, // 75: hashicorp.vagrant.RunnerJobStreamRequest.complete:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Complete + 157, // 76: hashicorp.vagrant.RunnerJobStreamRequest.error:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Error + 139, // 77: hashicorp.vagrant.RunnerJobStreamRequest.terminal:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal + 158, // 78: hashicorp.vagrant.RunnerJobStreamRequest.heartbeat:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Heartbeat + 159, // 79: hashicorp.vagrant.RunnerJobStreamResponse.assignment:type_name -> hashicorp.vagrant.RunnerJobStreamResponse.JobAssignment + 160, // 80: hashicorp.vagrant.RunnerJobStreamResponse.cancel:type_name -> hashicorp.vagrant.RunnerJobStreamResponse.JobCancel + 13, // 81: hashicorp.vagrant.UpsertBasisRequest.basis:type_name -> hashicorp.vagrant.Basis + 13, // 82: hashicorp.vagrant.UpsertBasisResponse.basis:type_name -> hashicorp.vagrant.Basis + 188, // 83: hashicorp.vagrant.GetBasisRequest.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis + 13, // 84: hashicorp.vagrant.GetBasisResponse.basis:type_name -> hashicorp.vagrant.Basis + 13, // 85: hashicorp.vagrant.FindBasisRequest.basis:type_name -> hashicorp.vagrant.Basis + 13, // 86: hashicorp.vagrant.FindBasisResponse.basis:type_name -> hashicorp.vagrant.Basis + 188, // 87: hashicorp.vagrant.ListBasisResponse.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis + 14, // 88: hashicorp.vagrant.UpsertProjectRequest.project:type_name -> hashicorp.vagrant.Project + 14, // 89: hashicorp.vagrant.UpsertProjectResponse.project:type_name -> hashicorp.vagrant.Project + 185, // 90: hashicorp.vagrant.GetProjectRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project + 14, // 91: hashicorp.vagrant.GetProjectResponse.project:type_name -> hashicorp.vagrant.Project + 14, // 92: hashicorp.vagrant.FindProjectRequest.project:type_name -> hashicorp.vagrant.Project + 14, // 93: hashicorp.vagrant.FindProjectResponse.project:type_name -> hashicorp.vagrant.Project + 185, // 94: hashicorp.vagrant.ListProjectsResponse.projects:type_name -> hashicorp.vagrant.sdk.Ref.Project + 185, // 95: hashicorp.vagrant.UpsertTargetRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project + 16, // 96: hashicorp.vagrant.UpsertTargetRequest.target:type_name -> hashicorp.vagrant.Target + 16, // 97: hashicorp.vagrant.UpsertTargetResponse.target:type_name -> hashicorp.vagrant.Target + 185, // 98: hashicorp.vagrant.DeleteTargetRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project + 187, // 99: hashicorp.vagrant.DeleteTargetRequest.target:type_name -> hashicorp.vagrant.sdk.Ref.Target + 185, // 100: hashicorp.vagrant.GetTargetRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project + 187, // 101: hashicorp.vagrant.GetTargetRequest.target:type_name -> hashicorp.vagrant.sdk.Ref.Target + 16, // 102: hashicorp.vagrant.GetTargetResponse.target:type_name -> hashicorp.vagrant.Target + 16, // 103: hashicorp.vagrant.FindTargetRequest.target:type_name -> hashicorp.vagrant.Target + 16, // 104: hashicorp.vagrant.FindTargetResponse.target:type_name -> hashicorp.vagrant.Target + 187, // 105: hashicorp.vagrant.ListTargetsResponse.targets:type_name -> hashicorp.vagrant.sdk.Ref.Target + 15, // 106: hashicorp.vagrant.UpsertBoxRequest.box:type_name -> hashicorp.vagrant.Box + 15, // 107: hashicorp.vagrant.UpsertBoxResponse.box:type_name -> hashicorp.vagrant.Box + 195, // 108: hashicorp.vagrant.DeleteBoxRequest.box:type_name -> hashicorp.vagrant.sdk.Ref.Box + 195, // 109: hashicorp.vagrant.GetBoxRequest.box:type_name -> hashicorp.vagrant.sdk.Ref.Box + 15, // 110: hashicorp.vagrant.GetBoxResponse.box:type_name -> hashicorp.vagrant.Box + 195, // 111: hashicorp.vagrant.ListBoxesResponse.boxes:type_name -> hashicorp.vagrant.sdk.Ref.Box + 195, // 112: hashicorp.vagrant.FindBoxRequest.box:type_name -> hashicorp.vagrant.sdk.Ref.Box + 15, // 113: hashicorp.vagrant.FindBoxResponse.box:type_name -> hashicorp.vagrant.Box + 188, // 114: hashicorp.vagrant.GetLogStreamRequest.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis + 185, // 115: hashicorp.vagrant.GetLogStreamRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project + 187, // 116: hashicorp.vagrant.GetLogStreamRequest.target:type_name -> hashicorp.vagrant.sdk.Ref.Target + 161, // 117: hashicorp.vagrant.LogBatch.lines:type_name -> hashicorp.vagrant.LogBatch.Entry + 188, // 118: hashicorp.vagrant.ConfigVar.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis + 185, // 119: hashicorp.vagrant.ConfigVar.project:type_name -> hashicorp.vagrant.sdk.Ref.Project + 187, // 120: hashicorp.vagrant.ConfigVar.target:type_name -> hashicorp.vagrant.sdk.Ref.Target + 103, // 121: hashicorp.vagrant.ConfigVar.runner:type_name -> hashicorp.vagrant.Ref.Runner + 74, // 122: hashicorp.vagrant.ConfigSetRequest.variables:type_name -> hashicorp.vagrant.ConfigVar + 187, // 123: hashicorp.vagrant.ConfigGetRequest.target:type_name -> hashicorp.vagrant.sdk.Ref.Target + 185, // 124: hashicorp.vagrant.ConfigGetRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project + 188, // 125: hashicorp.vagrant.ConfigGetRequest.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis + 104, // 126: hashicorp.vagrant.ConfigGetRequest.runner:type_name -> hashicorp.vagrant.Ref.RunnerId + 74, // 127: hashicorp.vagrant.ConfigGetResponse.variables:type_name -> hashicorp.vagrant.ConfigVar + 162, // 128: hashicorp.vagrant.ExecStreamRequest.start:type_name -> hashicorp.vagrant.ExecStreamRequest.Start + 163, // 129: hashicorp.vagrant.ExecStreamRequest.input:type_name -> hashicorp.vagrant.ExecStreamRequest.Input + 165, // 130: hashicorp.vagrant.ExecStreamRequest.winch:type_name -> hashicorp.vagrant.ExecStreamRequest.WindowSize + 166, // 131: hashicorp.vagrant.ExecStreamResponse.open:type_name -> hashicorp.vagrant.ExecStreamResponse.Open + 168, // 132: hashicorp.vagrant.ExecStreamResponse.output:type_name -> hashicorp.vagrant.ExecStreamResponse.Output + 167, // 133: hashicorp.vagrant.ExecStreamResponse.exit:type_name -> hashicorp.vagrant.ExecStreamResponse.Exit + 83, // 134: hashicorp.vagrant.EntrypointConfigResponse.config:type_name -> hashicorp.vagrant.EntrypointConfig + 169, // 135: hashicorp.vagrant.EntrypointConfig.exec:type_name -> hashicorp.vagrant.EntrypointConfig.Exec + 74, // 136: hashicorp.vagrant.EntrypointConfig.env_vars:type_name -> hashicorp.vagrant.ConfigVar + 170, // 137: hashicorp.vagrant.EntrypointConfig.url_service:type_name -> hashicorp.vagrant.EntrypointConfig.URLService + 161, // 138: hashicorp.vagrant.EntrypointLogBatch.lines:type_name -> hashicorp.vagrant.LogBatch.Entry + 171, // 139: hashicorp.vagrant.EntrypointExecRequest.open:type_name -> hashicorp.vagrant.EntrypointExecRequest.Open + 172, // 140: hashicorp.vagrant.EntrypointExecRequest.exit:type_name -> hashicorp.vagrant.EntrypointExecRequest.Exit + 173, // 141: hashicorp.vagrant.EntrypointExecRequest.output:type_name -> hashicorp.vagrant.EntrypointExecRequest.Output + 174, // 142: hashicorp.vagrant.EntrypointExecRequest.error:type_name -> hashicorp.vagrant.EntrypointExecRequest.Error + 165, // 143: hashicorp.vagrant.EntrypointExecResponse.winch:type_name -> hashicorp.vagrant.ExecStreamRequest.WindowSize + 175, // 144: hashicorp.vagrant.TokenTransport.metadata:type_name -> hashicorp.vagrant.TokenTransport.MetadataEntry + 190, // 145: hashicorp.vagrant.Token.valid_until:type_name -> google.protobuf.Timestamp + 176, // 146: hashicorp.vagrant.Token.entrypoint:type_name -> hashicorp.vagrant.Token.Entrypoint + 176, // 147: hashicorp.vagrant.InviteTokenRequest.entrypoint:type_name -> hashicorp.vagrant.Token.Entrypoint + 177, // 148: hashicorp.vagrant.CreateSnapshotResponse.open:type_name -> hashicorp.vagrant.CreateSnapshotResponse.Open + 178, // 149: hashicorp.vagrant.RestoreSnapshotRequest.open:type_name -> hashicorp.vagrant.RestoreSnapshotRequest.Open + 15, // 150: hashicorp.vagrant.Target.Machine.box:type_name -> hashicorp.vagrant.Box + 196, // 151: hashicorp.vagrant.Target.Machine.state:type_name -> hashicorp.vagrant.sdk.Args.Target.Machine.State + 1, // 152: hashicorp.vagrant.Ref.Component.type:type_name -> hashicorp.vagrant.Component.Type + 100, // 153: hashicorp.vagrant.Ref.Operation.target_sequence:type_name -> hashicorp.vagrant.Ref.TargetOperationSeq + 101, // 154: hashicorp.vagrant.Ref.Operation.project_sequence:type_name -> hashicorp.vagrant.Ref.ProjectOperationSeq + 102, // 155: hashicorp.vagrant.Ref.Operation.basis_sequence:type_name -> hashicorp.vagrant.Ref.BasisOperationSeq + 187, // 156: hashicorp.vagrant.Ref.TargetOperationSeq.target:type_name -> hashicorp.vagrant.sdk.Ref.Target + 185, // 157: hashicorp.vagrant.Ref.ProjectOperationSeq.project:type_name -> hashicorp.vagrant.sdk.Ref.Project + 188, // 158: hashicorp.vagrant.Ref.BasisOperationSeq.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis + 105, // 159: hashicorp.vagrant.Ref.Runner.any:type_name -> hashicorp.vagrant.Ref.RunnerAny + 104, // 160: hashicorp.vagrant.Ref.Runner.id:type_name -> hashicorp.vagrant.Ref.RunnerId + 2, // 161: hashicorp.vagrant.StatusFilter.Filter.state:type_name -> hashicorp.vagrant.Status.State + 128, // 162: hashicorp.vagrant.Job.Result.auth:type_name -> hashicorp.vagrant.Job.AuthResult + 130, // 163: hashicorp.vagrant.Job.Result.docs:type_name -> hashicorp.vagrant.Job.DocsResult + 116, // 164: hashicorp.vagrant.Job.Result.validate:type_name -> hashicorp.vagrant.Job.ValidateResult + 118, // 165: hashicorp.vagrant.Job.Result.init:type_name -> hashicorp.vagrant.Job.InitResult + 126, // 166: hashicorp.vagrant.Job.Result.run:type_name -> hashicorp.vagrant.Job.CommandResult + 120, // 167: hashicorp.vagrant.Job.Result.basis:type_name -> hashicorp.vagrant.Job.InitBasisResult + 122, // 168: hashicorp.vagrant.Job.Result.project:type_name -> hashicorp.vagrant.Job.InitProjectResult + 112, // 169: hashicorp.vagrant.Job.DataSource.local:type_name -> hashicorp.vagrant.Job.Local + 113, // 170: hashicorp.vagrant.Job.DataSource.git:type_name -> hashicorp.vagrant.Job.Git + 123, // 171: hashicorp.vagrant.Job.InitResult.actions:type_name -> hashicorp.vagrant.Job.Action + 197, // 172: hashicorp.vagrant.Job.InitResult.commands:type_name -> hashicorp.vagrant.sdk.Command.CommandInfo + 124, // 173: hashicorp.vagrant.Job.InitResult.hooks:type_name -> hashicorp.vagrant.Job.Hook + 188, // 174: hashicorp.vagrant.Job.InitBasisResult.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis + 185, // 175: hashicorp.vagrant.Job.InitProjectResult.project:type_name -> hashicorp.vagrant.sdk.Ref.Project + 6, // 176: hashicorp.vagrant.Job.Hook.location:type_name -> hashicorp.vagrant.Job.Hook.Location + 187, // 177: hashicorp.vagrant.Job.CommandOp.target:type_name -> hashicorp.vagrant.sdk.Ref.Target + 185, // 178: hashicorp.vagrant.Job.CommandOp.project:type_name -> hashicorp.vagrant.sdk.Ref.Project + 188, // 179: hashicorp.vagrant.Job.CommandOp.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis + 19, // 180: hashicorp.vagrant.Job.CommandOp.status:type_name -> hashicorp.vagrant.Status + 3, // 181: hashicorp.vagrant.Job.CommandOp.state:type_name -> hashicorp.vagrant.Operation.PhysicalState + 18, // 182: hashicorp.vagrant.Job.CommandOp.component:type_name -> hashicorp.vagrant.Component + 131, // 183: hashicorp.vagrant.Job.CommandOp.labels:type_name -> hashicorp.vagrant.Job.CommandOp.LabelsEntry + 198, // 184: hashicorp.vagrant.Job.CommandOp.cli_args:type_name -> hashicorp.vagrant.sdk.Command.Arguments + 12, // 185: hashicorp.vagrant.Job.CommandOp.vagrantfile:type_name -> hashicorp.vagrant.Vagrantfile + 21, // 186: hashicorp.vagrant.Job.CommandResult.task:type_name -> hashicorp.vagrant.Operation + 194, // 187: hashicorp.vagrant.Job.CommandResult.run_error:type_name -> google.rpc.Status + 98, // 188: hashicorp.vagrant.Job.AuthOp.component:type_name -> hashicorp.vagrant.Ref.Component + 132, // 189: hashicorp.vagrant.Job.AuthResult.results:type_name -> hashicorp.vagrant.Job.AuthResult.Result + 133, // 190: hashicorp.vagrant.Job.DocsResult.results:type_name -> hashicorp.vagrant.Job.DocsResult.Result + 18, // 191: hashicorp.vagrant.Job.AuthResult.Result.component:type_name -> hashicorp.vagrant.Component + 194, // 192: hashicorp.vagrant.Job.AuthResult.Result.check_error:type_name -> google.rpc.Status + 194, // 193: hashicorp.vagrant.Job.AuthResult.Result.auth_error:type_name -> google.rpc.Status + 18, // 194: hashicorp.vagrant.Job.DocsResult.Result.component:type_name -> hashicorp.vagrant.Component + 29, // 195: hashicorp.vagrant.Job.DocsResult.Result.docs:type_name -> hashicorp.vagrant.Documentation + 135, // 196: hashicorp.vagrant.Documentation.FieldsEntry.value:type_name -> hashicorp.vagrant.Documentation.Field + 5, // 197: hashicorp.vagrant.GetJobStreamResponse.State.previous:type_name -> hashicorp.vagrant.Job.State + 5, // 198: hashicorp.vagrant.GetJobStreamResponse.State.current:type_name -> hashicorp.vagrant.Job.State + 28, // 199: hashicorp.vagrant.GetJobStreamResponse.State.job:type_name -> hashicorp.vagrant.Job + 142, // 200: hashicorp.vagrant.GetJobStreamResponse.Terminal.events:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event + 194, // 201: hashicorp.vagrant.GetJobStreamResponse.Error.error:type_name -> google.rpc.Status + 194, // 202: hashicorp.vagrant.GetJobStreamResponse.Complete.error:type_name -> google.rpc.Status + 110, // 203: hashicorp.vagrant.GetJobStreamResponse.Complete.result:type_name -> hashicorp.vagrant.Job.Result + 190, // 204: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.timestamp:type_name -> google.protobuf.Timestamp + 144, // 205: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.line:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Line + 143, // 206: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.status:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Status + 147, // 207: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.named_values:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValues + 145, // 208: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.raw:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Raw + 150, // 209: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.table:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Table + 151, // 210: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.step_group:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.StepGroup + 152, // 211: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.step:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Step + 146, // 212: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValues.values:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValue + 148, // 213: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableRow.entries:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableEntry + 149, // 214: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Table.rows:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableRow + 35, // 215: hashicorp.vagrant.RunnerConfigRequest.Open.runner:type_name -> hashicorp.vagrant.Runner + 110, // 216: hashicorp.vagrant.RunnerJobStreamRequest.Complete.result:type_name -> hashicorp.vagrant.Job.Result + 194, // 217: hashicorp.vagrant.RunnerJobStreamRequest.Error.error:type_name -> google.rpc.Status + 28, // 218: hashicorp.vagrant.RunnerJobStreamResponse.JobAssignment.job:type_name -> hashicorp.vagrant.Job + 190, // 219: hashicorp.vagrant.LogBatch.Entry.timestamp:type_name -> google.protobuf.Timestamp + 164, // 220: hashicorp.vagrant.ExecStreamRequest.Start.pty:type_name -> hashicorp.vagrant.ExecStreamRequest.PTY + 165, // 221: hashicorp.vagrant.ExecStreamRequest.PTY.window_size:type_name -> hashicorp.vagrant.ExecStreamRequest.WindowSize + 7, // 222: hashicorp.vagrant.ExecStreamResponse.Output.channel:type_name -> hashicorp.vagrant.ExecStreamResponse.Output.Channel + 164, // 223: hashicorp.vagrant.EntrypointConfig.Exec.pty:type_name -> hashicorp.vagrant.ExecStreamRequest.PTY + 8, // 224: hashicorp.vagrant.EntrypointExecRequest.Output.channel:type_name -> hashicorp.vagrant.EntrypointExecRequest.Output.Channel + 194, // 225: hashicorp.vagrant.EntrypointExecRequest.Error.error:type_name -> google.rpc.Status + 11, // 226: hashicorp.vagrant.Snapshot.Header.version:type_name -> hashicorp.vagrant.VersionInfo + 9, // 227: hashicorp.vagrant.Snapshot.Header.format:type_name -> hashicorp.vagrant.Snapshot.Header.Format + 182, // 228: hashicorp.vagrant.Snapshot.BoltChunk.items:type_name -> hashicorp.vagrant.Snapshot.BoltChunk.ItemsEntry + 199, // 229: hashicorp.vagrant.Vagrant.GetVersionInfo:input_type -> google.protobuf.Empty + 42, // 230: hashicorp.vagrant.Vagrant.UpsertBasis:input_type -> hashicorp.vagrant.UpsertBasisRequest + 44, // 231: hashicorp.vagrant.Vagrant.GetBasis:input_type -> hashicorp.vagrant.GetBasisRequest + 46, // 232: hashicorp.vagrant.Vagrant.FindBasis:input_type -> hashicorp.vagrant.FindBasisRequest + 199, // 233: hashicorp.vagrant.Vagrant.ListBasis:input_type -> google.protobuf.Empty + 49, // 234: hashicorp.vagrant.Vagrant.UpsertProject:input_type -> hashicorp.vagrant.UpsertProjectRequest + 51, // 235: hashicorp.vagrant.Vagrant.GetProject:input_type -> hashicorp.vagrant.GetProjectRequest + 53, // 236: hashicorp.vagrant.Vagrant.FindProject:input_type -> hashicorp.vagrant.FindProjectRequest + 199, // 237: hashicorp.vagrant.Vagrant.ListProjects:input_type -> google.protobuf.Empty + 56, // 238: hashicorp.vagrant.Vagrant.UpsertTarget:input_type -> hashicorp.vagrant.UpsertTargetRequest + 58, // 239: hashicorp.vagrant.Vagrant.DeleteTarget:input_type -> hashicorp.vagrant.DeleteTargetRequest + 59, // 240: hashicorp.vagrant.Vagrant.GetTarget:input_type -> hashicorp.vagrant.GetTargetRequest + 61, // 241: hashicorp.vagrant.Vagrant.FindTarget:input_type -> hashicorp.vagrant.FindTargetRequest + 199, // 242: hashicorp.vagrant.Vagrant.ListTargets:input_type -> google.protobuf.Empty + 64, // 243: hashicorp.vagrant.Vagrant.UpsertBox:input_type -> hashicorp.vagrant.UpsertBoxRequest + 66, // 244: hashicorp.vagrant.Vagrant.DeleteBox:input_type -> hashicorp.vagrant.DeleteBoxRequest + 67, // 245: hashicorp.vagrant.Vagrant.GetBox:input_type -> hashicorp.vagrant.GetBoxRequest + 199, // 246: hashicorp.vagrant.Vagrant.ListBoxes:input_type -> google.protobuf.Empty + 70, // 247: hashicorp.vagrant.Vagrant.FindBox:input_type -> hashicorp.vagrant.FindBoxRequest + 72, // 248: hashicorp.vagrant.Vagrant.GetLogStream:input_type -> hashicorp.vagrant.GetLogStreamRequest + 23, // 249: hashicorp.vagrant.Vagrant.QueueJob:input_type -> hashicorp.vagrant.QueueJobRequest + 25, // 250: hashicorp.vagrant.Vagrant.CancelJob:input_type -> hashicorp.vagrant.CancelJobRequest + 30, // 251: hashicorp.vagrant.Vagrant.GetJob:input_type -> hashicorp.vagrant.GetJobRequest + 31, // 252: hashicorp.vagrant.Vagrant._ListJobs:input_type -> hashicorp.vagrant.ListJobsRequest + 26, // 253: hashicorp.vagrant.Vagrant.ValidateJob:input_type -> hashicorp.vagrant.ValidateJobRequest + 33, // 254: hashicorp.vagrant.Vagrant.GetJobStream:input_type -> hashicorp.vagrant.GetJobStreamRequest + 199, // 255: hashicorp.vagrant.Vagrant.PruneOldJobs:input_type -> google.protobuf.Empty + 41, // 256: hashicorp.vagrant.Vagrant.GetRunner:input_type -> hashicorp.vagrant.GetRunnerRequest + 199, // 257: hashicorp.vagrant.Vagrant.BootstrapToken:input_type -> google.protobuf.Empty + 90, // 258: hashicorp.vagrant.Vagrant.GenerateInviteToken:input_type -> hashicorp.vagrant.InviteTokenRequest + 199, // 259: hashicorp.vagrant.Vagrant.GenerateLoginToken:input_type -> google.protobuf.Empty + 92, // 260: hashicorp.vagrant.Vagrant.ConvertInviteToken:input_type -> hashicorp.vagrant.ConvertInviteTokenRequest + 36, // 261: hashicorp.vagrant.Vagrant.RunnerConfig:input_type -> hashicorp.vagrant.RunnerConfigRequest + 39, // 262: hashicorp.vagrant.Vagrant.RunnerJobStream:input_type -> hashicorp.vagrant.RunnerJobStreamRequest + 10, // 263: hashicorp.vagrant.Vagrant.GetVersionInfo:output_type -> hashicorp.vagrant.GetVersionInfoResponse + 43, // 264: hashicorp.vagrant.Vagrant.UpsertBasis:output_type -> hashicorp.vagrant.UpsertBasisResponse + 45, // 265: hashicorp.vagrant.Vagrant.GetBasis:output_type -> hashicorp.vagrant.GetBasisResponse + 47, // 266: hashicorp.vagrant.Vagrant.FindBasis:output_type -> hashicorp.vagrant.FindBasisResponse + 48, // 267: hashicorp.vagrant.Vagrant.ListBasis:output_type -> hashicorp.vagrant.ListBasisResponse + 50, // 268: hashicorp.vagrant.Vagrant.UpsertProject:output_type -> hashicorp.vagrant.UpsertProjectResponse + 52, // 269: hashicorp.vagrant.Vagrant.GetProject:output_type -> hashicorp.vagrant.GetProjectResponse + 54, // 270: hashicorp.vagrant.Vagrant.FindProject:output_type -> hashicorp.vagrant.FindProjectResponse + 55, // 271: hashicorp.vagrant.Vagrant.ListProjects:output_type -> hashicorp.vagrant.ListProjectsResponse + 57, // 272: hashicorp.vagrant.Vagrant.UpsertTarget:output_type -> hashicorp.vagrant.UpsertTargetResponse + 199, // 273: hashicorp.vagrant.Vagrant.DeleteTarget:output_type -> google.protobuf.Empty + 60, // 274: hashicorp.vagrant.Vagrant.GetTarget:output_type -> hashicorp.vagrant.GetTargetResponse + 62, // 275: hashicorp.vagrant.Vagrant.FindTarget:output_type -> hashicorp.vagrant.FindTargetResponse + 63, // 276: hashicorp.vagrant.Vagrant.ListTargets:output_type -> hashicorp.vagrant.ListTargetsResponse + 65, // 277: hashicorp.vagrant.Vagrant.UpsertBox:output_type -> hashicorp.vagrant.UpsertBoxResponse + 199, // 278: hashicorp.vagrant.Vagrant.DeleteBox:output_type -> google.protobuf.Empty + 68, // 279: hashicorp.vagrant.Vagrant.GetBox:output_type -> hashicorp.vagrant.GetBoxResponse + 69, // 280: hashicorp.vagrant.Vagrant.ListBoxes:output_type -> hashicorp.vagrant.ListBoxesResponse + 71, // 281: hashicorp.vagrant.Vagrant.FindBox:output_type -> hashicorp.vagrant.FindBoxResponse + 73, // 282: hashicorp.vagrant.Vagrant.GetLogStream:output_type -> hashicorp.vagrant.LogBatch + 24, // 283: hashicorp.vagrant.Vagrant.QueueJob:output_type -> hashicorp.vagrant.QueueJobResponse + 199, // 284: hashicorp.vagrant.Vagrant.CancelJob:output_type -> google.protobuf.Empty + 28, // 285: hashicorp.vagrant.Vagrant.GetJob:output_type -> hashicorp.vagrant.Job + 32, // 286: hashicorp.vagrant.Vagrant._ListJobs:output_type -> hashicorp.vagrant.ListJobsResponse + 27, // 287: hashicorp.vagrant.Vagrant.ValidateJob:output_type -> hashicorp.vagrant.ValidateJobResponse + 34, // 288: hashicorp.vagrant.Vagrant.GetJobStream:output_type -> hashicorp.vagrant.GetJobStreamResponse + 199, // 289: hashicorp.vagrant.Vagrant.PruneOldJobs:output_type -> google.protobuf.Empty + 35, // 290: hashicorp.vagrant.Vagrant.GetRunner:output_type -> hashicorp.vagrant.Runner + 91, // 291: hashicorp.vagrant.Vagrant.BootstrapToken:output_type -> hashicorp.vagrant.NewTokenResponse + 91, // 292: hashicorp.vagrant.Vagrant.GenerateInviteToken:output_type -> hashicorp.vagrant.NewTokenResponse + 91, // 293: hashicorp.vagrant.Vagrant.GenerateLoginToken:output_type -> hashicorp.vagrant.NewTokenResponse + 91, // 294: hashicorp.vagrant.Vagrant.ConvertInviteToken:output_type -> hashicorp.vagrant.NewTokenResponse + 37, // 295: hashicorp.vagrant.Vagrant.RunnerConfig:output_type -> hashicorp.vagrant.RunnerConfigResponse + 40, // 296: hashicorp.vagrant.Vagrant.RunnerJobStream:output_type -> hashicorp.vagrant.RunnerJobStreamResponse + 263, // [263:297] is the sub-list for method output_type + 229, // [229:263] is the sub-list for method input_type + 229, // [229:229] is the sub-list for extension type_name + 229, // [229:229] is the sub-list for extension extendee + 0, // [0:229] is the sub-list for field type_name } func init() { file_proto_vagrant_server_server_proto_init() } @@ -14429,7 +14704,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Job_Action); i { + switch v := v.(*Job_InitBasisOp); i { case 0: return &v.state case 1: @@ -14441,7 +14716,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Job_Hook); i { + switch v := v.(*Job_InitBasisResult); i { case 0: return &v.state case 1: @@ -14453,7 +14728,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Job_CommandOp); i { + switch v := v.(*Job_InitProjectOp); i { case 0: return &v.state case 1: @@ -14465,7 +14740,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Job_CommandResult); i { + switch v := v.(*Job_InitProjectResult); i { case 0: return &v.state case 1: @@ -14477,7 +14752,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Job_AuthOp); i { + switch v := v.(*Job_Action); i { case 0: return &v.state case 1: @@ -14489,7 +14764,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Job_AuthResult); i { + switch v := v.(*Job_Hook); i { case 0: return &v.state case 1: @@ -14501,7 +14776,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Job_DocsOp); i { + switch v := v.(*Job_CommandOp); i { case 0: return &v.state case 1: @@ -14513,7 +14788,19 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Job_DocsResult); i { + switch v := v.(*Job_CommandResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_vagrant_server_server_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Job_AuthOp); i { case 0: return &v.state case 1: @@ -14525,7 +14812,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Job_AuthResult_Result); i { + switch v := v.(*Job_AuthResult); i { case 0: return &v.state case 1: @@ -14537,7 +14824,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Job_DocsResult_Result); i { + switch v := v.(*Job_DocsOp); i { case 0: return &v.state case 1: @@ -14548,8 +14835,8 @@ func file_proto_vagrant_server_server_proto_init() { return nil } } - file_proto_vagrant_server_server_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Documentation_Field); i { + file_proto_vagrant_server_server_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Job_DocsResult); i { case 0: return &v.state case 1: @@ -14561,7 +14848,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Documentation_Mapper); i { + switch v := v.(*Job_AuthResult_Result); i { case 0: return &v.state case 1: @@ -14573,19 +14860,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJobStreamResponse_Open); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_vagrant_server_server_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJobStreamResponse_State); i { + switch v := v.(*Job_DocsResult_Result); i { case 0: return &v.state case 1: @@ -14597,7 +14872,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJobStreamResponse_Terminal); i { + switch v := v.(*Documentation_Field); i { case 0: return &v.state case 1: @@ -14609,7 +14884,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJobStreamResponse_Error); i { + switch v := v.(*Documentation_Mapper); i { case 0: return &v.state case 1: @@ -14621,7 +14896,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJobStreamResponse_Complete); i { + switch v := v.(*GetJobStreamResponse_Open); i { case 0: return &v.state case 1: @@ -14633,7 +14908,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJobStreamResponse_Terminal_Event); i { + switch v := v.(*GetJobStreamResponse_State); i { case 0: return &v.state case 1: @@ -14645,7 +14920,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJobStreamResponse_Terminal_Event_Status); i { + switch v := v.(*GetJobStreamResponse_Terminal); i { case 0: return &v.state case 1: @@ -14657,7 +14932,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJobStreamResponse_Terminal_Event_Line); i { + switch v := v.(*GetJobStreamResponse_Error); i { case 0: return &v.state case 1: @@ -14669,7 +14944,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJobStreamResponse_Terminal_Event_Raw); i { + switch v := v.(*GetJobStreamResponse_Complete); i { case 0: return &v.state case 1: @@ -14681,7 +14956,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJobStreamResponse_Terminal_Event_NamedValue); i { + switch v := v.(*GetJobStreamResponse_Terminal_Event); i { case 0: return &v.state case 1: @@ -14693,7 +14968,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJobStreamResponse_Terminal_Event_NamedValues); i { + switch v := v.(*GetJobStreamResponse_Terminal_Event_Status); i { case 0: return &v.state case 1: @@ -14705,7 +14980,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJobStreamResponse_Terminal_Event_TableEntry); i { + switch v := v.(*GetJobStreamResponse_Terminal_Event_Line); i { case 0: return &v.state case 1: @@ -14717,7 +14992,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJobStreamResponse_Terminal_Event_TableRow); i { + switch v := v.(*GetJobStreamResponse_Terminal_Event_Raw); i { case 0: return &v.state case 1: @@ -14729,7 +15004,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJobStreamResponse_Terminal_Event_Table); i { + switch v := v.(*GetJobStreamResponse_Terminal_Event_NamedValue); i { case 0: return &v.state case 1: @@ -14741,7 +15016,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJobStreamResponse_Terminal_Event_StepGroup); i { + switch v := v.(*GetJobStreamResponse_Terminal_Event_NamedValues); i { case 0: return &v.state case 1: @@ -14753,7 +15028,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJobStreamResponse_Terminal_Event_Step); i { + switch v := v.(*GetJobStreamResponse_Terminal_Event_TableEntry); i { case 0: return &v.state case 1: @@ -14765,7 +15040,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunnerConfigRequest_Open); i { + switch v := v.(*GetJobStreamResponse_Terminal_Event_TableRow); i { case 0: return &v.state case 1: @@ -14777,7 +15052,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunnerJobStreamRequest_Request); i { + switch v := v.(*GetJobStreamResponse_Terminal_Event_Table); i { case 0: return &v.state case 1: @@ -14789,7 +15064,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunnerJobStreamRequest_Ack); i { + switch v := v.(*GetJobStreamResponse_Terminal_Event_StepGroup); i { case 0: return &v.state case 1: @@ -14801,7 +15076,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunnerJobStreamRequest_Complete); i { + switch v := v.(*GetJobStreamResponse_Terminal_Event_Step); i { case 0: return &v.state case 1: @@ -14813,7 +15088,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunnerJobStreamRequest_Error); i { + switch v := v.(*RunnerConfigRequest_Open); i { case 0: return &v.state case 1: @@ -14825,7 +15100,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunnerJobStreamRequest_Heartbeat); i { + switch v := v.(*RunnerJobStreamRequest_Request); i { case 0: return &v.state case 1: @@ -14837,7 +15112,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunnerJobStreamResponse_JobAssignment); i { + switch v := v.(*RunnerJobStreamRequest_Ack); i { case 0: return &v.state case 1: @@ -14849,7 +15124,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunnerJobStreamResponse_JobCancel); i { + switch v := v.(*RunnerJobStreamRequest_Complete); i { case 0: return &v.state case 1: @@ -14861,7 +15136,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LogBatch_Entry); i { + switch v := v.(*RunnerJobStreamRequest_Error); i { case 0: return &v.state case 1: @@ -14873,7 +15148,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecStreamRequest_Start); i { + switch v := v.(*RunnerJobStreamRequest_Heartbeat); i { case 0: return &v.state case 1: @@ -14885,7 +15160,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecStreamRequest_Input); i { + switch v := v.(*RunnerJobStreamResponse_JobAssignment); i { case 0: return &v.state case 1: @@ -14897,7 +15172,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecStreamRequest_PTY); i { + switch v := v.(*RunnerJobStreamResponse_JobCancel); i { case 0: return &v.state case 1: @@ -14909,7 +15184,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecStreamRequest_WindowSize); i { + switch v := v.(*LogBatch_Entry); i { case 0: return &v.state case 1: @@ -14921,7 +15196,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecStreamResponse_Open); i { + switch v := v.(*ExecStreamRequest_Start); i { case 0: return &v.state case 1: @@ -14933,7 +15208,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecStreamResponse_Exit); i { + switch v := v.(*ExecStreamRequest_Input); i { case 0: return &v.state case 1: @@ -14945,7 +15220,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecStreamResponse_Output); i { + switch v := v.(*ExecStreamRequest_PTY); i { case 0: return &v.state case 1: @@ -14957,7 +15232,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EntrypointConfig_Exec); i { + switch v := v.(*ExecStreamRequest_WindowSize); i { case 0: return &v.state case 1: @@ -14969,7 +15244,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EntrypointConfig_URLService); i { + switch v := v.(*ExecStreamResponse_Open); i { case 0: return &v.state case 1: @@ -14981,7 +15256,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EntrypointExecRequest_Open); i { + switch v := v.(*ExecStreamResponse_Exit); i { case 0: return &v.state case 1: @@ -14993,7 +15268,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EntrypointExecRequest_Exit); i { + switch v := v.(*ExecStreamResponse_Output); i { case 0: return &v.state case 1: @@ -15005,7 +15280,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EntrypointExecRequest_Output); i { + switch v := v.(*EntrypointConfig_Exec); i { case 0: return &v.state case 1: @@ -15017,7 +15292,19 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EntrypointExecRequest_Error); i { + switch v := v.(*EntrypointConfig_URLService); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_vagrant_server_server_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EntrypointExecRequest_Open); i { case 0: return &v.state case 1: @@ -15029,7 +15316,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Token_Entrypoint); i { + switch v := v.(*EntrypointExecRequest_Exit); i { case 0: return &v.state case 1: @@ -15041,7 +15328,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateSnapshotResponse_Open); i { + switch v := v.(*EntrypointExecRequest_Output); i { case 0: return &v.state case 1: @@ -15053,19 +15340,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RestoreSnapshotRequest_Open); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_vagrant_server_server_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Snapshot_Header); i { + switch v := v.(*EntrypointExecRequest_Error); i { case 0: return &v.state case 1: @@ -15077,7 +15352,7 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Snapshot_Trailer); i { + switch v := v.(*Token_Entrypoint); i { case 0: return &v.state case 1: @@ -15089,6 +15364,54 @@ func file_proto_vagrant_server_server_proto_init() { } } file_proto_vagrant_server_server_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateSnapshotResponse_Open); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_vagrant_server_server_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RestoreSnapshotRequest_Open); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_vagrant_server_server_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Snapshot_Header); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_vagrant_server_server_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Snapshot_Trailer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_vagrant_server_server_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Snapshot_BoltChunk); i { case 0: return &v.state @@ -15111,6 +15434,8 @@ func file_proto_vagrant_server_server_proto_init() { (*Job_Validate)(nil), (*Job_Command)(nil), (*Job_Init)(nil), + (*Job_InitBasis)(nil), + (*Job_InitProject)(nil), } file_proto_vagrant_server_server_proto_msgTypes[24].OneofWrappers = []interface{}{ (*GetJobStreamResponse_Open_)(nil), @@ -15197,12 +15522,12 @@ func file_proto_vagrant_server_server_proto_init() { (*Job_DataSource_Local)(nil), (*Job_DataSource_Git)(nil), } - file_proto_vagrant_server_server_proto_msgTypes[111].OneofWrappers = []interface{}{ + file_proto_vagrant_server_server_proto_msgTypes[115].OneofWrappers = []interface{}{ (*Job_CommandOp_Target)(nil), (*Job_CommandOp_Project)(nil), (*Job_CommandOp_Basis)(nil), } - file_proto_vagrant_server_server_proto_msgTypes[128].OneofWrappers = []interface{}{ + file_proto_vagrant_server_server_proto_msgTypes[132].OneofWrappers = []interface{}{ (*GetJobStreamResponse_Terminal_Event_Line_)(nil), (*GetJobStreamResponse_Terminal_Event_Status_)(nil), (*GetJobStreamResponse_Terminal_Event_NamedValues_)(nil), @@ -15211,7 +15536,7 @@ func file_proto_vagrant_server_server_proto_init() { (*GetJobStreamResponse_Terminal_Event_StepGroup_)(nil), (*GetJobStreamResponse_Terminal_Event_Step_)(nil), } - file_proto_vagrant_server_server_proto_msgTypes[166].OneofWrappers = []interface{}{ + file_proto_vagrant_server_server_proto_msgTypes[170].OneofWrappers = []interface{}{ (*Snapshot_Trailer_Sha256)(nil), } type x struct{} @@ -15220,7 +15545,7 @@ func file_proto_vagrant_server_server_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_proto_vagrant_server_server_proto_rawDesc, NumEnums: 10, - NumMessages: 169, + NumMessages: 173, NumExtensions: 0, NumServices: 1, }, diff --git a/internal/server/proto/vagrant_server/server.proto b/internal/server/proto/vagrant_server/server.proto index 87d759f6c..353ac6352 100644 --- a/internal/server/proto/vagrant_server/server.proto +++ b/internal/server/proto/vagrant_server/server.proto @@ -186,7 +186,7 @@ message Vagrantfile { // Format of this Vagrantfile Format format = 4; - // Original path of the Vagrantfileo + // Original path of the Vagrantfile sdk.Args.Path path = 5; } @@ -325,7 +325,7 @@ message Target { // Custom metadata sdk.Args.MetadataSet metadata = 9; - // Serialized configuration of the target + // Serialized configuration of the target (Vagrantfile) sdk.Args.ConfigData configuration = 10; // Specialized target information (from provider) @@ -583,7 +583,7 @@ message ValidateJobResponse { // A Job is a job that executes on a runner and is queued by QueueOperation. message Job { - reserved 56 to 79; // future operation range + reserved 58 to 79; // future operation range // id of the job. This is generated on the server side when queued. If // you are queueing a job, this must be empty or unset. @@ -625,6 +625,8 @@ message Job { ValidateOp validate = 53; CommandOp command = 54; InitOp init = 55; + InitBasisOp init_basis = 56; + InitProjectOp init_project = 57; } //----------------------------------------------------------------- @@ -679,6 +681,8 @@ message Job { ValidateResult validate = 3; InitResult init = 4; CommandResult run = 5; + InitBasisResult basis = 6; + InitProjectResult project = 7; } message DataSource { @@ -731,6 +735,18 @@ message Job { repeated Hook hooks = 3; } + message InitBasisOp { } + + message InitBasisResult { + sdk.Ref.Basis basis = 1; + } + + message InitProjectOp { } + + message InitProjectResult { + sdk.Ref.Project project = 1; + } + message Action { string name = 1; string source = 2; diff --git a/internal/server/proto/vagrant_server/server_grpc.pb.go b/internal/server/proto/vagrant_server/server_grpc.pb.go index 0af9b5ea5..76bdb587f 100644 --- a/internal/server/proto/vagrant_server/server_grpc.pb.go +++ b/internal/server/proto/vagrant_server/server_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.19.4 +// - protoc-gen-go-grpc v1.3.0 +// - protoc v3.21.12 // source: proto/vagrant_server/server.proto package vagrant_server @@ -19,6 +19,43 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 +const ( + Vagrant_GetVersionInfo_FullMethodName = "/hashicorp.vagrant.Vagrant/GetVersionInfo" + Vagrant_UpsertBasis_FullMethodName = "/hashicorp.vagrant.Vagrant/UpsertBasis" + Vagrant_GetBasis_FullMethodName = "/hashicorp.vagrant.Vagrant/GetBasis" + Vagrant_FindBasis_FullMethodName = "/hashicorp.vagrant.Vagrant/FindBasis" + Vagrant_ListBasis_FullMethodName = "/hashicorp.vagrant.Vagrant/ListBasis" + Vagrant_UpsertProject_FullMethodName = "/hashicorp.vagrant.Vagrant/UpsertProject" + Vagrant_GetProject_FullMethodName = "/hashicorp.vagrant.Vagrant/GetProject" + Vagrant_FindProject_FullMethodName = "/hashicorp.vagrant.Vagrant/FindProject" + Vagrant_ListProjects_FullMethodName = "/hashicorp.vagrant.Vagrant/ListProjects" + Vagrant_UpsertTarget_FullMethodName = "/hashicorp.vagrant.Vagrant/UpsertTarget" + Vagrant_DeleteTarget_FullMethodName = "/hashicorp.vagrant.Vagrant/DeleteTarget" + Vagrant_GetTarget_FullMethodName = "/hashicorp.vagrant.Vagrant/GetTarget" + Vagrant_FindTarget_FullMethodName = "/hashicorp.vagrant.Vagrant/FindTarget" + Vagrant_ListTargets_FullMethodName = "/hashicorp.vagrant.Vagrant/ListTargets" + Vagrant_UpsertBox_FullMethodName = "/hashicorp.vagrant.Vagrant/UpsertBox" + Vagrant_DeleteBox_FullMethodName = "/hashicorp.vagrant.Vagrant/DeleteBox" + Vagrant_GetBox_FullMethodName = "/hashicorp.vagrant.Vagrant/GetBox" + Vagrant_ListBoxes_FullMethodName = "/hashicorp.vagrant.Vagrant/ListBoxes" + Vagrant_FindBox_FullMethodName = "/hashicorp.vagrant.Vagrant/FindBox" + Vagrant_GetLogStream_FullMethodName = "/hashicorp.vagrant.Vagrant/GetLogStream" + Vagrant_QueueJob_FullMethodName = "/hashicorp.vagrant.Vagrant/QueueJob" + Vagrant_CancelJob_FullMethodName = "/hashicorp.vagrant.Vagrant/CancelJob" + Vagrant_GetJob_FullMethodName = "/hashicorp.vagrant.Vagrant/GetJob" + Vagrant_XListJobs_FullMethodName = "/hashicorp.vagrant.Vagrant/_ListJobs" + Vagrant_ValidateJob_FullMethodName = "/hashicorp.vagrant.Vagrant/ValidateJob" + Vagrant_GetJobStream_FullMethodName = "/hashicorp.vagrant.Vagrant/GetJobStream" + Vagrant_PruneOldJobs_FullMethodName = "/hashicorp.vagrant.Vagrant/PruneOldJobs" + Vagrant_GetRunner_FullMethodName = "/hashicorp.vagrant.Vagrant/GetRunner" + Vagrant_BootstrapToken_FullMethodName = "/hashicorp.vagrant.Vagrant/BootstrapToken" + Vagrant_GenerateInviteToken_FullMethodName = "/hashicorp.vagrant.Vagrant/GenerateInviteToken" + Vagrant_GenerateLoginToken_FullMethodName = "/hashicorp.vagrant.Vagrant/GenerateLoginToken" + Vagrant_ConvertInviteToken_FullMethodName = "/hashicorp.vagrant.Vagrant/ConvertInviteToken" + Vagrant_RunnerConfig_FullMethodName = "/hashicorp.vagrant.Vagrant/RunnerConfig" + Vagrant_RunnerJobStream_FullMethodName = "/hashicorp.vagrant.Vagrant/RunnerJobStream" +) + // VagrantClient is the client API for Vagrant service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -115,7 +152,7 @@ func NewVagrantClient(cc grpc.ClientConnInterface) VagrantClient { func (c *vagrantClient) GetVersionInfo(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetVersionInfoResponse, error) { out := new(GetVersionInfoResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/GetVersionInfo", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_GetVersionInfo_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -124,7 +161,7 @@ func (c *vagrantClient) GetVersionInfo(ctx context.Context, in *emptypb.Empty, o func (c *vagrantClient) UpsertBasis(ctx context.Context, in *UpsertBasisRequest, opts ...grpc.CallOption) (*UpsertBasisResponse, error) { out := new(UpsertBasisResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/UpsertBasis", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_UpsertBasis_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -133,7 +170,7 @@ func (c *vagrantClient) UpsertBasis(ctx context.Context, in *UpsertBasisRequest, func (c *vagrantClient) GetBasis(ctx context.Context, in *GetBasisRequest, opts ...grpc.CallOption) (*GetBasisResponse, error) { out := new(GetBasisResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/GetBasis", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_GetBasis_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -142,7 +179,7 @@ func (c *vagrantClient) GetBasis(ctx context.Context, in *GetBasisRequest, opts func (c *vagrantClient) FindBasis(ctx context.Context, in *FindBasisRequest, opts ...grpc.CallOption) (*FindBasisResponse, error) { out := new(FindBasisResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/FindBasis", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_FindBasis_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -151,7 +188,7 @@ func (c *vagrantClient) FindBasis(ctx context.Context, in *FindBasisRequest, opt func (c *vagrantClient) ListBasis(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ListBasisResponse, error) { out := new(ListBasisResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/ListBasis", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_ListBasis_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -160,7 +197,7 @@ func (c *vagrantClient) ListBasis(ctx context.Context, in *emptypb.Empty, opts . func (c *vagrantClient) UpsertProject(ctx context.Context, in *UpsertProjectRequest, opts ...grpc.CallOption) (*UpsertProjectResponse, error) { out := new(UpsertProjectResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/UpsertProject", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_UpsertProject_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -169,7 +206,7 @@ func (c *vagrantClient) UpsertProject(ctx context.Context, in *UpsertProjectRequ func (c *vagrantClient) GetProject(ctx context.Context, in *GetProjectRequest, opts ...grpc.CallOption) (*GetProjectResponse, error) { out := new(GetProjectResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/GetProject", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_GetProject_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -178,7 +215,7 @@ func (c *vagrantClient) GetProject(ctx context.Context, in *GetProjectRequest, o func (c *vagrantClient) FindProject(ctx context.Context, in *FindProjectRequest, opts ...grpc.CallOption) (*FindProjectResponse, error) { out := new(FindProjectResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/FindProject", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_FindProject_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -187,7 +224,7 @@ func (c *vagrantClient) FindProject(ctx context.Context, in *FindProjectRequest, func (c *vagrantClient) ListProjects(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ListProjectsResponse, error) { out := new(ListProjectsResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/ListProjects", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_ListProjects_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -196,7 +233,7 @@ func (c *vagrantClient) ListProjects(ctx context.Context, in *emptypb.Empty, opt func (c *vagrantClient) UpsertTarget(ctx context.Context, in *UpsertTargetRequest, opts ...grpc.CallOption) (*UpsertTargetResponse, error) { out := new(UpsertTargetResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/UpsertTarget", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_UpsertTarget_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -205,7 +242,7 @@ func (c *vagrantClient) UpsertTarget(ctx context.Context, in *UpsertTargetReques func (c *vagrantClient) DeleteTarget(ctx context.Context, in *DeleteTargetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/DeleteTarget", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_DeleteTarget_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -214,7 +251,7 @@ func (c *vagrantClient) DeleteTarget(ctx context.Context, in *DeleteTargetReques func (c *vagrantClient) GetTarget(ctx context.Context, in *GetTargetRequest, opts ...grpc.CallOption) (*GetTargetResponse, error) { out := new(GetTargetResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/GetTarget", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_GetTarget_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -223,7 +260,7 @@ func (c *vagrantClient) GetTarget(ctx context.Context, in *GetTargetRequest, opt func (c *vagrantClient) FindTarget(ctx context.Context, in *FindTargetRequest, opts ...grpc.CallOption) (*FindTargetResponse, error) { out := new(FindTargetResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/FindTarget", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_FindTarget_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -232,7 +269,7 @@ func (c *vagrantClient) FindTarget(ctx context.Context, in *FindTargetRequest, o func (c *vagrantClient) ListTargets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ListTargetsResponse, error) { out := new(ListTargetsResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/ListTargets", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_ListTargets_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -241,7 +278,7 @@ func (c *vagrantClient) ListTargets(ctx context.Context, in *emptypb.Empty, opts func (c *vagrantClient) UpsertBox(ctx context.Context, in *UpsertBoxRequest, opts ...grpc.CallOption) (*UpsertBoxResponse, error) { out := new(UpsertBoxResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/UpsertBox", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_UpsertBox_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -250,7 +287,7 @@ func (c *vagrantClient) UpsertBox(ctx context.Context, in *UpsertBoxRequest, opt func (c *vagrantClient) DeleteBox(ctx context.Context, in *DeleteBoxRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/DeleteBox", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_DeleteBox_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -259,7 +296,7 @@ func (c *vagrantClient) DeleteBox(ctx context.Context, in *DeleteBoxRequest, opt func (c *vagrantClient) GetBox(ctx context.Context, in *GetBoxRequest, opts ...grpc.CallOption) (*GetBoxResponse, error) { out := new(GetBoxResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/GetBox", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_GetBox_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -268,7 +305,7 @@ func (c *vagrantClient) GetBox(ctx context.Context, in *GetBoxRequest, opts ...g func (c *vagrantClient) ListBoxes(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ListBoxesResponse, error) { out := new(ListBoxesResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/ListBoxes", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_ListBoxes_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -277,7 +314,7 @@ func (c *vagrantClient) ListBoxes(ctx context.Context, in *emptypb.Empty, opts . func (c *vagrantClient) FindBox(ctx context.Context, in *FindBoxRequest, opts ...grpc.CallOption) (*FindBoxResponse, error) { out := new(FindBoxResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/FindBox", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_FindBox_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -285,7 +322,7 @@ func (c *vagrantClient) FindBox(ctx context.Context, in *FindBoxRequest, opts .. } func (c *vagrantClient) GetLogStream(ctx context.Context, in *GetLogStreamRequest, opts ...grpc.CallOption) (Vagrant_GetLogStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &Vagrant_ServiceDesc.Streams[0], "/hashicorp.vagrant.Vagrant/GetLogStream", opts...) + stream, err := c.cc.NewStream(ctx, &Vagrant_ServiceDesc.Streams[0], Vagrant_GetLogStream_FullMethodName, opts...) if err != nil { return nil, err } @@ -318,7 +355,7 @@ func (x *vagrantGetLogStreamClient) Recv() (*LogBatch, error) { func (c *vagrantClient) QueueJob(ctx context.Context, in *QueueJobRequest, opts ...grpc.CallOption) (*QueueJobResponse, error) { out := new(QueueJobResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/QueueJob", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_QueueJob_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -327,7 +364,7 @@ func (c *vagrantClient) QueueJob(ctx context.Context, in *QueueJobRequest, opts func (c *vagrantClient) CancelJob(ctx context.Context, in *CancelJobRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/CancelJob", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_CancelJob_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -336,7 +373,7 @@ func (c *vagrantClient) CancelJob(ctx context.Context, in *CancelJobRequest, opt func (c *vagrantClient) GetJob(ctx context.Context, in *GetJobRequest, opts ...grpc.CallOption) (*Job, error) { out := new(Job) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/GetJob", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_GetJob_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -345,7 +382,7 @@ func (c *vagrantClient) GetJob(ctx context.Context, in *GetJobRequest, opts ...g func (c *vagrantClient) XListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*ListJobsResponse, error) { out := new(ListJobsResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/_ListJobs", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_XListJobs_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -354,7 +391,7 @@ func (c *vagrantClient) XListJobs(ctx context.Context, in *ListJobsRequest, opts func (c *vagrantClient) ValidateJob(ctx context.Context, in *ValidateJobRequest, opts ...grpc.CallOption) (*ValidateJobResponse, error) { out := new(ValidateJobResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/ValidateJob", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_ValidateJob_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -362,7 +399,7 @@ func (c *vagrantClient) ValidateJob(ctx context.Context, in *ValidateJobRequest, } func (c *vagrantClient) GetJobStream(ctx context.Context, in *GetJobStreamRequest, opts ...grpc.CallOption) (Vagrant_GetJobStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &Vagrant_ServiceDesc.Streams[1], "/hashicorp.vagrant.Vagrant/GetJobStream", opts...) + stream, err := c.cc.NewStream(ctx, &Vagrant_ServiceDesc.Streams[1], Vagrant_GetJobStream_FullMethodName, opts...) if err != nil { return nil, err } @@ -395,7 +432,7 @@ func (x *vagrantGetJobStreamClient) Recv() (*GetJobStreamResponse, error) { func (c *vagrantClient) PruneOldJobs(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/PruneOldJobs", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_PruneOldJobs_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -404,7 +441,7 @@ func (c *vagrantClient) PruneOldJobs(ctx context.Context, in *emptypb.Empty, opt func (c *vagrantClient) GetRunner(ctx context.Context, in *GetRunnerRequest, opts ...grpc.CallOption) (*Runner, error) { out := new(Runner) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/GetRunner", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_GetRunner_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -413,7 +450,7 @@ func (c *vagrantClient) GetRunner(ctx context.Context, in *GetRunnerRequest, opt func (c *vagrantClient) BootstrapToken(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*NewTokenResponse, error) { out := new(NewTokenResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/BootstrapToken", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_BootstrapToken_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -422,7 +459,7 @@ func (c *vagrantClient) BootstrapToken(ctx context.Context, in *emptypb.Empty, o func (c *vagrantClient) GenerateInviteToken(ctx context.Context, in *InviteTokenRequest, opts ...grpc.CallOption) (*NewTokenResponse, error) { out := new(NewTokenResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/GenerateInviteToken", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_GenerateInviteToken_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -431,7 +468,7 @@ func (c *vagrantClient) GenerateInviteToken(ctx context.Context, in *InviteToken func (c *vagrantClient) GenerateLoginToken(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*NewTokenResponse, error) { out := new(NewTokenResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/GenerateLoginToken", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_GenerateLoginToken_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -440,7 +477,7 @@ func (c *vagrantClient) GenerateLoginToken(ctx context.Context, in *emptypb.Empt func (c *vagrantClient) ConvertInviteToken(ctx context.Context, in *ConvertInviteTokenRequest, opts ...grpc.CallOption) (*NewTokenResponse, error) { out := new(NewTokenResponse) - err := c.cc.Invoke(ctx, "/hashicorp.vagrant.Vagrant/ConvertInviteToken", in, out, opts...) + err := c.cc.Invoke(ctx, Vagrant_ConvertInviteToken_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -448,7 +485,7 @@ func (c *vagrantClient) ConvertInviteToken(ctx context.Context, in *ConvertInvit } func (c *vagrantClient) RunnerConfig(ctx context.Context, opts ...grpc.CallOption) (Vagrant_RunnerConfigClient, error) { - stream, err := c.cc.NewStream(ctx, &Vagrant_ServiceDesc.Streams[2], "/hashicorp.vagrant.Vagrant/RunnerConfig", opts...) + stream, err := c.cc.NewStream(ctx, &Vagrant_ServiceDesc.Streams[2], Vagrant_RunnerConfig_FullMethodName, opts...) if err != nil { return nil, err } @@ -479,7 +516,7 @@ func (x *vagrantRunnerConfigClient) Recv() (*RunnerConfigResponse, error) { } func (c *vagrantClient) RunnerJobStream(ctx context.Context, opts ...grpc.CallOption) (Vagrant_RunnerJobStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &Vagrant_ServiceDesc.Streams[3], "/hashicorp.vagrant.Vagrant/RunnerJobStream", opts...) + stream, err := c.cc.NewStream(ctx, &Vagrant_ServiceDesc.Streams[3], Vagrant_RunnerJobStream_FullMethodName, opts...) if err != nil { return nil, err } @@ -723,7 +760,7 @@ func _Vagrant_GetVersionInfo_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/GetVersionInfo", + FullMethod: Vagrant_GetVersionInfo_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).GetVersionInfo(ctx, req.(*emptypb.Empty)) @@ -741,7 +778,7 @@ func _Vagrant_UpsertBasis_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/UpsertBasis", + FullMethod: Vagrant_UpsertBasis_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).UpsertBasis(ctx, req.(*UpsertBasisRequest)) @@ -759,7 +796,7 @@ func _Vagrant_GetBasis_Handler(srv interface{}, ctx context.Context, dec func(in } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/GetBasis", + FullMethod: Vagrant_GetBasis_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).GetBasis(ctx, req.(*GetBasisRequest)) @@ -777,7 +814,7 @@ func _Vagrant_FindBasis_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/FindBasis", + FullMethod: Vagrant_FindBasis_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).FindBasis(ctx, req.(*FindBasisRequest)) @@ -795,7 +832,7 @@ func _Vagrant_ListBasis_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/ListBasis", + FullMethod: Vagrant_ListBasis_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).ListBasis(ctx, req.(*emptypb.Empty)) @@ -813,7 +850,7 @@ func _Vagrant_UpsertProject_Handler(srv interface{}, ctx context.Context, dec fu } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/UpsertProject", + FullMethod: Vagrant_UpsertProject_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).UpsertProject(ctx, req.(*UpsertProjectRequest)) @@ -831,7 +868,7 @@ func _Vagrant_GetProject_Handler(srv interface{}, ctx context.Context, dec func( } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/GetProject", + FullMethod: Vagrant_GetProject_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).GetProject(ctx, req.(*GetProjectRequest)) @@ -849,7 +886,7 @@ func _Vagrant_FindProject_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/FindProject", + FullMethod: Vagrant_FindProject_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).FindProject(ctx, req.(*FindProjectRequest)) @@ -867,7 +904,7 @@ func _Vagrant_ListProjects_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/ListProjects", + FullMethod: Vagrant_ListProjects_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).ListProjects(ctx, req.(*emptypb.Empty)) @@ -885,7 +922,7 @@ func _Vagrant_UpsertTarget_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/UpsertTarget", + FullMethod: Vagrant_UpsertTarget_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).UpsertTarget(ctx, req.(*UpsertTargetRequest)) @@ -903,7 +940,7 @@ func _Vagrant_DeleteTarget_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/DeleteTarget", + FullMethod: Vagrant_DeleteTarget_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).DeleteTarget(ctx, req.(*DeleteTargetRequest)) @@ -921,7 +958,7 @@ func _Vagrant_GetTarget_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/GetTarget", + FullMethod: Vagrant_GetTarget_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).GetTarget(ctx, req.(*GetTargetRequest)) @@ -939,7 +976,7 @@ func _Vagrant_FindTarget_Handler(srv interface{}, ctx context.Context, dec func( } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/FindTarget", + FullMethod: Vagrant_FindTarget_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).FindTarget(ctx, req.(*FindTargetRequest)) @@ -957,7 +994,7 @@ func _Vagrant_ListTargets_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/ListTargets", + FullMethod: Vagrant_ListTargets_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).ListTargets(ctx, req.(*emptypb.Empty)) @@ -975,7 +1012,7 @@ func _Vagrant_UpsertBox_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/UpsertBox", + FullMethod: Vagrant_UpsertBox_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).UpsertBox(ctx, req.(*UpsertBoxRequest)) @@ -993,7 +1030,7 @@ func _Vagrant_DeleteBox_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/DeleteBox", + FullMethod: Vagrant_DeleteBox_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).DeleteBox(ctx, req.(*DeleteBoxRequest)) @@ -1011,7 +1048,7 @@ func _Vagrant_GetBox_Handler(srv interface{}, ctx context.Context, dec func(inte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/GetBox", + FullMethod: Vagrant_GetBox_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).GetBox(ctx, req.(*GetBoxRequest)) @@ -1029,7 +1066,7 @@ func _Vagrant_ListBoxes_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/ListBoxes", + FullMethod: Vagrant_ListBoxes_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).ListBoxes(ctx, req.(*emptypb.Empty)) @@ -1047,7 +1084,7 @@ func _Vagrant_FindBox_Handler(srv interface{}, ctx context.Context, dec func(int } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/FindBox", + FullMethod: Vagrant_FindBox_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).FindBox(ctx, req.(*FindBoxRequest)) @@ -1086,7 +1123,7 @@ func _Vagrant_QueueJob_Handler(srv interface{}, ctx context.Context, dec func(in } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/QueueJob", + FullMethod: Vagrant_QueueJob_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).QueueJob(ctx, req.(*QueueJobRequest)) @@ -1104,7 +1141,7 @@ func _Vagrant_CancelJob_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/CancelJob", + FullMethod: Vagrant_CancelJob_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).CancelJob(ctx, req.(*CancelJobRequest)) @@ -1122,7 +1159,7 @@ func _Vagrant_GetJob_Handler(srv interface{}, ctx context.Context, dec func(inte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/GetJob", + FullMethod: Vagrant_GetJob_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).GetJob(ctx, req.(*GetJobRequest)) @@ -1140,7 +1177,7 @@ func _Vagrant_XListJobs_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/_ListJobs", + FullMethod: Vagrant_XListJobs_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).XListJobs(ctx, req.(*ListJobsRequest)) @@ -1158,7 +1195,7 @@ func _Vagrant_ValidateJob_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/ValidateJob", + FullMethod: Vagrant_ValidateJob_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).ValidateJob(ctx, req.(*ValidateJobRequest)) @@ -1197,7 +1234,7 @@ func _Vagrant_PruneOldJobs_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/PruneOldJobs", + FullMethod: Vagrant_PruneOldJobs_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).PruneOldJobs(ctx, req.(*emptypb.Empty)) @@ -1215,7 +1252,7 @@ func _Vagrant_GetRunner_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/GetRunner", + FullMethod: Vagrant_GetRunner_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).GetRunner(ctx, req.(*GetRunnerRequest)) @@ -1233,7 +1270,7 @@ func _Vagrant_BootstrapToken_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/BootstrapToken", + FullMethod: Vagrant_BootstrapToken_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).BootstrapToken(ctx, req.(*emptypb.Empty)) @@ -1251,7 +1288,7 @@ func _Vagrant_GenerateInviteToken_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/GenerateInviteToken", + FullMethod: Vagrant_GenerateInviteToken_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).GenerateInviteToken(ctx, req.(*InviteTokenRequest)) @@ -1269,7 +1306,7 @@ func _Vagrant_GenerateLoginToken_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/GenerateLoginToken", + FullMethod: Vagrant_GenerateLoginToken_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).GenerateLoginToken(ctx, req.(*emptypb.Empty)) @@ -1287,7 +1324,7 @@ func _Vagrant_ConvertInviteToken_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/hashicorp.vagrant.Vagrant/ConvertInviteToken", + FullMethod: Vagrant_ConvertInviteToken_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(VagrantServer).ConvertInviteToken(ctx, req.(*ConvertInviteTokenRequest)) diff --git a/internal/server/singleprocess/state/basis.go b/internal/server/singleprocess/state/basis.go index 143cd1801..348591e28 100644 --- a/internal/server/singleprocess/state/basis.go +++ b/internal/server/singleprocess/state/basis.go @@ -7,6 +7,7 @@ import ( "errors" "github.com/go-ozzo/ozzo-validation/v4" + // "github.com/hashicorp/go-hclog" "github.com/hashicorp/vagrant-plugin-sdk/proto/vagrant_plugin_sdk" "github.com/hashicorp/vagrant/internal/server" "github.com/hashicorp/vagrant/internal/server/proto/vagrant_server" @@ -32,11 +33,11 @@ type Basis struct { DataSource *ProtoValue Jobs []*InternalJob `gorm:"polymorphic:Scope" mapstructure:"-"` Metadata MetadataSet - Name string `gorm:"uniqueIndex,not null"` - Path string `gorm:"uniqueIndex,not null"` + Name string `gorm:"uniqueIndex;not null"` + Path string `gorm:"uniqueIndex;not null"` Projects []*Project `gorm:"constraint:OnDelete:SET NULL"` RemoteEnabled bool - ResourceId string `gorm:"uniqueIndex,not null"` // TODO(spox): readonly permission not working as expected + ResourceId string `gorm:"<-:create;uniqueIndex;not null"` } // Returns a fully populated instance of the current basis @@ -134,64 +135,67 @@ func (b *Basis) BeforeUpdate(tx *gorm.DB) error { } func (b *Basis) Validate(tx *gorm.DB) error { - // NOTE: We should be able to use `tx.Statement.Changed("ResourceId")` - // for change detection but it doesn't appear to be set correctly - // so we don't get any notice of change (maybe because it's a pointer?) - existing, err := b.find(tx) - if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) { - return err - } - - if existing == nil { - existing = &Basis{} - } - - err = validation.ValidateStruct(b, + return validation.ValidateStruct(b, validation.Field(&b.Name, validation.Required, - validation.By( - checkUnique( - tx.Model(&Basis{}). - Where(&Basis{Name: b.Name}). - Not(&Basis{Model: Model{ID: b.ID}}), + validation.When( + b.ID == 0, + validation.By( + checkUnique( + tx.Model(&Basis{}).Where(&Basis{Name: b.Name}), + ), + ), + ), + validation.When( + b.ID != 0, + validation.By( + checkUnique( + tx.Model(&Basis{}).Where(&Basis{Name: b.Name}). + Not(&Basis{Model: Model{ID: b.ID}}), + ), ), ), ), validation.Field(&b.Path, validation.Required, - validation.By( - checkUnique( - tx.Model(&Basis{}). - Where(&Basis{Path: b.Path}). - Not(&Basis{Model: Model{ID: b.ID}}), + validation.When( + b.ID == 0, + validation.By( + checkUnique( + tx.Model(&Basis{}).Where(&Basis{Path: b.Path}), + ), + ), + ), + validation.When( + b.ID != 0, + validation.By( + checkUnique( + tx.Model(&Basis{}).Where(&Basis{Path: b.Path}). + Not(&Basis{Model: Model{ID: b.ID}}), + ), ), ), ), validation.Field(&b.ResourceId, validation.Required, - validation.By( - checkUnique( - tx.Model(&Basis{}). - Where(&Basis{ResourceId: b.ResourceId}). - Not(&Basis{Model: Model{ID: b.ID}}), + validation.When( + b.ID == 0, + validation.By( + checkUnique( + tx.Model(&Basis{}).Where(&Basis{ResourceId: b.ResourceId}), + ), ), ), validation.When( b.ID != 0, validation.By( checkNotModified( - existing.ResourceId, + tx.Statement.Changed("ResourceId"), ), ), ), ), ) - - if err != nil { - return err - } - - return nil } func (b *Basis) setId() error { diff --git a/internal/server/singleprocess/state/basis_test.go b/internal/server/singleprocess/state/basis_test.go index 6645f7a78..3436644a0 100644 --- a/internal/server/singleprocess/state/basis_test.go +++ b/internal/server/singleprocess/state/basis_test.go @@ -156,10 +156,14 @@ func TestBasis_Update(t *testing.T) { result = db.First(&reloadBasis, &Basis{Model: Model{ID: basis.ID}}) require.NoError(result.Error) + originalResourceId := reloadBasis.ResourceId reloadBasis.ResourceId = "NEW VALUE" result = db.Save(&reloadBasis) - require.Error(result.Error) - require.ErrorContains(result.Error, "ResourceId:") + require.NoError(result.Error) + result = db.First(&reloadBasis, &Basis{Model: Model{ID: basis.ID}}) + require.NoError(result.Error) + + require.Equal(reloadBasis.ResourceId, originalResourceId) }) t.Run("Adds Vagrantfile", func(t *testing.T) { diff --git a/internal/server/singleprocess/state/box.go b/internal/server/singleprocess/state/box.go index f2214e8bd..e4c967fe6 100644 --- a/internal/server/singleprocess/state/box.go +++ b/internal/server/singleprocess/state/box.go @@ -82,16 +82,7 @@ func (b *Box) setId() error { } func (b *Box) Validate(tx *gorm.DB) error { - existing, err := b.find(tx) - if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) { - return err - } - - if existing == nil { - existing = &Box{} - } - - err = validation.ValidateStruct(b, + err := validation.ValidateStruct(b, validation.Field(&b.Directory, validation.Required, validation.By( @@ -117,7 +108,7 @@ func (b *Box) Validate(tx *gorm.DB) error { b.ID != 0, validation.By( checkNotModified( - existing.ResourceId, + tx.Statement.Changed("ResourceId"), ), ), ), diff --git a/internal/server/singleprocess/state/config.go b/internal/server/singleprocess/state/config.go index 22fb2cfe5..971d6a7ba 100644 --- a/internal/server/singleprocess/state/config.go +++ b/internal/server/singleprocess/state/config.go @@ -10,12 +10,10 @@ package state import ( "errors" "fmt" - "sort" "github.com/hashicorp/go-memdb" "github.com/hashicorp/vagrant-plugin-sdk/proto/vagrant_plugin_sdk" "github.com/hashicorp/vagrant/internal/server/proto/vagrant_server" - serversort "github.com/hashicorp/vagrant/internal/server/sort" "gorm.io/gorm" ) @@ -188,8 +186,6 @@ func (s *State) configGetMerged( result = append(result, v) } - sort.Sort(serversort.ConfigName(result)) - return result, nil } diff --git a/internal/server/singleprocess/state/decoding.go b/internal/server/singleprocess/state/decoding.go index f28dc3853..659d262f2 100644 --- a/internal/server/singleprocess/state/decoding.go +++ b/internal/server/singleprocess/state/decoding.go @@ -501,6 +501,10 @@ func protobufToProtoValueHookFunc( } switch v := data.(type) { + case *vagrant_server.Job_InitProject: + return &ProtoValue{Message: v.InitProject}, nil + case *vagrant_server.Job_InitBasis: + return &ProtoValue{Message: v.InitBasis}, nil case *vagrant_server.Job_Init: return &ProtoValue{Message: v.Init}, nil case *vagrant_server.Job_Command: @@ -653,7 +657,7 @@ func protoValueToProtoHookFunc( } if p.Message == nil { - return nil, fmt.Errorf("proto value contents is nil (destination: %s)", to) + return nil, fmt.Errorf("proto value contents is nil (destination: %s -> %s) V: %#v", from, to, data) } if reflect.ValueOf(p.Message).Type().AssignableTo(to) { @@ -674,6 +678,14 @@ func protoValueToProtoHookFunc( if reflect.TypeOf((*vagrant_server.Job_Noop_)(nil)).AssignableTo(to) { return &vagrant_server.Job_Noop_{Noop: v}, nil } + case *vagrant_server.Job_InitBasisOp: + if reflect.TypeOf((*vagrant_server.Job_InitBasis)(nil)).AssignableTo(to) { + return &vagrant_server.Job_InitBasis{InitBasis: v}, nil + } + case *vagrant_server.Job_InitProjectOp: + if reflect.TypeOf((*vagrant_server.Job_InitProject)(nil)).AssignableTo(to) { + return &vagrant_server.Job_InitProject{InitProject: v}, nil + } } return data, nil diff --git a/internal/server/singleprocess/state/project.go b/internal/server/singleprocess/state/project.go index d786d36a0..36eb969b2 100644 --- a/internal/server/singleprocess/state/project.go +++ b/internal/server/singleprocess/state/project.go @@ -29,10 +29,10 @@ type Project struct { DataSource *ProtoValue Jobs []*InternalJob `gorm:"polymorphic:Scope"` Metadata MetadataSet - Name string `gorm:"uniqueIndex:idx_bname,not null"` - Path string `gorm:"uniqueIndex,not null"` + Name string `gorm:"uniqueIndex:idx_bname;not null"` + Path string `gorm:"uniqueIndex:idx_bname;not null"` RemoteEnabled bool - ResourceId string `gorm:"<-:create,uniqueIndex,not null"` + ResourceId string `gorm:"<-:create;uniqueIndex;not null"` Targets []*Target } @@ -125,21 +125,12 @@ func (p *Project) BeforeUpdate(tx *gorm.DB) error { } func (p *Project) Validate(tx *gorm.DB) error { - existing, err := p.find(tx) - if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) { - return err - } - - if existing == nil { - existing = &Project{} - } - basisID := p.BasisID if p.Basis != nil { basisID = p.Basis.ID } - err = validation.ValidateStruct(p, + err := validation.ValidateStruct(p, validation.Field(&p.BasisID, validation.Required.When(p.Basis == nil), ), @@ -148,38 +139,64 @@ func (p *Project) Validate(tx *gorm.DB) error { ), validation.Field(&p.Name, validation.Required, - validation.By( - checkUnique( - tx.Model(&Project{}). - Where(&Project{Name: p.Name, BasisID: basisID}). - Not(&Project{Model: Model{ID: p.ID}}), + validation.When( + p.ID != 0, + validation.By( + checkUnique( + tx.Model(&Project{}). + Where(&Project{Name: p.Name, BasisID: basisID}). + Not(&Project{Model: Model{ID: p.ID}}), + ), + ), + ), + validation.When( + p.ID == 0, + validation.By( + checkUnique( + tx.Model(&Project{}). + Where(&Project{Name: p.Name, BasisID: basisID}), + ), ), ), ), validation.Field(&p.Path, validation.Required, - validation.By( - checkUnique( - tx.Model(&Project{}). - Where(&Project{Path: p.Path, BasisID: basisID}). - Not(&Project{Model: Model{ID: p.ID}}), + validation.When( + p.ID != 0, + validation.By( + checkUnique( + tx.Model(&Project{}). + Where(&Project{Path: p.Path, BasisID: basisID}). + Not(&Project{Model: Model{ID: p.ID}}), + ), + ), + ), + validation.When( + p.ID == 0, + validation.By( + checkUnique( + tx.Model(&Project{}). + Where(&Project{Path: p.Path, BasisID: basisID}), + ), ), ), ), validation.Field(&p.ResourceId, validation.Required, - validation.By( - checkUnique( - tx.Model(&Project{}). - Where(&Project{ResourceId: p.ResourceId}). - Not(&Project{Model: Model{ID: p.ID}}), + validation.When( + p.ID == 0, + validation.By( + checkUnique( + tx.Model(&Project{}). + Where(&Project{ResourceId: p.ResourceId}), + ), ), ), validation.When( p.ID != 0, validation.By( checkNotModified( - existing.ResourceId, + tx.Statement.Changed("ResourceId"), ), ), ), @@ -375,6 +392,10 @@ func (s *State) ProjectPut( return nil, saveErrorToStatus("project", err) } + if p.Configuration != nil && p.Configuration.Finalized == nil { + project.Vagrantfile.Finalized = nil + } + if err := s.upsertFull(project); err != nil { return nil, saveErrorToStatus("project", err) } diff --git a/internal/server/singleprocess/state/project_test.go b/internal/server/singleprocess/state/project_test.go index c1cc03992..0960df5d7 100644 --- a/internal/server/singleprocess/state/project_test.go +++ b/internal/server/singleprocess/state/project_test.go @@ -307,10 +307,14 @@ func TestProject_Update(t *testing.T) { result = db.First(&reloadProject, &Project{Model: Model{ID: project.ID}}) require.NoError(result.Error) + originalResourceId := reloadProject.ResourceId reloadProject.ResourceId = "NEW VALUE" result = db.Save(&reloadProject) - require.Error(result.Error) - require.ErrorContains(result.Error, "ResourceId:") + require.NoError(result.Error) + result = db.First(&reloadProject, &Project{Model: Model{ID: project.ID}}) + require.NoError(result.Error) + + require.Equal(originalResourceId, reloadProject.ResourceId) }) t.Run("Adds Vagrantfile", func(t *testing.T) { diff --git a/internal/server/singleprocess/state/target.go b/internal/server/singleprocess/state/target.go index 05ebb7a41..0864dc4ef 100644 --- a/internal/server/singleprocess/state/target.go +++ b/internal/server/singleprocess/state/target.go @@ -32,7 +32,7 @@ type Target struct { ProjectID uint `gorm:"uniqueIndex:idx_pname" mapstructure:"-"` Provider *string Record *ProtoValue - ResourceId string `gorm:"uniqueIndex"` + ResourceId string `gorm:"<-:create;uniqueIndex;not null"` State vagrant_server.Operation_PhysicalState Subtargets []*Target `gorm:"foreignkey:ParentID;constraint:OnDelete:SET NULL"` Uuid *string `gorm:"uniqueIndex"` @@ -92,15 +92,6 @@ func (t *Target) BeforeSave(tx *gorm.DB) error { // project matching. It currently does basic check but // will miss edge cases easily. func (t *Target) validate(tx *gorm.DB) error { - existing, err := t.find(tx) - if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) { - return err - } - - if existing == nil { - existing = &Target{} - } - projectID := t.ProjectID if t.Project != nil { projectID = t.Project.ID @@ -123,29 +114,51 @@ func (t *Target) validate(tx *gorm.DB) error { } } - err = validation.ValidateStruct(t, + err := validation.ValidateStruct(t, validation.Field(&t.Name, validation.Required, - validation.By( - checkUnique( - tx.Model(&Target{}). - Where(&Target{Name: t.Name, ProjectID: projectID}). - Not(&Target{Model: Model{ID: t.ID}}), + validation.When( + t.ID != 0, + validation.By( + checkUnique( + tx.Model(&Target{}). + Where(&Target{Name: t.Name, ProjectID: projectID}). + Not(&Target{Model: Model{ID: t.ID}}), + ), + ), + ), + validation.When( + t.ID == 0, + validation.By( + checkUnique( + tx.Model(&Target{}). + Where(&Target{Name: t.Name, ProjectID: projectID}), + ), ), ), ), validation.Field(&t.ResourceId, validation.Required, - validation.By( - checkUnique( - tx.Model(&Target{}). - Where(&Target{ResourceId: t.ResourceId}). - Not(&Target{Model: Model{ID: t.ID}}), + validation.When( + t.ID == 0, + validation.By( + checkUnique( + tx.Model(&Target{}). + Where(&Target{ResourceId: t.ResourceId}), + ), + ), + ), + validation.When( + t.ID != 0, + validation.By( + checkNotModified( + tx.Statement.Changed("ResourceId"), + ), ), ), ), validation.Field(&t.Uuid, - validation.When(t.Uuid != nil, + validation.When(t.Uuid != nil && t.ID != 0, validation.By( checkUnique( tx.Model(&Target{}). @@ -154,6 +167,14 @@ func (t *Target) validate(tx *gorm.DB) error { ), ), ), + validation.When(t.Uuid != nil && t.ID == 0, + validation.By( + checkUnique( + tx.Model(&Target{}). + Where(&Target{Uuid: t.Uuid}), + ), + ), + ), ), validation.Field(&t.ProjectID, validation.Required.When(t.Project == nil), @@ -406,6 +427,12 @@ func (s *State) TargetPut( target = &Target{} } + // TODO(spox): forcing the record to be updated here + // but the soft decoding should be handling it properly + if t.Record != nil { + target.Record = nil + } + err = s.softDecode(t, target) if err != nil { return nil, saveErrorToStatus("target", err) @@ -424,6 +451,8 @@ func (s *State) TargetPut( return nil, saveErrorToStatus("target", err) } + s.log.Info("target has been upserted", "record", target.Record, "original-record", t.Record) + return target.ToProto(), nil } diff --git a/internal/server/singleprocess/state/target_test.go b/internal/server/singleprocess/state/target_test.go index 1aa36c462..94c8583ec 100644 --- a/internal/server/singleprocess/state/target_test.go +++ b/internal/server/singleprocess/state/target_test.go @@ -240,14 +240,18 @@ func TestTarget_Update(t *testing.T) { require.NoError(result.Error) require.NotEmpty(target.ResourceId) - var reloadTarget Basis + var reloadTarget Target result = db.First(&reloadTarget, &Target{Model: Model{ID: target.ID}}) require.NoError(result.Error) + originalResourceId := reloadTarget.ResourceId reloadTarget.ResourceId = "NEW VALUE" result = db.Save(&reloadTarget) - require.Error(result.Error) - require.ErrorContains(result.Error, "ResourceId:") + require.NoError(result.Error) + result = db.First(&reloadTarget, &Target{Model: Model{ID: target.ID}}) + require.NoError(result.Error) + + require.Equal(originalResourceId, reloadTarget.ResourceId) }) t.Run("Updates the state", func(t *testing.T) { diff --git a/internal/server/singleprocess/state/validations.go b/internal/server/singleprocess/state/validations.go index e2e0e9c84..a8ff178e1 100644 --- a/internal/server/singleprocess/state/validations.go +++ b/internal/server/singleprocess/state/validations.go @@ -41,7 +41,19 @@ func checkUnique(tx *gorm.DB) validation.RuleFunc { } } -func checkNotModified(original interface{}) validation.RuleFunc { +func checkNotModified(changed bool) validation.RuleFunc { + return func(_ any) error { + if changed { + return validation.NewError( + string(VALIDATION_MODIFIED), + "cannot be modified", + ) + } + return nil + } +} + +func checkNotModified2(original interface{}) validation.RuleFunc { return func(value interface{}) error { if !reflect.DeepEqual(original, value) { return validation.NewError( diff --git a/internal/server/sort/artifact.go b/internal/server/sort/artifact.go deleted file mode 100644 index 51e37dd8a..000000000 --- a/internal/server/sort/artifact.go +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package sort - -// import ( -// "sort" - -// "google.golang.org/protobuf/ptypes" - -// pb "github.com/hashicorp/vagrant/internal/server/gen" -// ) - -// // ArtifactStartDesc sorts builds by start time descending (most recent first). -// // For the opposite, use sort.Reverse. -// type ArtifactStartDesc []*pb.PushedArtifact - -// func (s ArtifactStartDesc) Len() int { return len(s) } -// func (s ArtifactStartDesc) Swap(i, j int) { s[i], s[j] = s[j], s[i] } -// func (s ArtifactStartDesc) Less(i, j int) bool { -// t1, err := ptypes.Timestamp(s[i].Status.StartTime) -// if err != nil { -// return false -// } - -// t2, err := ptypes.Timestamp(s[j].Status.StartTime) -// if err != nil { -// return false -// } - -// return t2.Before(t1) -// } - -// var ( -// _ sort.Interface = (ArtifactStartDesc)(nil) -// ) diff --git a/internal/server/sort/build.go b/internal/server/sort/build.go deleted file mode 100644 index 2bdf7d903..000000000 --- a/internal/server/sort/build.go +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package sort - -// import ( -// "sort" - -// "google.golang.org/protobuf/ptypes" - -// pb "github.com/hashicorp/vagrant/internal/server/gen" -// ) - -// // BuildStartDesc sorts builds by start time descending (most recent first). -// // For the opposite, use sort.Reverse. -// type BuildStartDesc []*pb.Build - -// func (s BuildStartDesc) Len() int { return len(s) } -// func (s BuildStartDesc) Swap(i, j int) { s[i], s[j] = s[j], s[i] } -// func (s BuildStartDesc) Less(i, j int) bool { -// t1, err := ptypes.Timestamp(s[i].Status.StartTime) -// if err != nil { -// return false -// } - -// t2, err := ptypes.Timestamp(s[j].Status.StartTime) -// if err != nil { -// return false -// } - -// return t2.Before(t1) -// } - -// var ( -// _ sort.Interface = (BuildStartDesc)(nil) -// ) diff --git a/internal/server/sort/config.go b/internal/server/sort/config.go deleted file mode 100644 index 1be789397..000000000 --- a/internal/server/sort/config.go +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package sort - -import ( - "sort" - - "github.com/hashicorp/vagrant/internal/server/proto/vagrant_server" -) - -// ConfigName sorts config variables by name. -type ConfigName []*vagrant_server.ConfigVar - -func (s ConfigName) Len() int { return len(s) } -func (s ConfigName) Swap(i, j int) { s[i], s[j] = s[j], s[i] } -func (s ConfigName) Less(i, j int) bool { - return s[i].Name < s[j].Name -} - -var ( - _ sort.Interface = (ConfigName)(nil) -) diff --git a/internal/server/sort/deploy.go b/internal/server/sort/deploy.go deleted file mode 100644 index 8ea509a07..000000000 --- a/internal/server/sort/deploy.go +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: BUSL-1.1 - -package sort - -// import ( -// "sort" - -// "google.golang.org/protobuf/ptypes" - -// pb "github.com/hashicorp/vagrant/internal/server/gen" -// ) - -// // DeploymentStartDesc sorts deployments by start time descending. -// type DeploymentStartDesc []*pb.Deployment - -// func (s DeploymentStartDesc) Len() int { return len(s) } -// func (s DeploymentStartDesc) Swap(i, j int) { s[i], s[j] = s[j], s[i] } -// func (s DeploymentStartDesc) Less(i, j int) bool { -// t1, err := ptypes.Timestamp(s[i].Status.StartTime) -// if err != nil { -// return false -// } - -// t2, err := ptypes.Timestamp(s[j].Status.StartTime) -// if err != nil { -// return false -// } - -// return t2.Before(t1) -// } - -// // DeploymentCompleteDesc sorts deployments by completion time descending. -// type DeploymentCompleteDesc []*pb.Deployment - -// func (s DeploymentCompleteDesc) Len() int { return len(s) } -// func (s DeploymentCompleteDesc) Swap(i, j int) { s[i], s[j] = s[j], s[i] } -// func (s DeploymentCompleteDesc) Less(i, j int) bool { -// t1, err := ptypes.Timestamp(s[i].Status.CompleteTime) -// if err != nil { -// return false -// } - -// t2, err := ptypes.Timestamp(s[j].Status.CompleteTime) -// if err != nil { -// return false -// } - -// return t2.Before(t1) -// } - -// var ( -// _ sort.Interface = (DeploymentStartDesc)(nil) -// _ sort.Interface = (DeploymentCompleteDesc)(nil) -// ) diff --git a/lib/vagrant.rb b/lib/vagrant.rb index eae0f29bf..4fb6c5669 100644 --- a/lib/vagrant.rb +++ b/lib/vagrant.rb @@ -51,6 +51,17 @@ require "vagrant/plugin/manager" # Enable logging if it is requested. We do this before # anything else so that we can setup the output before # any logging occurs. + +# NOTE: We must do this little hack to allow +# rest-client to write using the `<<` operator. +# See https://github.com/rest-client/rest-client/issues/34#issuecomment-290858 +# for more information +class VagrantLogger < Log4r::Logger + def << msg + debug(msg.strip) + end +end + if ENV["VAGRANT_LOG"] && ENV["VAGRANT_LOG"] != "" level = Log4r::LNAMES.index(ENV["VAGRANT_LOG"].upcase) if level.nil? @@ -69,16 +80,6 @@ if ENV["VAGRANT_LOG"] && ENV["VAGRANT_LOG"] != "" # Set the logging level on all "vagrant" namespaced # logs as long as we have a valid level. if level - # NOTE: We must do this little hack to allow - # rest-client to write using the `<<` operator. - # See https://github.com/rest-client/rest-client/issues/34#issuecomment-290858 - # for more information - class VagrantLogger < Log4r::Logger - def << msg - debug(msg.strip) - end - end - ["vagrant", "vagrantplugins"].each do |lname| logger = VagrantLogger.new(lname) if ENV["VAGRANT_LOG_FILE"] && ENV["VAGRANT_LOG_FILE"] != "" @@ -88,6 +89,7 @@ if ENV["VAGRANT_LOG"] && ENV["VAGRANT_LOG"] != "" end logger.level = level end + Log4r::RootLogger.instance.level = level base_formatter = Log4r::BasicFormatter.new if ENV["VAGRANT_LOG_TIMESTAMP"] diff --git a/lib/vagrant/environment.rb b/lib/vagrant/environment.rb index 46d24f2d3..24f6e191a 100644 --- a/lib/vagrant/environment.rb +++ b/lib/vagrant/environment.rb @@ -1014,11 +1014,12 @@ module Vagrant def process_configured_plugins return if !Vagrant.plugins_enabled? errors = vagrantfile.config.vagrant.validate(nil) - if !errors["vagrant"].empty? + if !Array(errors["vagrant"]).empty? raise Errors::ConfigInvalid, errors: Util::TemplateRenderer.render( "config/validation_failed", - errors: errors) + errors: {vagrant: errors["vagrant"]} + ) end # Check if defined plugins are installed installed = Plugin::Manager.instance.installed_plugins diff --git a/lib/vagrant/environment/remote.rb b/lib/vagrant/environment/remote.rb index a095e7e4b..aeaafc7a3 100644 --- a/lib/vagrant/environment/remote.rb +++ b/lib/vagrant/environment/remote.rb @@ -50,7 +50,13 @@ module Vagrant @aliases_path ||= @home_path && @home_path.join("aliases") @default_private_key_path = Pathname.new(@client.default_private_key) - copy_insecure_private_key + @default_private_keys_directory = @home_path.join("insecure_private_keys") + if !@default_private_keys_directory.directory? + @default_private_keys_directory.mkdir + end + @default_private_key_paths = [] + + copy_insecure_private_keys # Initialize localized plugins plugins = Vagrant::Plugin::Manager.instance.localize!(self) diff --git a/lib/vagrant/patches/log4r.rb b/lib/vagrant/patches/log4r.rb index f357b5a92..99bde895d 100644 --- a/lib/vagrant/patches/log4r.rb +++ b/lib/vagrant/patches/log4r.rb @@ -39,4 +39,16 @@ if !Log4r::Logger::LoggerFactory.respond_to?(:fake_define_methods) alias_method :set_log, :fake_set_log end end + + class Log4r::Logger + # The factory allows using a previously created logger + # instance if it exists. Doing this prevents knocking + # out configuration that may have already been applied + # to the logger instance (like log level) + def self.factory(name, *args) + l = Log4r::Logger::Repository[name] + return l unless l.nil? + Log4r::Logger.new(name, *args) + end + end end diff --git a/lib/vagrant/plugin/v2/command.rb b/lib/vagrant/plugin/v2/command.rb index 1ed94d95a..ffb61f7a5 100644 --- a/lib/vagrant/plugin/v2/command.rb +++ b/lib/vagrant/plugin/v2/command.rb @@ -110,6 +110,7 @@ module Vagrant } raise Errors::NoEnvironmentError if requires_local_env && !@env.root_path + @logger.info("getting active machines") # Cache the active machines outside the loop active_machines = @env.active_machines @@ -217,6 +218,8 @@ module Vagrant end end + @logger.debug("have machine list to process") + # Make sure we're only working with one VM if single target if options[:single_target] && machines.length != 1 @logger.debug("Using primary machine since single target") diff --git a/lib/vagrant/protobufs/proto/plugin/grpc_broker_pb.rb b/lib/vagrant/protobufs/proto/plugin/grpc_broker_pb.rb index 0e6eca8ac..df62a4f9d 100644 --- a/lib/vagrant/protobufs/proto/plugin/grpc_broker_pb.rb +++ b/lib/vagrant/protobufs/proto/plugin/grpc_broker_pb.rb @@ -1,16 +1,34 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: plugin/grpc_broker.proto require 'google/protobuf' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("plugin/grpc_broker.proto", :syntax => :proto3) do - add_message "plugin.ConnInfo" do - optional :service_id, :uint32, 1 - optional :network, :string, 2 - optional :address, :string, 3 + +descriptor_data = "\n\x18plugin/grpc_broker.proto\x12\x06plugin\"@\n\x08\x43onnInfo\x12\x12\n\nservice_id\x18\x01 \x01(\r\x12\x0f\n\x07network\x18\x02 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x03 \x01(\t2C\n\nGRPCBroker\x12\x35\n\x0bStartStream\x12\x10.plugin.ConnInfo\x1a\x10.plugin.ConnInfo(\x01\x30\x01\x42\x08Z\x06pluginb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError => e + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" end end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." end module Plugin diff --git a/lib/vagrant/protobufs/proto/plugin/grpc_broker_services_pb.rb b/lib/vagrant/protobufs/proto/plugin/grpc_broker_services_pb.rb index 0eccb7c41..948d1cfbe 100644 --- a/lib/vagrant/protobufs/proto/plugin/grpc_broker_services_pb.rb +++ b/lib/vagrant/protobufs/proto/plugin/grpc_broker_services_pb.rb @@ -1,5 +1,9 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # Source: plugin/grpc_broker.proto for package 'plugin' +# Original file comments: +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 +# require 'grpc' require 'plugin/grpc_broker_pb' diff --git a/lib/vagrant/protobufs/proto/protostructure_pb.rb b/lib/vagrant/protobufs/proto/protostructure_pb.rb index 9b2a9c0c1..1099cfe9f 100644 --- a/lib/vagrant/protobufs/proto/protostructure_pb.rb +++ b/lib/vagrant/protobufs/proto/protostructure_pb.rb @@ -1,36 +1,34 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: protostructure.proto require 'google/protobuf' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("protostructure.proto", :syntax => :proto3) do - add_message "protostructure.Struct" do - repeated :fields, :message, 1, "protostructure.Struct.Field" - end - add_message "protostructure.Struct.Field" do - optional :Name, :string, 1 - optional :PkgPath, :string, 2 - optional :Tag, :string, 3 - optional :type, :message, 4, "protostructure.Type" - end - add_message "protostructure.Type" do - oneof :type do - optional :primitive, :message, 1, "protostructure.Primitive" - optional :container, :message, 2, "protostructure.Container" - optional :struct, :message, 3, "protostructure.Struct" - end - end - add_message "protostructure.Primitive" do - optional :kind, :uint32, 1 - end - add_message "protostructure.Container" do - optional :kind, :uint32, 1 - optional :elem, :message, 2, "protostructure.Type" - optional :key, :message, 3, "protostructure.Type" - optional :count, :int32, 4 + +descriptor_data = "\n\x14protostructure.proto\x12\x0eprotostructure\"\x8f\x01\n\x06Struct\x12,\n\x06\x66ields\x18\x01 \x03(\x0b\x32\x1c.protostructure.Struct.Field\x1aW\n\x05\x46ield\x12\x0c\n\x04Name\x18\x01 \x01(\t\x12\x0f\n\x07PkgPath\x18\x02 \x01(\t\x12\x0b\n\x03Tag\x18\x03 \x01(\t\x12\"\n\x04type\x18\x04 \x01(\x0b\x32\x14.protostructure.Type\"\x98\x01\n\x04Type\x12.\n\tprimitive\x18\x01 \x01(\x0b\x32\x19.protostructure.PrimitiveH\x00\x12.\n\tcontainer\x18\x02 \x01(\x0b\x32\x19.protostructure.ContainerH\x00\x12(\n\x06struct\x18\x03 \x01(\x0b\x32\x16.protostructure.StructH\x00\x42\x06\n\x04type\"\x19\n\tPrimitive\x12\x0c\n\x04kind\x18\x01 \x01(\r\"o\n\tContainer\x12\x0c\n\x04kind\x18\x01 \x01(\r\x12\"\n\x04\x65lem\x18\x02 \x01(\x0b\x32\x14.protostructure.Type\x12!\n\x03key\x18\x03 \x01(\x0b\x32\x14.protostructure.Type\x12\r\n\x05\x63ount\x18\x04 \x01(\x05\x42%Z#github.com/mitchellh/protostructureb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError => e + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" end end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." end module Protostructure 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 c271c7502..3b95e66cb 100644 --- a/lib/vagrant/protobufs/proto/ruby_vagrant/ruby-server_pb.rb +++ b/lib/vagrant/protobufs/proto/ruby_vagrant/ruby-server_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: proto/ruby_vagrant/ruby-server.proto @@ -7,53 +8,34 @@ require 'google/protobuf/empty_pb' require 'google/protobuf/any_pb' require 'google/rpc/error_details_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.GetPluginsRequest" do - optional :project_path, :string, 1 - end - add_message "hashicorp.vagrant.GetPluginsResponse" do - repeated :plugins, :message, 1, "hashicorp.vagrant.Plugin" - end - add_message "hashicorp.vagrant.Plugin" do - optional :name, :string, 1 - optional :type, :enum, 2, "hashicorp.vagrant.Plugin.Type" - optional :options, :message, 3, "google.protobuf.Any" - end - add_enum "hashicorp.vagrant.Plugin.Type" do - value :UNKNOWN, 0 - value :COMMAND, 1 - value :COMMUNICATOR, 2 - value :GUEST, 3 - value :HOST, 4 - value :PROVIDER, 5 - value :PROVISIONER, 6 - value :SYNCEDFOLDER, 7 - value :AUTHENTICATOR, 8 - value :LOGPLATFORM, 9 - value :LOGVIEWER, 10 - value :MAPPER, 11 - value :CONFIG, 12 - value :PLUGININFO, 13 - value :PUSH, 14 - end - add_message "hashicorp.vagrant.ParseVagrantfileRequest" do - optional :path, :string, 1 - end - add_message "hashicorp.vagrant.ParseVagrantfileProcRequest" do - optional :proc, :message, 1, "hashicorp.vagrant.sdk.Args.ProcRef" - end - add_message "hashicorp.vagrant.ParseVagrantfileResponse" do - optional :data, :message, 1, "hashicorp.vagrant.sdk.Args.Hash" - end - add_message "hashicorp.vagrant.ParseVagrantfileSubvmRequest" do - optional :subvm, :message, 1, "hashicorp.vagrant.sdk.Config.RawRubyValue" - end - add_message "hashicorp.vagrant.ParseVagrantfileProviderRequest" do - optional :subvm, :message, 1, "hashicorp.vagrant.sdk.Config.RawRubyValue" - optional :provider, :string, 2 + + +descriptor_data = "\n$proto/ruby_vagrant/ruby-server.proto\x12\x11hashicorp.vagrant\x1a\x1bgoogle/protobuf/empty.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/rpc/error_details.proto\x1a\x0cplugin.proto\")\n\x11GetPluginsRequest\x12\x14\n\x0cproject_path\x18\x01 \x01(\t\"@\n\x12GetPluginsResponse\x12*\n\x07plugins\x18\x01 \x03(\x0b\x32\x19.hashicorp.vagrant.Plugin\"\xcb\x02\n\x06Plugin\x12\x0c\n\x04name\x18\x01 \x01(\t\x12,\n\x04type\x18\x02 \x01(\x0e\x32\x1e.hashicorp.vagrant.Plugin.Type\x12%\n\x07options\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\"\xdd\x01\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07\x43OMMAND\x10\x01\x12\x10\n\x0c\x43OMMUNICATOR\x10\x02\x12\t\n\x05GUEST\x10\x03\x12\x08\n\x04HOST\x10\x04\x12\x0c\n\x08PROVIDER\x10\x05\x12\x0f\n\x0bPROVISIONER\x10\x06\x12\x10\n\x0cSYNCEDFOLDER\x10\x07\x12\x11\n\rAUTHENTICATOR\x10\x08\x12\x0f\n\x0bLOGPLATFORM\x10\t\x12\r\n\tLOGVIEWER\x10\n\x12\n\n\x06MAPPER\x10\x0b\x12\n\n\x06\x43ONFIG\x10\x0c\x12\x0e\n\nPLUGININFO\x10\r\x12\x08\n\x04PUSH\x10\x0e\"\'\n\x17ParseVagrantfileRequest\x12\x0c\n\x04path\x18\x01 \x01(\t\"P\n\x1bParseVagrantfileProcRequest\x12\x31\n\x04proc\x18\x01 \x01(\x0b\x32#.hashicorp.vagrant.sdk.Args.ProcRef\"J\n\x18ParseVagrantfileResponse\x12.\n\x04\x64\x61ta\x18\x01 \x01(\x0b\x32 .hashicorp.vagrant.sdk.Args.Hash\"Y\n\x1cParseVagrantfileSubvmRequest\x12\x39\n\x05subvm\x18\x01 \x01(\x0b\x32*.hashicorp.vagrant.sdk.Config.RawRubyValue\"n\n\x1fParseVagrantfileProviderRequest\x12\x39\n\x05subvm\x18\x01 \x01(\x0b\x32*.hashicorp.vagrant.sdk.Config.RawRubyValue\x12\x10\n\x08provider\x18\x02 \x01(\t2\xf6\x04\n\x0bRubyVagrant\x12Y\n\nGetPlugins\x12$.hashicorp.vagrant.GetPluginsRequest\x1a%.hashicorp.vagrant.GetPluginsResponse\x12k\n\x10ParseVagrantfile\x12*.hashicorp.vagrant.ParseVagrantfileRequest\x1a+.hashicorp.vagrant.ParseVagrantfileResponse\x12s\n\x14ParseVagrantfileProc\x12..hashicorp.vagrant.ParseVagrantfileProcRequest\x1a+.hashicorp.vagrant.ParseVagrantfileResponse\x12u\n\x15ParseVagrantfileSubvm\x12/.hashicorp.vagrant.ParseVagrantfileSubvmRequest\x1a+.hashicorp.vagrant.ParseVagrantfileResponse\x12{\n\x18ParseVagrantfileProvider\x12\x32.hashicorp.vagrant.ParseVagrantfileProviderRequest\x1a+.hashicorp.vagrant.ParseVagrantfileResponse\x12\x36\n\x04Stop\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.EmptyBAZ?github.com/hashicorp/vagrant/internal/server/proto/ruby_vagrantb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError => e + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["google.protobuf.Any", "google/protobuf/any.proto"], + ["hashicorp.vagrant.sdk.Args.ProcRef", "plugin.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" end end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." end module Hashicorp 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 aa45dab04..c4ad83f40 100644 --- a/lib/vagrant/protobufs/proto/vagrant_plugin_sdk/plugin_pb.rb +++ b/lib/vagrant/protobufs/proto/vagrant_plugin_sdk/plugin_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: vagrant_plugin_sdk/plugin.proto @@ -8,1021 +9,36 @@ require 'google/protobuf/timestamp_pb' require 'google/protobuf/empty_pb' require 'google/rpc/status_pb' require 'protostructure_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("vagrant_plugin_sdk/plugin.proto", :syntax => :proto3) do - add_message "hashicorp.vagrant.sdk.Args" do - end - add_message "hashicorp.vagrant.sdk.Args.Seeds" do - repeated :typed, :message, 1, "google.protobuf.Any" - map :named, :string, :message, 2, "google.protobuf.Any" - end - add_message "hashicorp.vagrant.sdk.Args.DataDir" do - end - add_message "hashicorp.vagrant.sdk.Args.DataDir.Basis" do - optional :config_dir, :string, 1 - optional :cache_dir, :string, 2 - optional :data_dir, :string, 3 - optional :temp_dir, :string, 4 - end - add_message "hashicorp.vagrant.sdk.Args.DataDir.Project" do - optional :config_dir, :string, 1 - optional :cache_dir, :string, 2 - optional :data_dir, :string, 3 - optional :temp_dir, :string, 4 - end - add_message "hashicorp.vagrant.sdk.Args.DataDir.Target" do - optional :config_dir, :string, 1 - optional :cache_dir, :string, 2 - optional :data_dir, :string, 3 - optional :temp_dir, :string, 4 - end - add_message "hashicorp.vagrant.sdk.Args.DataDir.Component" do - optional :config_dir, :string, 1 - optional :cache_dir, :string, 2 - optional :data_dir, :string, 3 - optional :temp_dir, :string, 4 - end - add_message "hashicorp.vagrant.sdk.Args.MetadataSet" do - map :metadata, :string, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Args.Path" do - optional :path, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Args.Folders" do - optional :folders, :message, 1, "hashicorp.vagrant.sdk.Args.Hash" - end - add_message "hashicorp.vagrant.sdk.Args.TimeDuration" do - optional :duration, :int32, 1 - end - add_message "hashicorp.vagrant.sdk.Args.TerminalUI" do - optional :stream_id, :uint32, 1 - optional :network, :string, 2 - optional :addr, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Args.Logger" do - optional :name, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Args.JobInfo" do - optional :local, :bool, 1 - optional :resource_id, :string, 2 - optional :resource_type, :enum, 3, "hashicorp.vagrant.sdk.Args.JobInfo.ResourceType" - optional :id, :string, 4 - end - add_enum "hashicorp.vagrant.sdk.Args.JobInfo.ResourceType" do - value :BASIS, 0 - value :PROJECT, 1 - value :TARGET, 2 - end - add_message "hashicorp.vagrant.sdk.Args.CorePluginManager" do - optional :stream_id, :uint32, 1 - optional :network, :string, 2 - optional :addr, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Args.PluginManager" do - optional :stream_id, :uint32, 1 - optional :network, :string, 2 - optional :addr, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Args.Command" do - optional :stream_id, :uint32, 1 - optional :network, :string, 2 - optional :addr, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Args.Basis" do - optional :stream_id, :uint32, 1 - optional :network, :string, 2 - optional :addr, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Args.Project" do - optional :stream_id, :uint32, 1 - optional :network, :string, 2 - optional :addr, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Args.Provider" do - optional :stream_id, :uint32, 1 - optional :network, :string, 2 - optional :addr, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Args.Provisioner" do - optional :stream_id, :uint32, 1 - optional :network, :string, 2 - optional :addr, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Args.Target" do - optional :stream_id, :uint32, 1 - optional :network, :string, 2 - optional :addr, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Args.Target.State" do - optional :state, :enum, 1, "hashicorp.vagrant.sdk.Args.Target.State.State" - end - add_enum "hashicorp.vagrant.sdk.Args.Target.State.State" do - value :UNKNOWN, 0 - value :PENDING, 1 - value :CREATED, 2 - value :DESTROYED, 3 - end - add_message "hashicorp.vagrant.sdk.Args.Target.Machine" do - optional :stream_id, :uint32, 1 - optional :network, :string, 2 - optional :addr, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Args.Target.Machine.State" do - optional :id, :string, 1 - optional :short_description, :string, 2 - optional :long_description, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Args.Box" do - optional :stream_id, :uint32, 1 - optional :network, :string, 2 - optional :addr, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Args.BoxCollection" do - optional :stream_id, :uint32, 1 - optional :network, :string, 2 - optional :addr, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Args.BoxMetadata" do - optional :stream_id, :uint32, 1 - optional :network, :string, 2 - optional :addr, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Args.StateBag" do - optional :stream_id, :uint32, 1 - optional :network, :string, 2 - optional :addr, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Args.Host" do - optional :stream_id, :uint32, 1 - optional :network, :string, 2 - optional :addr, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Args.Guest" do - optional :stream_id, :uint32, 1 - optional :network, :string, 2 - optional :addr, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Args.Communicator" do - optional :stream_id, :uint32, 1 - optional :network, :string, 2 - optional :addr, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Args.Vagrantfile" do - optional :stream_id, :uint32, 1 - optional :network, :string, 2 - optional :addr, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Args.Connection" do - end - add_message "hashicorp.vagrant.sdk.Args.Connection.SSHInfo" do - proto3_optional :host, :string, 1 - proto3_optional :port, :string, 2 - proto3_optional :private_key_path, :string, 3 - proto3_optional :keys_only, :bool, 4 - proto3_optional :verify_host_key, :bool, 5 - proto3_optional :username, :string, 6 - proto3_optional :remote_user, :string, 7 - proto3_optional :compression, :bool, 8 - proto3_optional :dsa_authentication, :bool, 9 - proto3_optional :config, :string, 10 - repeated :extra_args, :string, 11 - proto3_optional :forward_agent, :bool, 12 - proto3_optional :forward_x11, :bool, 13 - repeated :forward_env, :string, 14 - optional :connect_timeout, :int64, 15 - proto3_optional :ssh_command, :string, 16 - proto3_optional :proxy_command, :string, 17 - end - add_message "hashicorp.vagrant.sdk.Args.Connection.WinrmInfo" do - optional :username, :string, 1 - optional :password, :string, 2 - optional :host, :string, 3 - optional :port, :int64, 4 - optional :guest_port, :int64, 5 - optional :max_tries, :int64, 6 - optional :retry_delay, :int64, 7 - optional :timeout, :int64, 8 - optional :transport, :enum, 9, "hashicorp.vagrant.sdk.Args.Connection.WinrmInfo.Transport" - optional :ssl_peer_verification, :bool, 10 - optional :execution_time_limit, :string, 11 - optional :basic_auth_only, :bool, 12 - optional :codepage, :string, 13 - end - add_enum "hashicorp.vagrant.sdk.Args.Connection.WinrmInfo.Transport" do - value :NEGOTIATE, 0 - value :SSL, 1 - value :PLAINTEXT, 2 - end - add_message "hashicorp.vagrant.sdk.Args.Push" do - optional :stream_id, :uint32, 1 - optional :network, :string, 2 - optional :addr, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Args.SyncedFolder" do - optional :stream_id, :uint32, 1 - optional :network, :string, 2 - optional :addr, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Args.TargetIndex" do - optional :stream_id, :uint32, 1 - optional :network, :string, 2 - optional :addr, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Args.NamedCapability" do - optional :capability, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Args.ConfigData" do - optional :source, :message, 1, "hashicorp.vagrant.sdk.Args.Class" - optional :data, :message, 2, "hashicorp.vagrant.sdk.Args.Hash" - end - add_message "hashicorp.vagrant.sdk.Args.Direct" do - repeated :arguments, :message, 1, "google.protobuf.Any" - end - add_message "hashicorp.vagrant.sdk.Args.Array" do - repeated :list, :message, 1, "google.protobuf.Any" - end - add_message "hashicorp.vagrant.sdk.Args.HashEntry" do - optional :key, :message, 1, "google.protobuf.Any" - optional :value, :message, 2, "google.protobuf.Any" - end - add_message "hashicorp.vagrant.sdk.Args.Hash" do - repeated :entries, :message, 1, "hashicorp.vagrant.sdk.Args.HashEntry" - end - add_message "hashicorp.vagrant.sdk.Args.Class" do - optional :name, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Args.ProcRef" do - optional :id, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Args.Symbol" do - optional :str, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Args.Range" do - optional :start, :int32, 1 - optional :end, :int32, 2 - end - add_message "hashicorp.vagrant.sdk.Args.RubyLogger" do - optional :name, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Args.Set" do - optional :list, :message, 1, "hashicorp.vagrant.sdk.Args.Array" - end - add_message "hashicorp.vagrant.sdk.Args.Options" do - optional :options, :message, 1, "hashicorp.vagrant.sdk.Args.Hash" - end - add_message "hashicorp.vagrant.sdk.Args.Null" do - end - add_message "hashicorp.vagrant.sdk.Args.URL" do - optional :url, :string, 1 - end - add_message "hashicorp.vagrant.sdk.FuncSpec" do - optional :name, :string, 1 - repeated :args, :message, 2, "hashicorp.vagrant.sdk.FuncSpec.Value" - repeated :result, :message, 3, "hashicorp.vagrant.sdk.FuncSpec.Value" - end - add_message "hashicorp.vagrant.sdk.FuncSpec.Value" do - optional :name, :string, 1 - optional :type, :string, 2 - optional :value, :message, 3, "google.protobuf.Any" - end - add_message "hashicorp.vagrant.sdk.FuncSpec.Args" do - repeated :args, :message, 1, "hashicorp.vagrant.sdk.FuncSpec.Value" - end - add_message "hashicorp.vagrant.sdk.Auth" do - end - add_message "hashicorp.vagrant.sdk.Auth.AuthResponse" do - optional :authenticated, :bool, 1 - end - add_message "hashicorp.vagrant.sdk.ImplementsResp" do - optional :implements, :bool, 1 - end - add_message "hashicorp.vagrant.sdk.TerminalUI" do - end - add_message "hashicorp.vagrant.sdk.TerminalUI.IsInteractiveResponse" do - optional :interactive, :bool, 1 - end - add_message "hashicorp.vagrant.sdk.TerminalUI.IsMachineReadableResponse" do - optional :machine_readable, :bool, 1 - end - add_message "hashicorp.vagrant.sdk.TerminalUI.OutputRequest" do - repeated :lines, :string, 1 - optional :style, :enum, 2, "hashicorp.vagrant.sdk.TerminalUI.OutputRequest.Style" - optional :disable_new_line, :bool, 3 - optional :color, :string, 4 - end - add_enum "hashicorp.vagrant.sdk.TerminalUI.OutputRequest.Style" do - value :HEADER, 0 - value :ERROR, 1 - value :ERROR_BOLD, 2 - value :WARNING, 3 - value :WARNING_BOLD, 4 - value :INFO, 5 - value :SUCCESS, 6 - value :SUCCESS_BOLD, 7 - end - add_message "hashicorp.vagrant.sdk.TerminalUI.Response" do - oneof :event do - optional :input, :message, 1, "hashicorp.vagrant.sdk.TerminalUI.Event.InputResp" - end - end - add_message "hashicorp.vagrant.sdk.TerminalUI.Event" do - oneof :event do - optional :line, :message, 1, "hashicorp.vagrant.sdk.TerminalUI.Event.Line" - optional :status, :message, 2, "hashicorp.vagrant.sdk.TerminalUI.Event.Status" - optional :named_values, :message, 3, "hashicorp.vagrant.sdk.TerminalUI.Event.NamedValues" - optional :raw, :message, 4, "hashicorp.vagrant.sdk.TerminalUI.Event.Raw" - optional :table, :message, 5, "hashicorp.vagrant.sdk.TerminalUI.Event.Table" - optional :step_group, :message, 6, "hashicorp.vagrant.sdk.TerminalUI.Event.StepGroup" - optional :step, :message, 7, "hashicorp.vagrant.sdk.TerminalUI.Event.Step" - optional :input, :message, 8, "hashicorp.vagrant.sdk.TerminalUI.Event.Input" - optional :clear_line, :message, 9, "hashicorp.vagrant.sdk.TerminalUI.Event.ClearLine" - end - end - add_message "hashicorp.vagrant.sdk.TerminalUI.Event.Input" do - optional :prompt, :string, 1 - optional :style, :string, 2 - optional :secret, :bool, 3 - optional :color, :string, 4 - end - add_message "hashicorp.vagrant.sdk.TerminalUI.Event.InputResp" do - optional :input, :string, 1 - optional :error, :message, 2, "google.rpc.Status" - end - add_message "hashicorp.vagrant.sdk.TerminalUI.Event.Status" do - optional :status, :string, 1 - optional :msg, :string, 2 - optional :step, :bool, 3 - end - add_message "hashicorp.vagrant.sdk.TerminalUI.Event.Line" do - optional :msg, :string, 1 - optional :style, :string, 2 - optional :disable_new_line, :bool, 3 - optional :color, :string, 4 - end - add_message "hashicorp.vagrant.sdk.TerminalUI.Event.Raw" do - optional :data, :bytes, 1 - optional :stderr, :bool, 2 - end - add_message "hashicorp.vagrant.sdk.TerminalUI.Event.NamedValue" do - optional :name, :string, 1 - optional :value, :string, 2 - end - add_message "hashicorp.vagrant.sdk.TerminalUI.Event.NamedValues" do - repeated :values, :message, 1, "hashicorp.vagrant.sdk.TerminalUI.Event.NamedValue" - end - add_message "hashicorp.vagrant.sdk.TerminalUI.Event.TableEntry" do - optional :value, :string, 1 - optional :color, :string, 2 - end - add_message "hashicorp.vagrant.sdk.TerminalUI.Event.TableRow" do - repeated :entries, :message, 1, "hashicorp.vagrant.sdk.TerminalUI.Event.TableEntry" - end - add_message "hashicorp.vagrant.sdk.TerminalUI.Event.Table" do - repeated :headers, :string, 1 - repeated :rows, :message, 2, "hashicorp.vagrant.sdk.TerminalUI.Event.TableRow" - end - add_message "hashicorp.vagrant.sdk.TerminalUI.Event.StepGroup" do - optional :close, :bool, 1 - end - add_message "hashicorp.vagrant.sdk.TerminalUI.Event.Step" do - optional :id, :int32, 1 - optional :close, :bool, 2 - optional :msg, :string, 3 - optional :status, :string, 4 - optional :output, :bytes, 5 - end - add_message "hashicorp.vagrant.sdk.TerminalUI.Event.ClearLine" do - end - add_message "hashicorp.vagrant.sdk.Map" do - end - add_message "hashicorp.vagrant.sdk.Map.Request" do - optional :args, :message, 1, "hashicorp.vagrant.sdk.FuncSpec.Args" - optional :result, :string, 2 - end - add_message "hashicorp.vagrant.sdk.Map.Response" do - optional :result, :message, 1, "google.protobuf.Any" - end - add_message "hashicorp.vagrant.sdk.Map.ListResponse" do - repeated :funcs, :message, 1, "hashicorp.vagrant.sdk.FuncSpec" - end - add_message "hashicorp.vagrant.sdk.StateBag" do - end - add_message "hashicorp.vagrant.sdk.StateBag.GetRequest" do - optional :key, :string, 1 - end - add_message "hashicorp.vagrant.sdk.StateBag.GetResponse" do - optional :value, :string, 1 - end - add_message "hashicorp.vagrant.sdk.StateBag.GetOkResponse" do - optional :ok, :bool, 1 - optional :value, :string, 2 - end - add_message "hashicorp.vagrant.sdk.StateBag.PutRequest" do - optional :key, :string, 1 - optional :value, :string, 2 - end - add_message "hashicorp.vagrant.sdk.StateBag.PutResponse" do - end - add_message "hashicorp.vagrant.sdk.StateBag.RemoveRequest" do - optional :key, :string, 1 - end - add_message "hashicorp.vagrant.sdk.StateBag.RemoveResponse" do - end - add_message "hashicorp.vagrant.sdk.PluginInfo" do - end - add_message "hashicorp.vagrant.sdk.PluginInfo.ComponentList" do - repeated :component, :uint32, 1 - end - add_message "hashicorp.vagrant.sdk.PluginInfo.Name" do - optional :name, :string, 1 - end - add_message "hashicorp.vagrant.sdk.PluginInfo.ComponentOptionsMap" do - map :options, :uint32, :message, 1, "google.protobuf.Any" - end - add_message "hashicorp.vagrant.sdk.PluginInfo.CommandOptions" do - optional :primary, :bool, 1 - end - add_message "hashicorp.vagrant.sdk.PluginInfo.ProviderOptions" do - optional :priority, :int32, 1 - optional :parallel, :bool, 2 - optional :box_optional, :bool, 3 - optional :defaultable, :bool, 4 - end - add_message "hashicorp.vagrant.sdk.PluginInfo.SyncedFolderOptions" do - optional :priority, :int32, 1 - end - add_message "hashicorp.vagrant.sdk.PluginManager" do - end - add_message "hashicorp.vagrant.sdk.PluginManager.PluginsRequest" do - repeated :types, :string, 1 - end - add_message "hashicorp.vagrant.sdk.PluginManager.PluginsResponse" do - repeated :plugins, :message, 1, "hashicorp.vagrant.sdk.PluginManager.Plugin" - end - add_message "hashicorp.vagrant.sdk.PluginManager.Plugin" do - optional :name, :string, 1 - optional :type, :string, 2 - optional :plugin, :message, 3, "google.protobuf.Any" - optional :options, :message, 4, "google.protobuf.Any" - end - add_message "hashicorp.vagrant.sdk.CorePluginManager" do - end - add_message "hashicorp.vagrant.sdk.CorePluginManager.GetPluginRequest" do - optional :type, :string, 1 - end - add_message "hashicorp.vagrant.sdk.CorePluginManager.GetPluginResponse" do - optional :plugin, :message, 1, "google.protobuf.Any" - end - add_message "hashicorp.vagrant.sdk.Provider" do - end - add_message "hashicorp.vagrant.sdk.Provider.UsableResp" do - optional :is_usable, :bool, 1 - end - add_message "hashicorp.vagrant.sdk.Provider.InstalledResp" do - optional :is_installed, :bool, 1 - end - add_message "hashicorp.vagrant.sdk.Provider.ActionRequest" do - optional :name, :string, 1 - optional :func_args, :message, 2, "hashicorp.vagrant.sdk.FuncSpec.Args" - end - add_message "hashicorp.vagrant.sdk.Command" do - end - add_message "hashicorp.vagrant.sdk.Command.Flag" do - optional :long_name, :string, 1 - optional :short_name, :string, 2 - optional :description, :string, 3 - optional :default_value, :string, 4 - optional :type, :enum, 5, "hashicorp.vagrant.sdk.Command.Flag.Type" - repeated :aliases, :string, 6 - end - add_enum "hashicorp.vagrant.sdk.Command.Flag.Type" do - value :STRING, 0 - value :BOOL, 2 - end - add_message "hashicorp.vagrant.sdk.Command.CommandInfo" do - optional :name, :string, 1 - optional :help, :string, 2 - optional :synopsis, :string, 3 - repeated :flags, :message, 4, "hashicorp.vagrant.sdk.Command.Flag" - repeated :subcommands, :message, 5, "hashicorp.vagrant.sdk.Command.CommandInfo" - optional :primary, :bool, 6 - end - add_message "hashicorp.vagrant.sdk.Command.CommandInfoResp" do - optional :command_info, :message, 1, "hashicorp.vagrant.sdk.Command.CommandInfo" - end - add_message "hashicorp.vagrant.sdk.Command.ExecuteResp" do - optional :exit_code, :int32, 1 - end - add_message "hashicorp.vagrant.sdk.Command.ExecuteReq" do - optional :spec, :message, 1, "hashicorp.vagrant.sdk.FuncSpec.Args" - repeated :command_args, :string, 2 - end - add_message "hashicorp.vagrant.sdk.Command.ExecuteSpecReq" do - repeated :command_args, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Command.Arguments" do - repeated :flags, :message, 1, "hashicorp.vagrant.sdk.Command.Arguments.Flag" - repeated :args, :string, 2 - end - add_message "hashicorp.vagrant.sdk.Command.Arguments.Flag" do - optional :name, :string, 1 - optional :type, :enum, 4, "hashicorp.vagrant.sdk.Command.Arguments.Flag.Type" - oneof :value do - optional :string, :string, 2 - optional :bool, :bool, 3 - end - end - add_enum "hashicorp.vagrant.sdk.Command.Arguments.Flag.Type" do - value :STRING, 0 - value :BOOL, 1 - end - add_message "hashicorp.vagrant.sdk.Communicator" do - end - add_message "hashicorp.vagrant.sdk.Communicator.MatchResp" do - optional :match, :bool, 1 - end - add_message "hashicorp.vagrant.sdk.Communicator.ReadyResp" do - optional :ready, :bool, 1 - end - add_message "hashicorp.vagrant.sdk.Communicator.ExecuteResp" do - optional :exit_code, :int32, 1 - optional :stdout, :string, 2 - optional :stderr, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Communicator.TestResp" do - optional :valid, :bool, 1 - end - add_message "hashicorp.vagrant.sdk.Communicator.Command" do - optional :command, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Config" do - end - add_message "hashicorp.vagrant.sdk.Config.Merge" do - optional :base, :message, 1, "hashicorp.vagrant.sdk.Args.ConfigData" - optional :overlay, :message, 2, "hashicorp.vagrant.sdk.Args.ConfigData" - end - add_message "hashicorp.vagrant.sdk.Config.Finalize" do - optional :config, :message, 1, "hashicorp.vagrant.sdk.Args.ConfigData" - end - add_message "hashicorp.vagrant.sdk.Config.Fields" do - repeated :fields, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Config.Structure" do - optional :struct, :message, 1, "protostructure.Struct" - end - add_message "hashicorp.vagrant.sdk.Config.RawRubyValue" do - optional :source, :message, 1, "hashicorp.vagrant.sdk.Args.Class" - optional :data, :message, 2, "hashicorp.vagrant.sdk.Args.Hash" - end - add_message "hashicorp.vagrant.sdk.Config.StructResponse" do - oneof :value do - optional :struct, :message, 1, "hashicorp.vagrant.sdk.Config.Structure" - optional :raw, :bool, 2 - end - end - add_message "hashicorp.vagrant.sdk.Config.ConfigureRequest" do - optional :json, :bytes, 1 - end - add_message "hashicorp.vagrant.sdk.Config.RegisterResponse" do - optional :identifier, :string, 1 - optional :scope, :string, 2 - end - add_message "hashicorp.vagrant.sdk.Config.FieldDocumentation" do - optional :name, :string, 1 - optional :synopsis, :string, 2 - optional :summary, :string, 3 - optional :optional, :bool, 4 - optional :env_var, :string, 5 - optional :type, :string, 6 - optional :default, :string, 7 - end - add_message "hashicorp.vagrant.sdk.Config.MapperDocumentation" do - optional :input, :string, 1 - optional :output, :string, 2 - optional :description, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Config.Documentation" do - optional :description, :string, 1 - optional :example, :string, 2 - optional :input, :string, 3 - optional :output, :string, 4 - map :fields, :string, :message, 5, "hashicorp.vagrant.sdk.Config.FieldDocumentation" - repeated :mappers, :message, 6, "hashicorp.vagrant.sdk.Config.MapperDocumentation" - end - add_message "hashicorp.vagrant.sdk.Platform" do - end - add_message "hashicorp.vagrant.sdk.Platform.DetectResp" do - optional :detected, :bool, 1 - end - add_message "hashicorp.vagrant.sdk.Platform.ParentResp" do - optional :parent, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Platform.Capability" do - end - add_message "hashicorp.vagrant.sdk.Platform.Capability.NamedRequest" do - optional :name, :string, 1 - optional :func_args, :message, 2, "hashicorp.vagrant.sdk.FuncSpec.Args" - end - add_message "hashicorp.vagrant.sdk.Platform.Capability.CheckResp" do - optional :has_capability, :bool, 1 - end - add_message "hashicorp.vagrant.sdk.Platform.Capability.Resp" do - optional :result, :message, 1, "google.protobuf.Any" - end - add_message "hashicorp.vagrant.sdk.SyncedFolder" do - end - add_message "hashicorp.vagrant.sdk.SyncedFolder.UsableResp" do - optional :usable, :bool, 1 - end - add_message "hashicorp.vagrant.sdk.Ref" do - end - add_message "hashicorp.vagrant.sdk.Ref.Box" do - optional :resource_id, :string, 1 - optional :name, :string, 2 - optional :version, :string, 3 - optional :provider, :string, 4 - end - add_message "hashicorp.vagrant.sdk.Ref.Basis" do - optional :resource_id, :string, 1 - optional :path, :string, 2 - optional :name, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Ref.Project" do - optional :resource_id, :string, 1 - optional :path, :string, 2 - optional :basis, :message, 3, "hashicorp.vagrant.sdk.Ref.Basis" - optional :name, :string, 4 - end - add_message "hashicorp.vagrant.sdk.Ref.Target" do - optional :resource_id, :string, 1 - optional :project, :message, 2, "hashicorp.vagrant.sdk.Ref.Project" - optional :name, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Ref.Machine" do - optional :resource_id, :string, 1 - optional :project, :message, 2, "hashicorp.vagrant.sdk.Ref.Project" - optional :name, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Basis" do - end - add_message "hashicorp.vagrant.sdk.Basis.ResourceIdResponse" do - optional :resource_id, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Basis.DefaultProviderResponse" do - optional :provider_name, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Target" do - end - add_message "hashicorp.vagrant.sdk.Target.ResourceIdResponse" do - optional :resource_id, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Target.RecordResponse" do - optional :record, :message, 1, "google.protobuf.Any" - end - add_message "hashicorp.vagrant.sdk.Target.NameResponse" do - optional :name, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Target.ProjectResponse" do - optional :project, :message, 1, "hashicorp.vagrant.sdk.Ref.Project" - end - add_message "hashicorp.vagrant.sdk.Target.SetNameRequest" do - optional :name, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Target.VagrantfileNameResponse" do - optional :name, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Target.VagrantfilePathResponse" do - optional :path, :message, 1, "hashicorp.vagrant.sdk.Args.Path" - end - add_message "hashicorp.vagrant.sdk.Target.UpdatedAtResponse" do - optional :updated_at, :message, 1, "google.protobuf.Timestamp" - end - add_message "hashicorp.vagrant.sdk.Target.GetUUIDResponse" do - optional :uuid, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Target.SetUUIDRequest" do - optional :uuid, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Target.Machine" do - end - add_message "hashicorp.vagrant.sdk.Target.Machine.BoxResponse" do - proto3_optional :box, :message, 1, "hashicorp.vagrant.sdk.Args.Box" - end - add_message "hashicorp.vagrant.sdk.Target.Machine.SetIDRequest" do - optional :id, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Target.Machine.GetIDResponse" do - optional :id, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Target.Machine.SetStateRequest" do - optional :state, :message, 1, "hashicorp.vagrant.sdk.Args.Target.Machine.State" - end - add_message "hashicorp.vagrant.sdk.Target.Machine.GetStateResponse" do - optional :state, :message, 1, "hashicorp.vagrant.sdk.Args.Target.Machine.State" - end - add_message "hashicorp.vagrant.sdk.Target.Machine.UIDResponse" do - optional :user_id, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Target.Machine.SyncedFoldersResponse" do - repeated :synced_folders, :message, 1, "hashicorp.vagrant.sdk.Target.Machine.SyncedFoldersResponse.MachineSyncedFolder" - end - add_message "hashicorp.vagrant.sdk.Target.Machine.SyncedFoldersResponse.Folder" do - optional :source, :string, 1 - optional :destination, :string, 2 - optional :options, :message, 3, "hashicorp.vagrant.sdk.Args.Hash" - end - add_message "hashicorp.vagrant.sdk.Target.Machine.SyncedFoldersResponse.MachineSyncedFolder" do - optional :plugin, :message, 1, "hashicorp.vagrant.sdk.Args.SyncedFolder" - optional :folder, :message, 2, "hashicorp.vagrant.sdk.Target.Machine.SyncedFoldersResponse.Folder" - end - add_message "hashicorp.vagrant.sdk.Project" do - end - add_message "hashicorp.vagrant.sdk.Project.ActiveTargetsResponse" do - repeated :targets, :message, 1, "hashicorp.vagrant.sdk.Args.Target" - end - add_message "hashicorp.vagrant.sdk.Project.ConfigResponse" do - optional :vagrantfile, :message, 1, "hashicorp.vagrant.sdk.Vagrantfile.Vagrantfile" - end - add_message "hashicorp.vagrant.sdk.Project.CwdResponse" do - optional :path, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Project.DefaultProviderRequest" do - optional :check_usable, :bool, 1 - repeated :exclude, :string, 2 - optional :force_default, :bool, 3 - optional :machine_name, :string, 4 - end - add_message "hashicorp.vagrant.sdk.Project.DefaultProviderResponse" do - optional :provider_name, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Project.HomeResponse" do - optional :path, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Project.LocalDataResponse" do - optional :path, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Project.PrimaryTargetNameResponse" do - optional :name, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Project.ResourceIdResponse" do - optional :resource_id, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Project.TargetRequest" do - optional :name, :string, 1 - optional :provider, :string, 2 - end - add_message "hashicorp.vagrant.sdk.Project.TargetNamesResponse" do - repeated :names, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Project.TargetIdsResponse" do - repeated :ids, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Project.VagrantfileNameResponse" do - optional :name, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Vagrantfile" do - end - add_message "hashicorp.vagrant.sdk.Vagrantfile.ValueRequest" do - repeated :path, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Vagrantfile.Serialized" do - optional :json, :bytes, 1 - end - add_message "hashicorp.vagrant.sdk.Vagrantfile.BoxCollection" do - optional :directory, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Vagrantfile.NamespaceRequest" do - optional :namespace, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Vagrantfile.TargetRequest" do - optional :name, :string, 1 - optional :provider, :string, 2 - end - add_message "hashicorp.vagrant.sdk.Vagrantfile.TargetResponse" do - optional :target, :message, 1, "hashicorp.vagrant.sdk.Args.Target" - end - add_message "hashicorp.vagrant.sdk.Vagrantfile.TargetConfigRequest" do - optional :name, :string, 1 - optional :provider, :string, 2 - optional :validate_provider, :bool, 5 - end - add_message "hashicorp.vagrant.sdk.Vagrantfile.TargetConfigResponse" do - optional :target_config, :message, 1, "hashicorp.vagrant.sdk.Vagrantfile.MachineConfig" - end - add_message "hashicorp.vagrant.sdk.Vagrantfile.TargetNamesResponse" do - repeated :names, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Vagrantfile.PrimaryTargetNameResponse" do - optional :name, :string, 1 - 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.ConfigVagrant" do - optional :host, :string, 1 - repeated :plugins, :string, 2 - repeated :sensitive, :string, 3 - end - add_message "hashicorp.vagrant.sdk.Vagrantfile.GeneralConfig" do - optional :type, :string, 1 - optional :config, :message, 2, "google.protobuf.Any" - 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_vagrant, :message, 3, "hashicorp.vagrant.sdk.Vagrantfile.ConfigVagrant" - repeated :plugin_configs, :message, 4, "hashicorp.vagrant.sdk.Vagrantfile.GeneralConfig" - 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 - proto3_optional :group, :string, 6 - optional :id, :string, 7 - repeated :mount_options, :string, 8 - proto3_optional :owner, :string, 9 - proto3_optional :type, :string, 10 - end - add_message "hashicorp.vagrant.sdk.Vagrantfile.PushConfig" do - optional :name, :string, 1 - optional :config, :message, 2, "hashicorp.vagrant.sdk.Vagrantfile.GeneralConfig" - 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" - repeated :push_configs, :message, 5, "hashicorp.vagrant.sdk.Vagrantfile.PushConfig" - repeated :provisioners, :message, 6, "hashicorp.vagrant.sdk.Vagrantfile.Provisioner" - end - add_message "hashicorp.vagrant.sdk.TargetIndex" do - end - add_message "hashicorp.vagrant.sdk.TargetIndex.TargetIdentifier" do - optional :id, :string, 1 - end - add_message "hashicorp.vagrant.sdk.TargetIndex.AllResponse" do - repeated :targets, :message, 1, "hashicorp.vagrant.sdk.Args.Target" - end - add_message "hashicorp.vagrant.sdk.TargetIndex.IncludesResponse" do - optional :exists, :bool, 1 - end - add_message "hashicorp.vagrant.sdk.Box" do - end - add_message "hashicorp.vagrant.sdk.Box.AutomaticUpdateCheckAllowedResponse" do - optional :allowed, :bool, 1 - end - add_message "hashicorp.vagrant.sdk.Box.HasUpdateRequest" do - optional :version, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Box.HasUpdateResponse" do - optional :has_update, :bool, 1 - end - add_message "hashicorp.vagrant.sdk.Box.UpdateInfoResponse" do - optional :has_update, :bool, 1 - optional :metadata, :message, 2, "hashicorp.vagrant.sdk.Args.BoxMetadata" - optional :new_version, :string, 3 - optional :new_provider, :string, 4 - end - add_message "hashicorp.vagrant.sdk.Box.InUseResponse" do - optional :in_use, :bool, 1 - end - add_message "hashicorp.vagrant.sdk.Box.MachinesResponse" do - repeated :machines, :message, 1, "hashicorp.vagrant.sdk.Args.Target.Machine" - end - add_message "hashicorp.vagrant.sdk.Box.BoxMetadataResponse" do - optional :metadata, :message, 1, "hashicorp.vagrant.sdk.Args.Hash" - end - add_message "hashicorp.vagrant.sdk.Box.MetadataUrlResponse" do - optional :metadata_url, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Box.NameResponse" do - optional :name, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Box.ProviderResponse" do - optional :provider, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Box.VersionResponse" do - optional :version, :string, 1 - end - add_message "hashicorp.vagrant.sdk.Box.EqualityResponse" do - optional :result, :int32, 1 - end - add_message "hashicorp.vagrant.sdk.BoxCollection" do - end - add_message "hashicorp.vagrant.sdk.BoxCollection.AddRequest" do - optional :path, :message, 1, "hashicorp.vagrant.sdk.Args.Path" - optional :name, :string, 2 - optional :version, :string, 3 - optional :metadataUrl, :string, 4 - optional :force, :bool, 5 - repeated :providers, :string, 6 - end - add_message "hashicorp.vagrant.sdk.BoxCollection.AllResponse" do - repeated :boxes, :message, 1, "hashicorp.vagrant.sdk.Args.Box" - end - add_message "hashicorp.vagrant.sdk.BoxCollection.CleanRequest" do - optional :name, :string, 1 - end - add_message "hashicorp.vagrant.sdk.BoxCollection.FindRequest" do - optional :name, :string, 1 - optional :version, :string, 2 - repeated :providers, :string, 3 - end - add_message "hashicorp.vagrant.sdk.BoxMetadata" do - end - add_message "hashicorp.vagrant.sdk.BoxMetadata.BoxMetadataOpts" do - optional :name, :string, 1 - optional :url, :string, 2 - optional :checksum, :string, 3 - optional :checksum_type, :string, 4 - end - add_message "hashicorp.vagrant.sdk.BoxMetadata.LoadMetadataRequest" do - optional :url, :string, 1 - end - add_message "hashicorp.vagrant.sdk.BoxMetadata.NameResponse" do - optional :name, :string, 1 - end - add_message "hashicorp.vagrant.sdk.BoxMetadata.VersionQuery" do - optional :version, :string, 1 - repeated :opts, :message, 2, "hashicorp.vagrant.sdk.BoxMetadata.BoxMetadataOpts" - end - add_message "hashicorp.vagrant.sdk.BoxMetadata.VersionResponse" do - optional :version, :string, 1 - optional :status, :string, 2 - optional :description, :string, 3 - end - add_message "hashicorp.vagrant.sdk.BoxMetadata.ListVersionsQuery" do - repeated :opts, :message, 1, "hashicorp.vagrant.sdk.BoxMetadata.BoxMetadataOpts" - end - add_message "hashicorp.vagrant.sdk.BoxMetadata.ListVersionsResponse" do - repeated :versions, :string, 1 - end - add_message "hashicorp.vagrant.sdk.BoxMetadata.ProviderRequest" do - optional :version, :string, 1 - optional :name, :string, 2 - end - add_message "hashicorp.vagrant.sdk.BoxMetadata.ProviderResponse" do - optional :name, :string, 1 - optional :url, :string, 2 - optional :checksum, :string, 3 - optional :checksum_type, :string, 4 - end - add_message "hashicorp.vagrant.sdk.BoxMetadata.ListProvidersRequest" do - optional :version, :string, 1 - end - add_message "hashicorp.vagrant.sdk.BoxMetadata.ListProvidersResponse" do - repeated :providers, :string, 1 + + +descriptor_data = "\n\x1fvagrant_plugin_sdk/plugin.proto\x12\x15hashicorp.vagrant.sdk\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x17google/rpc/status.proto\x1a\x14protostructure.proto\"\xb1!\n\x04\x41rgs\x1a\xad\x01\n\x05Seeds\x12#\n\x05typed\x18\x01 \x03(\x0b\x32\x14.google.protobuf.Any\x12;\n\x05named\x18\x02 \x03(\x0b\x32,.hashicorp.vagrant.sdk.Args.Seeds.NamedEntry\x1a\x42\n\nNamedEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any:\x02\x38\x01\x1a\xe0\x02\n\x07\x44\x61taDir\x1aR\n\x05\x42\x61sis\x12\x12\n\nconfig_dir\x18\x01 \x01(\t\x12\x11\n\tcache_dir\x18\x02 \x01(\t\x12\x10\n\x08\x64\x61ta_dir\x18\x03 \x01(\t\x12\x10\n\x08temp_dir\x18\x04 \x01(\t\x1aT\n\x07Project\x12\x12\n\nconfig_dir\x18\x01 \x01(\t\x12\x11\n\tcache_dir\x18\x02 \x01(\t\x12\x10\n\x08\x64\x61ta_dir\x18\x03 \x01(\t\x12\x10\n\x08temp_dir\x18\x04 \x01(\t\x1aS\n\x06Target\x12\x12\n\nconfig_dir\x18\x01 \x01(\t\x12\x11\n\tcache_dir\x18\x02 \x01(\t\x12\x10\n\x08\x64\x61ta_dir\x18\x03 \x01(\t\x12\x10\n\x08temp_dir\x18\x04 \x01(\t\x1aV\n\tComponent\x12\x12\n\nconfig_dir\x18\x01 \x01(\t\x12\x11\n\tcache_dir\x18\x02 \x01(\t\x12\x10\n\x08\x64\x61ta_dir\x18\x03 \x01(\t\x12\x10\n\x08temp_dir\x18\x04 \x01(\t\x1a\x87\x01\n\x0bMetadataSet\x12G\n\x08metadata\x18\x01 \x03(\x0b\x32\x35.hashicorp.vagrant.sdk.Args.MetadataSet.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x14\n\x04Path\x12\x0c\n\x04path\x18\x01 \x01(\t\x1a<\n\x07\x46olders\x12\x31\n\x07\x66olders\x18\x01 \x01(\x0b\x32 .hashicorp.vagrant.sdk.Args.Hash\x1a \n\x0cTimeDuration\x12\x10\n\x08\x64uration\x18\x01 \x01(\x05\x1a>\n\nTerminalUI\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0f\n\x07network\x18\x02 \x01(\t\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\t\x1a\x16\n\x06Logger\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a\xb6\x01\n\x07JobInfo\x12\r\n\x05local\x18\x01 \x01(\x08\x12\x13\n\x0bresource_id\x18\x02 \x01(\t\x12G\n\rresource_type\x18\x03 \x01(\x0e\x32\x30.hashicorp.vagrant.sdk.Args.JobInfo.ResourceType\x12\n\n\x02id\x18\x04 \x01(\t\"2\n\x0cResourceType\x12\t\n\x05\x42\x41SIS\x10\x00\x12\x0b\n\x07PROJECT\x10\x01\x12\n\n\x06TARGET\x10\x02\x1a\x45\n\x11\x43orePluginManager\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0f\n\x07network\x18\x02 \x01(\t\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\t\x1a\x41\n\rPluginManager\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0f\n\x07network\x18\x02 \x01(\t\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\t\x1a;\n\x07\x43ommand\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0f\n\x07network\x18\x02 \x01(\t\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\t\x1a\x39\n\x05\x42\x61sis\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0f\n\x07network\x18\x02 \x01(\t\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\t\x1a;\n\x07Project\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0f\n\x07network\x18\x02 \x01(\t\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\t\x1a<\n\x08Provider\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0f\n\x07network\x18\x02 \x01(\t\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\t\x1a?\n\x0bProvisioner\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0f\n\x07network\x18\x02 \x01(\t\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\t\x1a\xca\x02\n\x06Target\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0f\n\x07network\x18\x02 \x01(\t\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\t\x1a\x85\x01\n\x05State\x12=\n\x05state\x18\x01 \x01(\x0e\x32..hashicorp.vagrant.sdk.Args.Target.State.State\"=\n\x05State\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0b\n\x07\x43REATED\x10\x02\x12\r\n\tDESTROYED\x10\x03\x1a\x85\x01\n\x07Machine\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0f\n\x07network\x18\x02 \x01(\t\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\t\x1aH\n\x05State\x12\n\n\x02id\x18\x01 \x01(\t\x12\x19\n\x11short_description\x18\x02 \x01(\t\x12\x18\n\x10long_description\x18\x03 \x01(\t\x1a\x37\n\x03\x42ox\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0f\n\x07network\x18\x02 \x01(\t\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\t\x1a\x41\n\rBoxCollection\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0f\n\x07network\x18\x02 \x01(\t\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\t\x1a?\n\x0b\x42oxMetadata\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0f\n\x07network\x18\x02 \x01(\t\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\t\x1a<\n\x08StateBag\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0f\n\x07network\x18\x02 \x01(\t\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\t\x1a\x38\n\x04Host\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0f\n\x07network\x18\x02 \x01(\t\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\t\x1a\x39\n\x05Guest\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0f\n\x07network\x18\x02 \x01(\t\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\t\x1a@\n\x0c\x43ommunicator\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0f\n\x07network\x18\x02 \x01(\t\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\t\x1a?\n\x0bVagrantfile\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0f\n\x07network\x18\x02 \x01(\t\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\t\x1a\xa4\x08\n\nConnection\x1a\x8f\x05\n\x07SSHInfo\x12\x11\n\x04host\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04port\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x1d\n\x10private_key_path\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x16\n\tkeys_only\x18\x04 \x01(\x08H\x03\x88\x01\x01\x12\x1c\n\x0fverify_host_key\x18\x05 \x01(\x08H\x04\x88\x01\x01\x12\x15\n\x08username\x18\x06 \x01(\tH\x05\x88\x01\x01\x12\x18\n\x0bremote_user\x18\x07 \x01(\tH\x06\x88\x01\x01\x12\x18\n\x0b\x63ompression\x18\x08 \x01(\x08H\x07\x88\x01\x01\x12\x1f\n\x12\x64sa_authentication\x18\t \x01(\x08H\x08\x88\x01\x01\x12\x13\n\x06\x63onfig\x18\n \x01(\tH\t\x88\x01\x01\x12\x12\n\nextra_args\x18\x0b \x03(\t\x12\x1a\n\rforward_agent\x18\x0c \x01(\x08H\n\x88\x01\x01\x12\x18\n\x0b\x66orward_x11\x18\r \x01(\x08H\x0b\x88\x01\x01\x12\x13\n\x0b\x66orward_env\x18\x0e \x03(\t\x12\x17\n\x0f\x63onnect_timeout\x18\x0f \x01(\x03\x12\x18\n\x0bssh_command\x18\x10 \x01(\tH\x0c\x88\x01\x01\x12\x1a\n\rproxy_command\x18\x11 \x01(\tH\r\x88\x01\x01\x42\x07\n\x05_hostB\x07\n\x05_portB\x13\n\x11_private_key_pathB\x0c\n\n_keys_onlyB\x12\n\x10_verify_host_keyB\x0b\n\t_usernameB\x0e\n\x0c_remote_userB\x0e\n\x0c_compressionB\x15\n\x13_dsa_authenticationB\t\n\x07_configB\x10\n\x0e_forward_agentB\x0e\n\x0c_forward_x11B\x0e\n\x0c_ssh_commandB\x10\n\x0e_proxy_command\x1a\x83\x03\n\tWinrmInfo\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\x12\x0c\n\x04host\x18\x03 \x01(\t\x12\x0c\n\x04port\x18\x04 \x01(\x03\x12\x12\n\nguest_port\x18\x05 \x01(\x03\x12\x11\n\tmax_tries\x18\x06 \x01(\x03\x12\x13\n\x0bretry_delay\x18\x07 \x01(\x03\x12\x0f\n\x07timeout\x18\x08 \x01(\x03\x12M\n\ttransport\x18\t \x01(\x0e\x32:.hashicorp.vagrant.sdk.Args.Connection.WinrmInfo.Transport\x12\x1d\n\x15ssl_peer_verification\x18\n \x01(\x08\x12\x1c\n\x14\x65xecution_time_limit\x18\x0b \x01(\t\x12\x17\n\x0f\x62\x61sic_auth_only\x18\x0c \x01(\x08\x12\x10\n\x08\x63odepage\x18\r \x01(\t\"2\n\tTransport\x12\r\n\tNEGOTIATE\x10\x00\x12\x07\n\x03SSL\x10\x01\x12\r\n\tPLAINTEXT\x10\x02\x1a\x38\n\x04Push\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0f\n\x07network\x18\x02 \x01(\t\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\t\x1a@\n\x0cSyncedFolder\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0f\n\x07network\x18\x02 \x01(\t\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\t\x1a?\n\x0bTargetIndex\x12\x11\n\tstream_id\x18\x01 \x01(\r\x12\x0f\n\x07network\x18\x02 \x01(\t\x12\x0c\n\x04\x61\x64\x64r\x18\x03 \x01(\t\x1a%\n\x0fNamedCapability\x12\x12\n\ncapability\x18\x01 \x01(\t\x1ao\n\nConfigData\x12\x31\n\x06source\x18\x01 \x01(\x0b\x32!.hashicorp.vagrant.sdk.Args.Class\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .hashicorp.vagrant.sdk.Args.Hash\x1a\x31\n\x06\x44irect\x12\'\n\targuments\x18\x01 \x03(\x0b\x32\x14.google.protobuf.Any\x1a+\n\x05\x41rray\x12\"\n\x04list\x18\x01 \x03(\x0b\x32\x14.google.protobuf.Any\x1aS\n\tHashEntry\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.google.protobuf.Any\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any\x1a>\n\x04Hash\x12\x36\n\x07\x65ntries\x18\x01 \x03(\x0b\x32%.hashicorp.vagrant.sdk.Args.HashEntry\x1a\x15\n\x05\x43lass\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a\x15\n\x07ProcRef\x12\n\n\x02id\x18\x01 \x01(\t\x1a\x15\n\x06Symbol\x12\x0b\n\x03str\x18\x01 \x01(\t\x1a#\n\x05Range\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05\x1a\x1a\n\nRubyLogger\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a\x36\n\x03Set\x12/\n\x04list\x18\x01 \x01(\x0b\x32!.hashicorp.vagrant.sdk.Args.Array\x1a<\n\x07Options\x12\x31\n\x07options\x18\x01 \x01(\x0b\x32 .hashicorp.vagrant.sdk.Args.Hash\x1a\x06\n\x04Null\x1a\x12\n\x03URL\x12\x0b\n\x03url\x18\x01 \x01(\t\"\x8b\x02\n\x08\x46uncSpec\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x33\n\x04\x61rgs\x18\x02 \x03(\x0b\x32%.hashicorp.vagrant.sdk.FuncSpec.Value\x12\x35\n\x06result\x18\x03 \x03(\x0b\x32%.hashicorp.vagrant.sdk.FuncSpec.Value\x1aH\n\x05Value\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\t\x12#\n\x05value\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\x1a;\n\x04\x41rgs\x12\x33\n\x04\x61rgs\x18\x01 \x03(\x0b\x32%.hashicorp.vagrant.sdk.FuncSpec.Value\"-\n\x04\x41uth\x1a%\n\x0c\x41uthResponse\x12\x15\n\rauthenticated\x18\x01 \x01(\x08\"$\n\x0eImplementsResp\x12\x12\n\nimplements\x18\x01 \x01(\x08\"\xb9\x0e\n\nTerminalUI\x1a,\n\x15IsInteractiveResponse\x12\x13\n\x0binteractive\x18\x01 \x01(\x08\x1a\x35\n\x19IsMachineReadableResponse\x12\x18\n\x10machine_readable\x18\x01 \x01(\x08\x1a\x85\x02\n\rOutputRequest\x12\r\n\x05lines\x18\x01 \x03(\t\x12\x44\n\x05style\x18\x02 \x01(\x0e\x32\x35.hashicorp.vagrant.sdk.TerminalUI.OutputRequest.Style\x12\x18\n\x10\x64isable_new_line\x18\x03 \x01(\x08\x12\r\n\x05\x63olor\x18\x04 \x01(\t\"v\n\x05Style\x12\n\n\x06HEADER\x10\x00\x12\t\n\x05\x45RROR\x10\x01\x12\x0e\n\nERROR_BOLD\x10\x02\x12\x0b\n\x07WARNING\x10\x03\x12\x10\n\x0cWARNING_BOLD\x10\x04\x12\x08\n\x04INFO\x10\x05\x12\x0b\n\x07SUCCESS\x10\x06\x12\x10\n\x0cSUCCESS_BOLD\x10\x07\x1aW\n\x08Response\x12\x42\n\x05input\x18\x01 \x01(\x0b\x32\x31.hashicorp.vagrant.sdk.TerminalUI.Event.InputRespH\x00\x42\x07\n\x05\x65vent\x1a\xe4\n\n\x05\x45vent\x12<\n\x04line\x18\x01 \x01(\x0b\x32,.hashicorp.vagrant.sdk.TerminalUI.Event.LineH\x00\x12@\n\x06status\x18\x02 \x01(\x0b\x32..hashicorp.vagrant.sdk.TerminalUI.Event.StatusH\x00\x12K\n\x0cnamed_values\x18\x03 \x01(\x0b\x32\x33.hashicorp.vagrant.sdk.TerminalUI.Event.NamedValuesH\x00\x12:\n\x03raw\x18\x04 \x01(\x0b\x32+.hashicorp.vagrant.sdk.TerminalUI.Event.RawH\x00\x12>\n\x05table\x18\x05 \x01(\x0b\x32-.hashicorp.vagrant.sdk.TerminalUI.Event.TableH\x00\x12G\n\nstep_group\x18\x06 \x01(\x0b\x32\x31.hashicorp.vagrant.sdk.TerminalUI.Event.StepGroupH\x00\x12<\n\x04step\x18\x07 \x01(\x0b\x32,.hashicorp.vagrant.sdk.TerminalUI.Event.StepH\x00\x12>\n\x05input\x18\x08 \x01(\x0b\x32-.hashicorp.vagrant.sdk.TerminalUI.Event.InputH\x00\x12G\n\nclear_line\x18\t \x01(\x0b\x32\x31.hashicorp.vagrant.sdk.TerminalUI.Event.ClearLineH\x00\x1a\x45\n\x05Input\x12\x0e\n\x06prompt\x18\x01 \x01(\t\x12\r\n\x05style\x18\x02 \x01(\t\x12\x0e\n\x06secret\x18\x03 \x01(\x08\x12\r\n\x05\x63olor\x18\x04 \x01(\t\x1a=\n\tInputResp\x12\r\n\x05input\x18\x01 \x01(\t\x12!\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\x1a\x33\n\x06Status\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12\x0c\n\x04step\x18\x03 \x01(\x08\x1aK\n\x04Line\x12\x0b\n\x03msg\x18\x01 \x01(\t\x12\r\n\x05style\x18\x02 \x01(\t\x12\x18\n\x10\x64isable_new_line\x18\x03 \x01(\x08\x12\r\n\x05\x63olor\x18\x04 \x01(\t\x1a#\n\x03Raw\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x0e\n\x06stderr\x18\x02 \x01(\x08\x1a)\n\nNamedValue\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x1aQ\n\x0bNamedValues\x12\x42\n\x06values\x18\x01 \x03(\x0b\x32\x32.hashicorp.vagrant.sdk.TerminalUI.Event.NamedValue\x1a*\n\nTableEntry\x12\r\n\x05value\x18\x01 \x01(\t\x12\r\n\x05\x63olor\x18\x02 \x01(\t\x1aO\n\x08TableRow\x12\x43\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x32.hashicorp.vagrant.sdk.TerminalUI.Event.TableEntry\x1aX\n\x05Table\x12\x0f\n\x07headers\x18\x01 \x03(\t\x12>\n\x04rows\x18\x02 \x03(\x0b\x32\x30.hashicorp.vagrant.sdk.TerminalUI.Event.TableRow\x1a\x1a\n\tStepGroup\x12\r\n\x05\x63lose\x18\x01 \x01(\x08\x1aN\n\x04Step\x12\n\n\x02id\x18\x01 \x01(\x05\x12\r\n\x05\x63lose\x18\x02 \x01(\x08\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\x0e\n\x06status\x18\x04 \x01(\t\x12\x0e\n\x06output\x18\x05 \x01(\x0c\x1a\x0b\n\tClearLineB\x07\n\x05\x65vent\"\xc6\x01\n\x03Map\x1aM\n\x07Request\x12\x32\n\x04\x61rgs\x18\x01 \x01(\x0b\x32$.hashicorp.vagrant.sdk.FuncSpec.Args\x12\x0e\n\x06result\x18\x02 \x01(\t\x1a\x30\n\x08Response\x12$\n\x06result\x18\x01 \x01(\x0b\x32\x14.google.protobuf.Any\x1a>\n\x0cListResponse\x12.\n\x05\x66uncs\x18\x01 \x03(\x0b\x32\x1f.hashicorp.vagrant.sdk.FuncSpec\"\xd8\x01\n\x08StateBag\x1a\x19\n\nGetRequest\x12\x0b\n\x03key\x18\x01 \x01(\t\x1a\x1c\n\x0bGetResponse\x12\r\n\x05value\x18\x01 \x01(\t\x1a*\n\rGetOkResponse\x12\n\n\x02ok\x18\x01 \x01(\x08\x12\r\n\x05value\x18\x02 \x01(\t\x1a(\n\nPutRequest\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x1a\r\n\x0bPutResponse\x1a\x1c\n\rRemoveRequest\x12\x0b\n\x03key\x18\x01 \x01(\t\x1a\x10\n\x0eRemoveResponse\"\xa7\x03\n\nPluginInfo\x1a\"\n\rComponentList\x12\x11\n\tcomponent\x18\x01 \x03(\r\x1a\x14\n\x04Name\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a\xb0\x01\n\x13\x43omponentOptionsMap\x12S\n\x07options\x18\x01 \x03(\x0b\x32\x42.hashicorp.vagrant.sdk.PluginInfo.ComponentOptionsMap.OptionsEntry\x1a\x44\n\x0cOptionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any:\x02\x38\x01\x1a!\n\x0e\x43ommandOptions\x12\x0f\n\x07primary\x18\x01 \x01(\x08\x1a`\n\x0fProviderOptions\x12\x10\n\x08priority\x18\x01 \x01(\x05\x12\x10\n\x08parallel\x18\x02 \x01(\x08\x12\x14\n\x0c\x62ox_optional\x18\x03 \x01(\x08\x12\x13\n\x0b\x64\x65\x66\x61ultable\x18\x04 \x01(\x08\x1a\'\n\x13SyncedFolderOptions\x12\x10\n\x08priority\x18\x01 \x01(\x05\"\xf4\x01\n\rPluginManager\x1a\x1f\n\x0ePluginsRequest\x12\r\n\x05types\x18\x01 \x03(\t\x1aO\n\x0fPluginsResponse\x12<\n\x07plugins\x18\x01 \x03(\x0b\x32+.hashicorp.vagrant.sdk.PluginManager.Plugin\x1aq\n\x06Plugin\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\t\x12$\n\x06plugin\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\x12%\n\x07options\x18\x04 \x01(\x0b\x32\x14.google.protobuf.Any\"p\n\x11\x43orePluginManager\x1a \n\x10GetPluginRequest\x12\x0c\n\x04type\x18\x01 \x01(\t\x1a\x39\n\x11GetPluginResponse\x12$\n\x06plugin\x18\x01 \x01(\x0b\x32\x14.google.protobuf.Any\"\xaa\x01\n\x08Provider\x1a\x1f\n\nUsableResp\x12\x11\n\tis_usable\x18\x01 \x01(\x08\x1a%\n\rInstalledResp\x12\x14\n\x0cis_installed\x18\x01 \x01(\x08\x1aV\n\rActionRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x37\n\tfunc_args\x18\x02 \x01(\x0b\x32$.hashicorp.vagrant.sdk.FuncSpec.Args\"\x83\x07\n\x07\x43ommand\x1a\xc0\x01\n\x04\x46lag\x12\x11\n\tlong_name\x18\x01 \x01(\t\x12\x12\n\nshort_name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x15\n\rdefault_value\x18\x04 \x01(\t\x12\x36\n\x04type\x18\x05 \x01(\x0e\x32(.hashicorp.vagrant.sdk.Command.Flag.Type\x12\x0f\n\x07\x61liases\x18\x06 \x03(\t\"\x1c\n\x04Type\x12\n\n\x06STRING\x10\x00\x12\x08\n\x04\x42OOL\x10\x02\x1a\xc1\x01\n\x0b\x43ommandInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04help\x18\x02 \x01(\t\x12\x10\n\x08synopsis\x18\x03 \x01(\t\x12\x32\n\x05\x66lags\x18\x04 \x03(\x0b\x32#.hashicorp.vagrant.sdk.Command.Flag\x12?\n\x0bsubcommands\x18\x05 \x03(\x0b\x32*.hashicorp.vagrant.sdk.Command.CommandInfo\x12\x0f\n\x07primary\x18\x06 \x01(\x08\x1aS\n\x0f\x43ommandInfoResp\x12@\n\x0c\x63ommand_info\x18\x01 \x01(\x0b\x32*.hashicorp.vagrant.sdk.Command.CommandInfo\x1a \n\x0b\x45xecuteResp\x12\x11\n\texit_code\x18\x01 \x01(\x05\x1aV\n\nExecuteReq\x12\x32\n\x04spec\x18\x01 \x01(\x0b\x32$.hashicorp.vagrant.sdk.FuncSpec.Args\x12\x14\n\x0c\x63ommand_args\x18\x02 \x03(\t\x1a&\n\x0e\x45xecuteSpecReq\x12\x14\n\x0c\x63ommand_args\x18\x01 \x03(\t\x1a\xf9\x01\n\tArguments\x12<\n\x05\x66lags\x18\x01 \x03(\x0b\x32-.hashicorp.vagrant.sdk.Command.Arguments.Flag\x12\x0c\n\x04\x61rgs\x18\x02 \x03(\t\x1a\x9f\x01\n\x04\x46lag\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x06string\x18\x02 \x01(\tH\x00\x12\x0e\n\x04\x62ool\x18\x03 \x01(\x08H\x00\x12@\n\x04type\x18\x04 \x01(\x0e\x32\x32.hashicorp.vagrant.sdk.Command.Arguments.Flag.Type\"\x1c\n\x04Type\x12\n\n\x06STRING\x10\x00\x12\x08\n\x04\x42OOL\x10\x01\x42\x07\n\x05value\"\xbf\x01\n\x0c\x43ommunicator\x1a\x1a\n\tMatchResp\x12\r\n\x05match\x18\x01 \x01(\x08\x1a\x1a\n\tReadyResp\x12\r\n\x05ready\x18\x01 \x01(\x08\x1a@\n\x0b\x45xecuteResp\x12\x11\n\texit_code\x18\x01 \x01(\x05\x12\x0e\n\x06stdout\x18\x02 \x01(\t\x12\x0e\n\x06stderr\x18\x03 \x01(\t\x1a\x19\n\x08TestResp\x12\r\n\x05valid\x18\x01 \x01(\x08\x1a\x1a\n\x07\x43ommand\x12\x0f\n\x07\x63ommand\x18\x01 \x01(\t\"\xee\t\n\x06\x43onfig\x1av\n\x05Merge\x12\x34\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32&.hashicorp.vagrant.sdk.Args.ConfigData\x12\x37\n\x07overlay\x18\x02 \x01(\x0b\x32&.hashicorp.vagrant.sdk.Args.ConfigData\x1a\x42\n\x08\x46inalize\x12\x36\n\x06\x63onfig\x18\x01 \x01(\x0b\x32&.hashicorp.vagrant.sdk.Args.ConfigData\x1a\x18\n\x06\x46ields\x12\x0e\n\x06\x66ields\x18\x01 \x03(\t\x1a\x33\n\tStructure\x12&\n\x06struct\x18\x01 \x01(\x0b\x32\x16.protostructure.Struct\x1a\x44\n\x0cInitResponse\x12\x34\n\x04\x64\x61ta\x18\x01 \x01(\x0b\x32&.hashicorp.vagrant.sdk.Args.ConfigData\x1aH\n\x10\x46inalizeResponse\x12\x34\n\x04\x64\x61ta\x18\x01 \x01(\x0b\x32&.hashicorp.vagrant.sdk.Args.ConfigData\x1aq\n\x0cRawRubyValue\x12\x31\n\x06source\x18\x01 \x01(\x0b\x32!.hashicorp.vagrant.sdk.Args.Class\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .hashicorp.vagrant.sdk.Args.Hash\x1a\x63\n\x0eStructResponse\x12\x39\n\x06struct\x18\x01 \x01(\x0b\x32\'.hashicorp.vagrant.sdk.Config.StructureH\x00\x12\r\n\x03raw\x18\x02 \x01(\x08H\x00\x42\x07\n\x05value\x1a \n\x10\x43onfigureRequest\x12\x0c\n\x04json\x18\x01 \x01(\x0c\x1a\x35\n\x10RegisterResponse\x12\x12\n\nidentifier\x18\x01 \x01(\t\x12\r\n\x05scope\x18\x02 \x01(\t\x1a\x87\x01\n\x12\x46ieldDocumentation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08synopsis\x18\x02 \x01(\t\x12\x0f\n\x07summary\x18\x03 \x01(\t\x12\x10\n\x08optional\x18\x04 \x01(\x08\x12\x0f\n\x07\x65nv_var\x18\x05 \x01(\t\x12\x0c\n\x04type\x18\x06 \x01(\t\x12\x0f\n\x07\x64\x65\x66\x61ult\x18\x07 \x01(\t\x1aI\n\x13MapperDocumentation\x12\r\n\x05input\x18\x01 \x01(\t\x12\x0e\n\x06output\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x1a\xc2\x02\n\rDocumentation\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12\x0f\n\x07\x65xample\x18\x02 \x01(\t\x12\r\n\x05input\x18\x03 \x01(\t\x12\x0e\n\x06output\x18\x04 \x01(\t\x12G\n\x06\x66ields\x18\x05 \x03(\x0b\x32\x37.hashicorp.vagrant.sdk.Config.Documentation.FieldsEntry\x12\x42\n\x07mappers\x18\x06 \x03(\x0b\x32\x31.hashicorp.vagrant.sdk.Config.MapperDocumentation\x1a_\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12?\n\x05value\x18\x02 \x01(\x0b\x32\x30.hashicorp.vagrant.sdk.Config.FieldDocumentation:\x02\x38\x01\"\x81\x02\n\x08Platform\x1a\x1e\n\nDetectResp\x12\x10\n\x08\x64\x65tected\x18\x01 \x01(\x08\x1a\x1c\n\nParentResp\x12\x0e\n\x06parent\x18\x01 \x01(\t\x1a\xb6\x01\n\nCapability\x1aU\n\x0cNamedRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x37\n\tfunc_args\x18\x02 \x01(\x0b\x32$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a#\n\tCheckResp\x12\x16\n\x0ehas_capability\x18\x01 \x01(\x08\x1a,\n\x04Resp\x12$\n\x06result\x18\x01 \x01(\x0b\x32\x14.google.protobuf.Any\",\n\x0cSyncedFolder\x1a\x1c\n\nUsableResp\x12\x0e\n\x06usable\x18\x01 \x01(\x08\"\xbe\x03\n\x03Ref\x1aK\n\x03\x42ox\x12\x13\n\x0bresource_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\x12\x10\n\x08provider\x18\x04 \x01(\t\x1a\x38\n\x05\x42\x61sis\x12\x13\n\x0bresource_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x1ak\n\x07Project\x12\x13\n\x0bresource_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12/\n\x05\x62\x61sis\x18\x03 \x01(\x0b\x32 .hashicorp.vagrant.sdk.Ref.Basis\x12\x0c\n\x04name\x18\x04 \x01(\t\x1a`\n\x06Target\x12\x13\n\x0bresource_id\x18\x01 \x01(\t\x12\x33\n\x07project\x18\x02 \x01(\x0b\x32\".hashicorp.vagrant.sdk.Ref.Project\x12\x0c\n\x04name\x18\x03 \x01(\t\x1a\x61\n\x07Machine\x12\x13\n\x0bresource_id\x18\x01 \x01(\t\x12\x33\n\x07project\x18\x02 \x01(\x0b\x32\".hashicorp.vagrant.sdk.Ref.Project\x12\x0c\n\x04name\x18\x03 \x01(\t\"d\n\x05\x42\x61sis\x1a)\n\x12ResourceIdResponse\x12\x13\n\x0bresource_id\x18\x01 \x01(\t\x1a\x30\n\x17\x44\x65\x66\x61ultProviderResponse\x12\x15\n\rprovider_name\x18\x01 \x01(\t\"\xce\t\n\x06Target\x1a)\n\x12ResourceIdResponse\x12\x13\n\x0bresource_id\x18\x01 \x01(\t\x1a\x36\n\x0eRecordResponse\x12$\n\x06record\x18\x01 \x01(\x0b\x32\x14.google.protobuf.Any\x1a\x1c\n\x0cNameResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a\x46\n\x0fProjectResponse\x12\x33\n\x07project\x18\x01 \x01(\x0b\x32\".hashicorp.vagrant.sdk.Ref.Project\x1a\x1e\n\x0eSetNameRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a\'\n\x17VagrantfileNameResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x1aI\n\x17VagrantfilePathResponse\x12.\n\x04path\x18\x01 \x01(\x0b\x32 .hashicorp.vagrant.sdk.Args.Path\x1a\x43\n\x11UpdatedAtResponse\x12.\n\nupdated_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\x1f\n\x0fGetUUIDResponse\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x1a\x1e\n\x0eSetUUIDRequest\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x1a\xe0\x05\n\x07Machine\x1aH\n\x0b\x42oxResponse\x12\x31\n\x03\x62ox\x18\x01 \x01(\x0b\x32\x1f.hashicorp.vagrant.sdk.Args.BoxH\x00\x88\x01\x01\x42\x06\n\x04_box\x1a\x1a\n\x0cSetIDRequest\x12\n\n\x02id\x18\x01 \x01(\t\x1a\x1b\n\rGetIDResponse\x12\n\n\x02id\x18\x01 \x01(\t\x1aR\n\x0fSetStateRequest\x12?\n\x05state\x18\x01 \x01(\x0b\x32\x30.hashicorp.vagrant.sdk.Args.Target.Machine.State\x1aS\n\x10GetStateResponse\x12?\n\x05state\x18\x01 \x01(\x0b\x32\x30.hashicorp.vagrant.sdk.Args.Target.Machine.State\x1a\x1e\n\x0bUIDResponse\x12\x0f\n\x07user_id\x18\x01 \x01(\t\x1a\x88\x03\n\x15SyncedFoldersResponse\x12g\n\x0esynced_folders\x18\x01 \x03(\x0b\x32O.hashicorp.vagrant.sdk.Target.Machine.SyncedFoldersResponse.MachineSyncedFolder\x1a`\n\x06\x46older\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\t\x12\x31\n\x07options\x18\x03 \x01(\x0b\x32 .hashicorp.vagrant.sdk.Args.Hash\x1a\xa3\x01\n\x13MachineSyncedFolder\x12\x38\n\x06plugin\x18\x01 \x01(\x0b\x32(.hashicorp.vagrant.sdk.Args.SyncedFolder\x12R\n\x06\x66older\x18\x02 \x01(\x0b\x32\x42.hashicorp.vagrant.sdk.Target.Machine.SyncedFoldersResponse.Folder\"\xa4\x05\n\x07Project\x1aL\n\x15\x41\x63tiveTargetsResponse\x12\x33\n\x07targets\x18\x01 \x03(\x0b\x32\".hashicorp.vagrant.sdk.Args.Target\x1aU\n\x0e\x43onfigResponse\x12\x43\n\x0bvagrantfile\x18\x01 \x01(\x0b\x32..hashicorp.vagrant.sdk.Vagrantfile.Vagrantfile\x1a\x1b\n\x0b\x43wdResponse\x12\x0c\n\x04path\x18\x01 \x01(\t\x1al\n\x16\x44\x65\x66\x61ultProviderRequest\x12\x14\n\x0c\x63heck_usable\x18\x01 \x01(\x08\x12\x0f\n\x07\x65xclude\x18\x02 \x03(\t\x12\x15\n\rforce_default\x18\x03 \x01(\x08\x12\x14\n\x0cmachine_name\x18\x04 \x01(\t\x1a\x30\n\x17\x44\x65\x66\x61ultProviderResponse\x12\x15\n\rprovider_name\x18\x01 \x01(\t\x1a\x1c\n\x0cHomeResponse\x12\x0c\n\x04path\x18\x01 \x01(\t\x1a!\n\x11LocalDataResponse\x12\x0c\n\x04path\x18\x01 \x01(\t\x1a)\n\x19PrimaryTargetNameResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a)\n\x12ResourceIdResponse\x12\x13\n\x0bresource_id\x18\x01 \x01(\t\x1a/\n\rTargetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08provider\x18\x02 \x01(\t\x1a$\n\x13TargetNamesResponse\x12\r\n\x05names\x18\x01 \x03(\t\x1a \n\x11TargetIdsResponse\x12\x0b\n\x03ids\x18\x01 \x03(\t\x1a\'\n\x17VagrantfileNameResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x8d\x17\n\x0bVagrantfile\x1a\x1c\n\x0cValueRequest\x12\x0c\n\x04path\x18\x01 \x03(\t\x1a\x1a\n\nSerialized\x12\x0c\n\x04json\x18\x01 \x01(\x0c\x1a\"\n\rBoxCollection\x12\x11\n\tdirectory\x18\x01 \x01(\t\x1a%\n\x10NamespaceRequest\x12\x11\n\tnamespace\x18\x01 \x01(\t\x1a/\n\rTargetRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08provider\x18\x02 \x01(\t\x1a\x44\n\x0eTargetResponse\x12\x32\n\x06target\x18\x01 \x01(\x0b\x32\".hashicorp.vagrant.sdk.Args.Target\x1aP\n\x13TargetConfigRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08provider\x18\x02 \x01(\t\x12\x19\n\x11validate_provider\x18\x05 \x01(\x08\x1a_\n\x14TargetConfigResponse\x12G\n\rtarget_config\x18\x01 \x01(\x0b\x32\x30.hashicorp.vagrant.sdk.Vagrantfile.MachineConfig\x1a$\n\x13TargetNamesResponse\x12\r\n\x05names\x18\x01 \x03(\t\x1a)\n\x19PrimaryTargetNameResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a\xf5\x08\n\x08\x43onfigVM\x12#\n\x1b\x61llowed_synced_folder_types\x18\x01 \x03(\t\x12 \n\x18\x61llow_fstab_modification\x18\x02 \x01(\x08\x12\x1f\n\x17\x61llow_hosts_modificaion\x18\x03 \x01(\x08\x12\x10\n\x08\x62\x61se_mac\x18\x04 \x01(\t\x12\x14\n\x0c\x62\x61se_address\x18\x05 \x01(\t\x12\x14\n\x0c\x62oot_timeout\x18\x06 \x01(\x05\x12\x0b\n\x03\x62ox\x18\x07 \x01(\t\x12\x1e\n\x16ignore_box_vagrantfile\x18\x08 \x01(\x08\x12\x18\n\x10\x62ox_check_update\x18\t \x01(\x08\x12\x0f\n\x07\x62ox_url\x18\n \x03(\t\x12\x16\n\x0e\x62ox_server_url\x18\x0b \x01(\t\x12\x13\n\x0b\x62ox_version\x18\x0c \x01(\t\x12\x1c\n\x14\x62ox_download_ca_cert\x18\r \x01(\t\x12\x1c\n\x14\x62ox_download_ca_path\x18\x0e \x01(\t\x12\x1d\n\x15\x62ox_download_checksum\x18\x0f \x01(\t\x12\"\n\x1a\x62ox_download_checksum_type\x18\x10 \x01(\t\x12 \n\x18\x62ox_download_client_cert\x18\x11 \x01(\t\x12\x1d\n\x15\x62ox_download_insecure\x18\x12 \x01(\x08\x12%\n\x1d\x62ox_download_location_trusted\x18\x13 \x01(\x08\x12\x61\n\x14\x62ox_download_options\x18\x14 \x03(\x0b\x32\x43.hashicorp.vagrant.sdk.Vagrantfile.ConfigVM.BoxDownloadOptionsEntry\x12\x14\n\x0c\x63ommunicator\x18\x15 \x01(\t\x12\x1d\n\x15graceful_halt_timeout\x18\x16 \x01(\x05\x12\r\n\x05guest\x18\x17 \x01(\t\x12\x10\n\x08hostname\x18\x18 \x01(\t\x12\x17\n\x0fpost_up_message\x18\x19 \x01(\t\x12\x19\n\x11usable_port_range\x18\x1a \x03(\x05\x12\"\n\x1a\x62ox_extra_download_options\x18\x1b \x03(\t\x12>\n\tproviders\x18\x1d \x03(\x0b\x32+.hashicorp.vagrant.sdk.Vagrantfile.Provider\x12<\n\x08networks\x18\x1f \x03(\x0b\x32*.hashicorp.vagrant.sdk.Vagrantfile.Network\x12\x44\n\x0cprovisioners\x18 \x03(\x0b\x32..hashicorp.vagrant.sdk.Vagrantfile.Provisioner\x12G\n\x0esynced_folders\x18! \x03(\x0b\x32/.hashicorp.vagrant.sdk.Vagrantfile.SyncedFolder\x1a\x39\n\x17\x42oxDownloadOptionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x41\n\rConfigVagrant\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0f\n\x07plugins\x18\x02 \x03(\t\x12\x11\n\tsensitive\x18\x03 \x03(\t\x1a\x43\n\rGeneralConfig\x12\x0c\n\x04type\x18\x01 \x01(\t\x12$\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any\x1a\xf1\x01\n\rMachineConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12>\n\tconfig_vm\x18\x02 \x01(\x0b\x32+.hashicorp.vagrant.sdk.Vagrantfile.ConfigVM\x12H\n\x0e\x63onfig_vagrant\x18\x03 \x01(\x0b\x32\x30.hashicorp.vagrant.sdk.Vagrantfile.ConfigVagrant\x12H\n\x0eplugin_configs\x18\x04 \x03(\x0b\x32\x30.hashicorp.vagrant.sdk.Vagrantfile.GeneralConfig\x1a\x8d\x01\n\x0bProvisioner\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0e\n\x06\x62\x65\x66ore\x18\x03 \x01(\t\x12\r\n\x05\x61\x66ter\x18\x04 \x01(\t\x12\x1d\n\x15\x63ommunicator_required\x18\x05 \x01(\x08\x12$\n\x06\x63onfig\x18\x06 \x01(\x0b\x32\x14.google.protobuf.Any\x1a>\n\x08Provider\x12\x0c\n\x04type\x18\x01 \x01(\t\x12$\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any\x1aI\n\x07Network\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\t\x12$\n\x06\x63onfig\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\x1a\xf6\x01\n\x0cSyncedFolder\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\t\x12$\n\x06\x63onfig\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\x12\x0e\n\x06\x63reate\x18\x04 \x01(\x08\x12\x10\n\x08\x64isabled\x18\x05 \x01(\x08\x12\x12\n\x05group\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\n\n\x02id\x18\x07 \x01(\t\x12\x15\n\rmount_options\x18\x08 \x03(\t\x12\x12\n\x05owner\x18\t \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04type\x18\n \x01(\tH\x02\x88\x01\x01\x42\x08\n\x06_groupB\x08\n\x06_ownerB\x07\n\x05_type\x1a\\\n\nPushConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x30.hashicorp.vagrant.sdk.Vagrantfile.GeneralConfig\x1a\x97\x02\n\x0bVagrantfile\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0b\n\x03raw\x18\x02 \x01(\t\x12\x17\n\x0f\x63urrent_version\x18\x03 \x01(\t\x12I\n\x0fmachine_configs\x18\x04 \x03(\x0b\x32\x30.hashicorp.vagrant.sdk.Vagrantfile.MachineConfig\x12\x43\n\x0cpush_configs\x18\x05 \x03(\x0b\x32-.hashicorp.vagrant.sdk.Vagrantfile.PushConfig\x12\x44\n\x0cprovisioners\x18\x06 \x03(\x0b\x32..hashicorp.vagrant.sdk.Vagrantfile.Provisioner\"\x95\x01\n\x0bTargetIndex\x1a\x1e\n\x10TargetIdentifier\x12\n\n\x02id\x18\x01 \x01(\t\x1a\x42\n\x0b\x41llResponse\x12\x33\n\x07targets\x18\x01 \x03(\x0b\x32\".hashicorp.vagrant.sdk.Args.Target\x1a\"\n\x10IncludesResponse\x12\x0e\n\x06\x65xists\x18\x01 \x01(\x08\"\x93\x05\n\x03\x42ox\x1a\x36\n#AutomaticUpdateCheckAllowedResponse\x12\x0f\n\x07\x61llowed\x18\x01 \x01(\x08\x1a#\n\x10HasUpdateRequest\x12\x0f\n\x07version\x18\x01 \x01(\t\x1a\'\n\x11HasUpdateResponse\x12\x12\n\nhas_update\x18\x01 \x01(\x08\x1a\x8e\x01\n\x12UpdateInfoResponse\x12\x12\n\nhas_update\x18\x01 \x01(\x08\x12\x39\n\x08metadata\x18\x02 \x01(\x0b\x32\'.hashicorp.vagrant.sdk.Args.BoxMetadata\x12\x13\n\x0bnew_version\x18\x03 \x01(\t\x12\x14\n\x0cnew_provider\x18\x04 \x01(\t\x1a\x1f\n\rInUseResponse\x12\x0e\n\x06in_use\x18\x01 \x01(\x08\x1aP\n\x10MachinesResponse\x12<\n\x08machines\x18\x01 \x03(\x0b\x32*.hashicorp.vagrant.sdk.Args.Target.Machine\x1aI\n\x13\x42oxMetadataResponse\x12\x32\n\x08metadata\x18\x01 \x01(\x0b\x32 .hashicorp.vagrant.sdk.Args.Hash\x1a+\n\x13MetadataUrlResponse\x12\x14\n\x0cmetadata_url\x18\x01 \x01(\t\x1a\x1c\n\x0cNameResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a$\n\x10ProviderResponse\x12\x10\n\x08provider\x18\x01 \x01(\t\x1a\"\n\x0fVersionResponse\x12\x0f\n\x07version\x18\x01 \x01(\t\x1a\"\n\x10\x45qualityResponse\x12\x0e\n\x06result\x18\x01 \x01(\x05\"\xc2\x02\n\rBoxCollection\x1a\x92\x01\n\nAddRequest\x12.\n\x04path\x18\x01 \x01(\x0b\x32 .hashicorp.vagrant.sdk.Args.Path\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\x12\x13\n\x0bmetadataUrl\x18\x04 \x01(\t\x12\r\n\x05\x66orce\x18\x05 \x01(\x08\x12\x11\n\tproviders\x18\x06 \x03(\t\x1a=\n\x0b\x41llResponse\x12.\n\x05\x62oxes\x18\x01 \x03(\x0b\x32\x1f.hashicorp.vagrant.sdk.Args.Box\x1a\x1c\n\x0c\x43leanRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a?\n\x0b\x46indRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x11\n\tproviders\x18\x03 \x03(\t\"\xb2\x05\n\x0b\x42oxMetadata\x1aU\n\x0f\x42oxMetadataOpts\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x10\n\x08\x63hecksum\x18\x03 \x01(\t\x12\x15\n\rchecksum_type\x18\x04 \x01(\t\x1a\"\n\x13LoadMetadataRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\x1a\x1c\n\x0cNameResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a\x61\n\x0cVersionQuery\x12\x0f\n\x07version\x18\x01 \x01(\t\x12@\n\x04opts\x18\x02 \x03(\x0b\x32\x32.hashicorp.vagrant.sdk.BoxMetadata.BoxMetadataOpts\x1aG\n\x0fVersionResponse\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x1aU\n\x11ListVersionsQuery\x12@\n\x04opts\x18\x01 \x03(\x0b\x32\x32.hashicorp.vagrant.sdk.BoxMetadata.BoxMetadataOpts\x1a(\n\x14ListVersionsResponse\x12\x10\n\x08versions\x18\x01 \x03(\t\x1a\x30\n\x0fProviderRequest\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x1aV\n\x10ProviderResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x10\n\x08\x63hecksum\x18\x03 \x01(\t\x12\x15\n\rchecksum_type\x18\x04 \x01(\t\x1a\'\n\x14ListProvidersRequest\x12\x0f\n\x07version\x18\x01 \x01(\t\x1a*\n\x15ListProvidersResponse\x12\x11\n\tproviders\x18\x01 \x03(\t2\x95\x03\n\x11TerminalUIService\x12Q\n\x06Output\x12/.hashicorp.vagrant.sdk.TerminalUI.OutputRequest\x1a\x16.google.protobuf.Empty\x12\x61\n\x06\x45vents\x12\'.hashicorp.vagrant.sdk.TerminalUI.Event\x1a*.hashicorp.vagrant.sdk.TerminalUI.Response(\x01\x30\x01\x12`\n\rIsInteractive\x12\x16.google.protobuf.Empty\x1a\x37.hashicorp.vagrant.sdk.TerminalUI.IsInteractiveResponse\x12h\n\x11IsMachineReadable\x12\x16.google.protobuf.Empty\x1a;.hashicorp.vagrant.sdk.TerminalUI.IsMachineReadableResponse2\xa8\x01\n\x06Mapper\x12N\n\x0bListMappers\x12\x16.google.protobuf.Empty\x1a\'.hashicorp.vagrant.sdk.Map.ListResponse\x12N\n\x03Map\x12\".hashicorp.vagrant.sdk.Map.Request\x1a#.hashicorp.vagrant.sdk.Map.Response2\x9e\x03\n\x0fStateBagService\x12^\n\x03Get\x12*.hashicorp.vagrant.sdk.StateBag.GetRequest\x1a+.hashicorp.vagrant.sdk.StateBag.GetResponse\x12\x62\n\x05GetOk\x12*.hashicorp.vagrant.sdk.StateBag.GetRequest\x1a-.hashicorp.vagrant.sdk.StateBag.GetOkResponse\x12^\n\x03Put\x12*.hashicorp.vagrant.sdk.StateBag.PutRequest\x1a+.hashicorp.vagrant.sdk.StateBag.PutResponse\x12g\n\x06Remove\x12-.hashicorp.vagrant.sdk.StateBag.RemoveRequest\x1a..hashicorp.vagrant.sdk.StateBag.RemoveResponse2\x99\x02\n\x11PluginInfoService\x12Y\n\x0e\x43omponentTypes\x12\x16.google.protobuf.Empty\x1a/.hashicorp.vagrant.sdk.PluginInfo.ComponentList\x12\x61\n\x10\x43omponentOptions\x12\x16.google.protobuf.Empty\x1a\x35.hashicorp.vagrant.sdk.PluginInfo.ComponentOptionsMap\x12\x46\n\x04Name\x12\x16.google.protobuf.Empty\x1a&.hashicorp.vagrant.sdk.PluginInfo.Name2\xf7\x01\n\x14PluginManagerService\x12x\n\x0bListPlugins\x12\x33.hashicorp.vagrant.sdk.PluginManager.PluginsRequest\x1a\x34.hashicorp.vagrant.sdk.PluginManager.PluginsResponse\x12\x65\n\tGetPlugin\x12+.hashicorp.vagrant.sdk.PluginManager.Plugin\x1a+.hashicorp.vagrant.sdk.PluginManager.Plugin2\x9f\x01\n\x18\x43orePluginManagerService\x12\x82\x01\n\tGetPlugin\x12\x39.hashicorp.vagrant.sdk.CorePluginManager.GetPluginRequest\x1a:.hashicorp.vagrant.sdk.CorePluginManager.GetPluginResponse2\xc7\r\n\x0fProviderService\x12Z\n\x06Usable\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a*.hashicorp.vagrant.sdk.Provider.UsableResp\x12\x45\n\nUsableSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12`\n\tInstalled\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a-.hashicorp.vagrant.sdk.Provider.InstalledResp\x12H\n\rInstalledSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12O\n\x06\x41\x63tion\x12-.hashicorp.vagrant.sdk.Provider.ActionRequest\x1a\x16.google.protobuf.Empty\x12\\\n\nActionSpec\x12-.hashicorp.vagrant.sdk.Provider.ActionRequest\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12P\n\x10MachineIdChanged\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a\x16.google.protobuf.Empty\x12O\n\x14MachineIdChangedSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12_\n\x07SshInfo\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a..hashicorp.vagrant.sdk.Args.Connection.SSHInfo\x12\x46\n\x0bSshInfoSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12_\n\x05State\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a\x30.hashicorp.vagrant.sdk.Args.Target.Machine.State\x12\x44\n\tStateSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12v\n\nCapability\x12\x37.hashicorp.vagrant.sdk.Platform.Capability.NamedRequest\x1a/.hashicorp.vagrant.sdk.Platform.Capability.Resp\x12j\n\x0e\x43\x61pabilitySpec\x12\x37.hashicorp.vagrant.sdk.Platform.Capability.NamedRequest\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12k\n\rHasCapability\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a\x34.hashicorp.vagrant.sdk.Platform.Capability.CheckResp\x12L\n\x11HasCapabilitySpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12\x41\n\x04Seed\x12!.hashicorp.vagrant.sdk.Args.Seeds\x1a\x16.google.protobuf.Empty\x12\x42\n\x05Seeds\x12\x16.google.protobuf.Empty\x1a!.hashicorp.vagrant.sdk.Args.Seeds\x12O\n\rSetPluginName\x12&.hashicorp.vagrant.sdk.PluginInfo.Name\x1a\x16.google.protobuf.Empty\x12L\n\nPluginName\x12\x16.google.protobuf.Empty\x1a&.hashicorp.vagrant.sdk.PluginInfo.Name2\xf5\x05\n\x12ProvisionerService\x12H\n\rConfigureSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12I\n\tConfigure\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a\x16.google.protobuf.Empty\x12H\n\rProvisionSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12I\n\tProvision\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a\x16.google.protobuf.Empty\x12\x46\n\x0b\x43leanupSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12G\n\x07\x43leanup\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a\x16.google.protobuf.Empty\x12\x41\n\x04Seed\x12!.hashicorp.vagrant.sdk.Args.Seeds\x1a\x16.google.protobuf.Empty\x12\x42\n\x05Seeds\x12\x16.google.protobuf.Empty\x1a!.hashicorp.vagrant.sdk.Args.Seeds\x12O\n\rSetPluginName\x12&.hashicorp.vagrant.sdk.PluginInfo.Name\x1a\x16.google.protobuf.Empty\x12L\n\nPluginName\x12\x16.google.protobuf.Empty\x1a&.hashicorp.vagrant.sdk.PluginInfo.Name2\xa8\x05\n\x0e\x43ommandService\x12]\n\x0b\x45xecuteSpec\x12-.hashicorp.vagrant.sdk.Command.ExecuteSpecReq\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12`\n\x07\x45xecute\x12).hashicorp.vagrant.sdk.Command.ExecuteReq\x1a*.hashicorp.vagrant.sdk.Command.ExecuteResp\x12J\n\x0f\x43ommandInfoSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12\x63\n\x0b\x43ommandInfo\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a..hashicorp.vagrant.sdk.Command.CommandInfoResp\x12\x41\n\x04Seed\x12!.hashicorp.vagrant.sdk.Args.Seeds\x1a\x16.google.protobuf.Empty\x12\x42\n\x05Seeds\x12\x16.google.protobuf.Empty\x1a!.hashicorp.vagrant.sdk.Args.Seeds\x12O\n\rSetPluginName\x12&.hashicorp.vagrant.sdk.PluginInfo.Name\x1a\x16.google.protobuf.Empty\x12L\n\nPluginName\x12\x16.google.protobuf.Empty\x1a&.hashicorp.vagrant.sdk.PluginInfo.Name2\xf8\x0e\n\x13\x43ommunicatorService\x12\x44\n\tMatchSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12\\\n\x05Match\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a-.hashicorp.vagrant.sdk.Communicator.MatchResp\x12\x43\n\x08InitSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12\x44\n\x04Init\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a\x16.google.protobuf.Empty\x12\x44\n\tReadySpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12\\\n\x05Ready\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a-.hashicorp.vagrant.sdk.Communicator.ReadyResp\x12K\n\x10WaitForReadySpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12\x63\n\x0cWaitForReady\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a-.hashicorp.vagrant.sdk.Communicator.ReadyResp\x12G\n\x0c\x44ownloadSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12H\n\x08\x44ownload\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a\x16.google.protobuf.Empty\x12\x45\n\nUploadSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12\x46\n\x06Upload\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a\x16.google.protobuf.Empty\x12\x46\n\x0b\x45xecuteSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12`\n\x07\x45xecute\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a/.hashicorp.vagrant.sdk.Communicator.ExecuteResp\x12P\n\x15PrivilegedExecuteSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12j\n\x11PrivilegedExecute\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a/.hashicorp.vagrant.sdk.Communicator.ExecuteResp\x12\x43\n\x08TestSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12Z\n\x04Test\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a,.hashicorp.vagrant.sdk.Communicator.TestResp\x12\x44\n\tResetSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12\x45\n\x05Reset\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a\x16.google.protobuf.Empty\x12\x41\n\x04Seed\x12!.hashicorp.vagrant.sdk.Args.Seeds\x1a\x16.google.protobuf.Empty\x12\x42\n\x05Seeds\x12\x16.google.protobuf.Empty\x1a!.hashicorp.vagrant.sdk.Args.Seeds\x12O\n\rSetPluginName\x12&.hashicorp.vagrant.sdk.PluginInfo.Name\x1a\x16.google.protobuf.Empty\x12L\n\nPluginName\x12\x16.google.protobuf.Empty\x1a&.hashicorp.vagrant.sdk.PluginInfo.Name2\x95\x08\n\rConfigService\x12\x43\n\x08InitSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12X\n\x04Init\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a*.hashicorp.vagrant.sdk.Config.InitResponse\x12\x45\n\nStructSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12\\\n\x06Struct\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a,.hashicorp.vagrant.sdk.Config.StructResponse\x12\x44\n\tMergeSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12U\n\x05Merge\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a&.hashicorp.vagrant.sdk.Args.ConfigData\x12G\n\x0c\x46inalizeSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12`\n\x08\x46inalize\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a..hashicorp.vagrant.sdk.Config.FinalizeResponse\x12R\n\x08Register\x12\x16.google.protobuf.Empty\x1a..hashicorp.vagrant.sdk.Config.RegisterResponse\x12\x41\n\x04Seed\x12!.hashicorp.vagrant.sdk.Args.Seeds\x1a\x16.google.protobuf.Empty\x12\x42\n\x05Seeds\x12\x16.google.protobuf.Empty\x1a!.hashicorp.vagrant.sdk.Args.Seeds\x12O\n\rSetPluginName\x12&.hashicorp.vagrant.sdk.PluginInfo.Name\x1a\x16.google.protobuf.Empty\x12L\n\nPluginName\x12\x16.google.protobuf.Empty\x1a&.hashicorp.vagrant.sdk.PluginInfo.Name2\x98\x08\n\x0bHostService\x12Z\n\x06\x44\x65tect\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a*.hashicorp.vagrant.sdk.Platform.DetectResp\x12\x45\n\nDetectSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12v\n\nCapability\x12\x37.hashicorp.vagrant.sdk.Platform.Capability.NamedRequest\x1a/.hashicorp.vagrant.sdk.Platform.Capability.Resp\x12j\n\x0e\x43\x61pabilitySpec\x12\x37.hashicorp.vagrant.sdk.Platform.Capability.NamedRequest\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12k\n\rHasCapability\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a\x34.hashicorp.vagrant.sdk.Platform.Capability.CheckResp\x12L\n\x11HasCapabilitySpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12Z\n\x06Parent\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a*.hashicorp.vagrant.sdk.Platform.ParentResp\x12\x45\n\nParentSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12\x41\n\x04Seed\x12!.hashicorp.vagrant.sdk.Args.Seeds\x1a\x16.google.protobuf.Empty\x12\x42\n\x05Seeds\x12\x16.google.protobuf.Empty\x1a!.hashicorp.vagrant.sdk.Args.Seeds\x12O\n\rSetPluginName\x12&.hashicorp.vagrant.sdk.PluginInfo.Name\x1a\x16.google.protobuf.Empty\x12L\n\nPluginName\x12\x16.google.protobuf.Empty\x1a&.hashicorp.vagrant.sdk.PluginInfo.Name2\x99\x08\n\x0cGuestService\x12Z\n\x06\x44\x65tect\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a*.hashicorp.vagrant.sdk.Platform.DetectResp\x12\x45\n\nDetectSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12v\n\nCapability\x12\x37.hashicorp.vagrant.sdk.Platform.Capability.NamedRequest\x1a/.hashicorp.vagrant.sdk.Platform.Capability.Resp\x12j\n\x0e\x43\x61pabilitySpec\x12\x37.hashicorp.vagrant.sdk.Platform.Capability.NamedRequest\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12k\n\rHasCapability\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a\x34.hashicorp.vagrant.sdk.Platform.Capability.CheckResp\x12L\n\x11HasCapabilitySpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12Z\n\x06Parent\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a*.hashicorp.vagrant.sdk.Platform.ParentResp\x12\x45\n\nParentSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12\x41\n\x04Seed\x12!.hashicorp.vagrant.sdk.Args.Seeds\x1a\x16.google.protobuf.Empty\x12\x42\n\x05Seeds\x12\x16.google.protobuf.Empty\x1a!.hashicorp.vagrant.sdk.Args.Seeds\x12O\n\rSetPluginName\x12&.hashicorp.vagrant.sdk.PluginInfo.Name\x1a\x16.google.protobuf.Empty\x12L\n\nPluginName\x12\x16.google.protobuf.Empty\x1a&.hashicorp.vagrant.sdk.PluginInfo.Name2\xc3\x0b\n\x13SyncedFolderService\x12^\n\x06Usable\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a..hashicorp.vagrant.sdk.SyncedFolder.UsableResp\x12\x45\n\nUsableSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12\x46\n\x06\x45nable\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a\x16.google.protobuf.Empty\x12\x45\n\nEnableSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12G\n\x07Prepare\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a\x16.google.protobuf.Empty\x12\x46\n\x0bPrepareSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12G\n\x07\x44isable\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a\x16.google.protobuf.Empty\x12\x46\n\x0b\x44isableSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12G\n\x07\x43leanup\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a\x16.google.protobuf.Empty\x12\x46\n\x0b\x43leanupSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12v\n\nCapability\x12\x37.hashicorp.vagrant.sdk.Platform.Capability.NamedRequest\x1a/.hashicorp.vagrant.sdk.Platform.Capability.Resp\x12j\n\x0e\x43\x61pabilitySpec\x12\x37.hashicorp.vagrant.sdk.Platform.Capability.NamedRequest\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12k\n\rHasCapability\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a\x34.hashicorp.vagrant.sdk.Platform.Capability.CheckResp\x12L\n\x11HasCapabilitySpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12\x41\n\x04Seed\x12!.hashicorp.vagrant.sdk.Args.Seeds\x1a\x16.google.protobuf.Empty\x12\x42\n\x05Seeds\x12\x16.google.protobuf.Empty\x1a!.hashicorp.vagrant.sdk.Args.Seeds\x12O\n\rSetPluginName\x12&.hashicorp.vagrant.sdk.PluginInfo.Name\x1a\x16.google.protobuf.Empty\x12L\n\nPluginName\x12\x16.google.protobuf.Empty\x1a&.hashicorp.vagrant.sdk.PluginInfo.Name2\x9f\x07\n\x0c\x42\x61sisService\x12J\n\x05\x42oxes\x12\x16.google.protobuf.Empty\x1a).hashicorp.vagrant.sdk.Args.BoxCollection\x12?\n\x03\x43WD\x12\x16.google.protobuf.Empty\x1a .hashicorp.vagrant.sdk.Args.Path\x12L\n\x07\x44\x61taDir\x12\x16.google.protobuf.Empty\x1a).hashicorp.vagrant.sdk.Args.DataDir.Basis\x12M\n\x11\x44\x65\x66\x61ultPrivateKey\x12\x16.google.protobuf.Empty\x1a .hashicorp.vagrant.sdk.Args.Path\x12_\n\x0f\x44\x65\x66\x61ultProvider\x12\x16.google.protobuf.Empty\x1a\x34.hashicorp.vagrant.sdk.Basis.DefaultProviderResponse\x12@\n\x04Host\x12\x16.google.protobuf.Empty\x1a .hashicorp.vagrant.sdk.Args.Host\x12U\n\nResourceId\x12\x16.google.protobuf.Empty\x1a/.hashicorp.vagrant.sdk.Basis.ResourceIdResponse\x12N\n\x0bTargetIndex\x12\x16.google.protobuf.Empty\x1a\'.hashicorp.vagrant.sdk.Args.TargetIndex\x12N\n\x0bVagrantfile\x12\x16.google.protobuf.Empty\x1a\'.hashicorp.vagrant.sdk.Args.Vagrantfile\x12\x44\n\x02UI\x12\x16.google.protobuf.Empty\x1a&.hashicorp.vagrant.sdk.Args.TerminalUI\x12\x41\n\x04Seed\x12!.hashicorp.vagrant.sdk.Args.Seeds\x1a\x16.google.protobuf.Empty\x12\x42\n\x05Seeds\x12\x16.google.protobuf.Empty\x1a!.hashicorp.vagrant.sdk.Args.Seeds2\xae\x0b\n\rTargetService\x12V\n\nResourceId\x12\x16.google.protobuf.Empty\x1a\x30.hashicorp.vagrant.sdk.Target.ResourceIdResponse\x12N\n\x06Record\x12\x16.google.protobuf.Empty\x1a,.hashicorp.vagrant.sdk.Target.RecordResponse\x12J\n\x04Name\x12\x16.google.protobuf.Empty\x1a*.hashicorp.vagrant.sdk.Target.NameResponse\x12O\n\x07SetName\x12,.hashicorp.vagrant.sdk.Target.SetNameRequest\x1a\x16.google.protobuf.Empty\x12\x46\n\x07Project\x12\x16.google.protobuf.Empty\x1a#.hashicorp.vagrant.sdk.Args.Project\x12K\n\x08Metadata\x12\x16.google.protobuf.Empty\x1a\'.hashicorp.vagrant.sdk.Args.MetadataSet\x12M\n\x07\x44\x61taDir\x12\x16.google.protobuf.Empty\x1a*.hashicorp.vagrant.sdk.Args.DataDir.Target\x12I\n\x05State\x12\x16.google.protobuf.Empty\x1a(.hashicorp.vagrant.sdk.Args.Target.State\x12\x44\n\x02UI\x12\x16.google.protobuf.Empty\x1a&.hashicorp.vagrant.sdk.Args.TerminalUI\x12\x38\n\nSpecialize\x12\x14.google.protobuf.Any\x1a\x14.google.protobuf.Any\x12H\n\x08Provider\x12\x16.google.protobuf.Empty\x1a$.hashicorp.vagrant.sdk.Args.Provider\x12R\n\x0cProviderName\x12\x16.google.protobuf.Empty\x1a*.hashicorp.vagrant.sdk.Target.NameResponse\x12T\n\tUpdatedAt\x12\x16.google.protobuf.Empty\x1a/.hashicorp.vagrant.sdk.Target.UpdatedAtResponse\x12O\n\x0b\x43ommunicate\x12\x16.google.protobuf.Empty\x1a(.hashicorp.vagrant.sdk.Args.Communicator\x12\x36\n\x04Save\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\x12O\n\x07SetUUID\x12,.hashicorp.vagrant.sdk.Target.SetUUIDRequest\x1a\x16.google.protobuf.Empty\x12P\n\x07GetUUID\x12\x16.google.protobuf.Empty\x1a-.hashicorp.vagrant.sdk.Target.GetUUIDResponse\x12\x39\n\x07\x44\x65stroy\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\x12N\n\x0bVagrantfile\x12\x16.google.protobuf.Empty\x1a\'.hashicorp.vagrant.sdk.Args.Vagrantfile2\xf3\x11\n\x14TargetMachineService\x12V\n\nResourceId\x12\x16.google.protobuf.Empty\x1a\x30.hashicorp.vagrant.sdk.Target.ResourceIdResponse\x12N\n\x06Record\x12\x16.google.protobuf.Empty\x1a,.hashicorp.vagrant.sdk.Target.RecordResponse\x12J\n\x04Name\x12\x16.google.protobuf.Empty\x1a*.hashicorp.vagrant.sdk.Target.NameResponse\x12O\n\x07SetName\x12,.hashicorp.vagrant.sdk.Target.SetNameRequest\x1a\x16.google.protobuf.Empty\x12\x46\n\x07Project\x12\x16.google.protobuf.Empty\x1a#.hashicorp.vagrant.sdk.Args.Project\x12K\n\x08Metadata\x12\x16.google.protobuf.Empty\x1a\'.hashicorp.vagrant.sdk.Args.MetadataSet\x12M\n\x07\x44\x61taDir\x12\x16.google.protobuf.Empty\x1a*.hashicorp.vagrant.sdk.Args.DataDir.Target\x12I\n\x05State\x12\x16.google.protobuf.Empty\x1a(.hashicorp.vagrant.sdk.Args.Target.State\x12\x44\n\x02UI\x12\x16.google.protobuf.Empty\x1a&.hashicorp.vagrant.sdk.Args.TerminalUI\x12\x38\n\nSpecialize\x12\x14.google.protobuf.Any\x1a\x14.google.protobuf.Any\x12H\n\x08Provider\x12\x16.google.protobuf.Empty\x1a$.hashicorp.vagrant.sdk.Args.Provider\x12R\n\x0cProviderName\x12\x16.google.protobuf.Empty\x1a*.hashicorp.vagrant.sdk.Target.NameResponse\x12T\n\tUpdatedAt\x12\x16.google.protobuf.Empty\x1a/.hashicorp.vagrant.sdk.Target.UpdatedAtResponse\x12O\n\x0b\x43ommunicate\x12\x16.google.protobuf.Empty\x1a(.hashicorp.vagrant.sdk.Args.Communicator\x12\x36\n\x04Save\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\x12O\n\x07SetUUID\x12,.hashicorp.vagrant.sdk.Target.SetUUIDRequest\x1a\x16.google.protobuf.Empty\x12P\n\x07GetUUID\x12\x16.google.protobuf.Empty\x1a-.hashicorp.vagrant.sdk.Target.GetUUIDResponse\x12\x39\n\x07\x44\x65stroy\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\x12N\n\x0bVagrantfile\x12\x16.google.protobuf.Empty\x1a\'.hashicorp.vagrant.sdk.Args.Vagrantfile\x12S\n\x05SetID\x12\x32.hashicorp.vagrant.sdk.Target.Machine.SetIDRequest\x1a\x16.google.protobuf.Empty\x12T\n\x05GetID\x12\x16.google.protobuf.Empty\x1a\x33.hashicorp.vagrant.sdk.Target.Machine.GetIDResponse\x12Y\n\x08SetState\x12\x35.hashicorp.vagrant.sdk.Target.Machine.SetStateRequest\x1a\x16.google.protobuf.Empty\x12T\n\x08GetState\x12\x16.google.protobuf.Empty\x1a\x30.hashicorp.vagrant.sdk.Args.Target.Machine.State\x12P\n\x03\x42ox\x12\x16.google.protobuf.Empty\x1a\x31.hashicorp.vagrant.sdk.Target.Machine.BoxResponse\x12\x42\n\x05Guest\x12\x16.google.protobuf.Empty\x1a!.hashicorp.vagrant.sdk.Args.Guest\x12J\n\x0e\x43onnectionInfo\x12\x16.google.protobuf.Empty\x1a .hashicorp.vagrant.sdk.Args.Hash\x12P\n\x03UID\x12\x16.google.protobuf.Empty\x1a\x31.hashicorp.vagrant.sdk.Target.Machine.UIDResponse\x12\x64\n\rSyncedFolders\x12\x16.google.protobuf.Empty\x1a;.hashicorp.vagrant.sdk.Target.Machine.SyncedFoldersResponse\x12\x46\n\x08\x41sTarget\x12\x16.google.protobuf.Empty\x1a\".hashicorp.vagrant.sdk.Args.Target2\xa5\x0e\n\x0eProjectService\x12]\n\rActiveTargets\x12\x16.google.protobuf.Empty\x1a\x34.hashicorp.vagrant.sdk.Project.ActiveTargetsResponse\x12J\n\x05\x42oxes\x12\x16.google.protobuf.Empty\x1a).hashicorp.vagrant.sdk.Args.BoxCollection\x12O\n\x06\x43onfig\x12\x16.google.protobuf.Empty\x1a-.hashicorp.vagrant.sdk.Project.ConfigResponse\x12?\n\x03\x43WD\x12\x16.google.protobuf.Empty\x1a .hashicorp.vagrant.sdk.Args.Path\x12N\n\x07\x44\x61taDir\x12\x16.google.protobuf.Empty\x1a+.hashicorp.vagrant.sdk.Args.DataDir.Project\x12M\n\x11\x44\x65\x66\x61ultPrivateKey\x12\x16.google.protobuf.Empty\x1a .hashicorp.vagrant.sdk.Args.Path\x12\x80\x01\n\x0f\x44\x65\x66\x61ultProvider\x12\x35.hashicorp.vagrant.sdk.Project.DefaultProviderRequest\x1a\x36.hashicorp.vagrant.sdk.Project.DefaultProviderResponse\x12@\n\x04Home\x12\x16.google.protobuf.Empty\x1a .hashicorp.vagrant.sdk.Args.Path\x12@\n\x04Host\x12\x16.google.protobuf.Empty\x1a .hashicorp.vagrant.sdk.Args.Host\x12\x45\n\tLocalData\x12\x16.google.protobuf.Empty\x1a .hashicorp.vagrant.sdk.Args.Path\x12\x65\n\x11PrimaryTargetName\x12\x16.google.protobuf.Empty\x1a\x38.hashicorp.vagrant.sdk.Project.PrimaryTargetNameResponse\x12W\n\nResourceId\x12\x16.google.protobuf.Empty\x1a\x31.hashicorp.vagrant.sdk.Project.ResourceIdResponse\x12\x44\n\x08RootPath\x12\x16.google.protobuf.Empty\x1a .hashicorp.vagrant.sdk.Args.Path\x12Z\n\x06Target\x12,.hashicorp.vagrant.sdk.Project.TargetRequest\x1a\".hashicorp.vagrant.sdk.Args.Target\x12U\n\tTargetIds\x12\x16.google.protobuf.Empty\x1a\x30.hashicorp.vagrant.sdk.Project.TargetIdsResponse\x12N\n\x0bTargetIndex\x12\x16.google.protobuf.Empty\x1a\'.hashicorp.vagrant.sdk.Args.TargetIndex\x12Y\n\x0bTargetNames\x12\x16.google.protobuf.Empty\x1a\x32.hashicorp.vagrant.sdk.Project.TargetNamesResponse\x12?\n\x03Tmp\x12\x16.google.protobuf.Empty\x1a .hashicorp.vagrant.sdk.Args.Path\x12\x44\n\x02UI\x12\x16.google.protobuf.Empty\x1a&.hashicorp.vagrant.sdk.Args.TerminalUI\x12N\n\x0bVagrantfile\x12\x16.google.protobuf.Empty\x1a\'.hashicorp.vagrant.sdk.Args.Vagrantfile\x12\x61\n\x0fVagrantfileName\x12\x16.google.protobuf.Empty\x1a\x36.hashicorp.vagrant.sdk.Project.VagrantfileNameResponse\x12K\n\x0fVagrantfilePath\x12\x16.google.protobuf.Empty\x1a .hashicorp.vagrant.sdk.Args.Path2\xfa\x04\n\x12VagrantfileService\x12_\n\x08GetValue\x12/.hashicorp.vagrant.sdk.Vagrantfile.ValueRequest\x1a\".hashicorp.vagrant.sdk.Args.Direct\x12h\n\tGetConfig\x12\x33.hashicorp.vagrant.sdk.Vagrantfile.NamespaceRequest\x1a&.hashicorp.vagrant.sdk.Args.ConfigData\x12^\n\x06Target\x12\x30.hashicorp.vagrant.sdk.Vagrantfile.TargetRequest\x1a\".hashicorp.vagrant.sdk.Args.Target\x12o\n\x0cTargetConfig\x12\x36.hashicorp.vagrant.sdk.Vagrantfile.TargetConfigRequest\x1a\'.hashicorp.vagrant.sdk.Args.Vagrantfile\x12]\n\x0bTargetNames\x12\x16.google.protobuf.Empty\x1a\x36.hashicorp.vagrant.sdk.Vagrantfile.TargetNamesResponse\x12i\n\x11PrimaryTargetName\x12\x16.google.protobuf.Empty\x1a<.hashicorp.vagrant.sdk.Vagrantfile.PrimaryTargetNameResponse2\xdf\x03\n\x12TargetIndexService\x12U\n\x06\x44\x65lete\x12\x33.hashicorp.vagrant.sdk.TargetIndex.TargetIdentifier\x1a\x16.google.protobuf.Empty\x12^\n\x03Get\x12\x33.hashicorp.vagrant.sdk.TargetIndex.TargetIdentifier\x1a\".hashicorp.vagrant.sdk.Args.Target\x12t\n\x08Includes\x12\x33.hashicorp.vagrant.sdk.TargetIndex.TargetIdentifier\x1a\x33.hashicorp.vagrant.sdk.TargetIndex.IncludesResponse\x12M\n\x03Set\x12\".hashicorp.vagrant.sdk.Args.Target\x1a\".hashicorp.vagrant.sdk.Args.Target\x12M\n\x03\x41ll\x12\x16.google.protobuf.Empty\x1a..hashicorp.vagrant.sdk.TargetIndex.AllResponse2\x99\n\n\nBoxService\x12u\n\x1b\x41utomaticUpdateCheckAllowed\x12\x16.google.protobuf.Empty\x1a>.hashicorp.vagrant.sdk.Box.AutomaticUpdateCheckAllowedResponse\x12\x39\n\x07\x44\x65stroy\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\x12\x66\n\tHasUpdate\x12+.hashicorp.vagrant.sdk.Box.HasUpdateRequest\x1a,.hashicorp.vagrant.sdk.Box.HasUpdateResponse\x12h\n\nUpdateInfo\x12+.hashicorp.vagrant.sdk.Box.HasUpdateRequest\x1a-.hashicorp.vagrant.sdk.Box.UpdateInfoResponse\x12Z\n\x05InUse\x12\'.hashicorp.vagrant.sdk.Args.TargetIndex\x1a(.hashicorp.vagrant.sdk.Box.InUseResponse\x12`\n\x08Machines\x12\'.hashicorp.vagrant.sdk.Args.TargetIndex\x1a+.hashicorp.vagrant.sdk.Box.MachinesResponse\x12\x45\n\tRepackage\x12 .hashicorp.vagrant.sdk.Args.Path\x1a\x16.google.protobuf.Empty\x12\x45\n\tDirectory\x12\x16.google.protobuf.Empty\x1a .hashicorp.vagrant.sdk.Args.Path\x12K\n\x08Metadata\x12\x16.google.protobuf.Empty\x1a\'.hashicorp.vagrant.sdk.Args.BoxMetadata\x12U\n\x0b\x42oxMetadata\x12\x16.google.protobuf.Empty\x1a..hashicorp.vagrant.sdk.Box.BoxMetadataResponse\x12U\n\x0bMetadataURL\x12\x16.google.protobuf.Empty\x1a..hashicorp.vagrant.sdk.Box.MetadataUrlResponse\x12G\n\x04Name\x12\x16.google.protobuf.Empty\x1a\'.hashicorp.vagrant.sdk.Box.NameResponse\x12O\n\x08Provider\x12\x16.google.protobuf.Empty\x1a+.hashicorp.vagrant.sdk.Box.ProviderResponse\x12M\n\x07Version\x12\x16.google.protobuf.Empty\x1a*.hashicorp.vagrant.sdk.Box.VersionResponse\x12W\n\x07\x43ompare\x12\x1f.hashicorp.vagrant.sdk.Args.Box\x1a+.hashicorp.vagrant.sdk.Box.EqualityResponse2\xef\x02\n\x14\x42oxCollectionService\x12W\n\x03\x41\x64\x64\x12/.hashicorp.vagrant.sdk.BoxCollection.AddRequest\x1a\x1f.hashicorp.vagrant.sdk.Args.Box\x12O\n\x03\x41ll\x12\x16.google.protobuf.Empty\x1a\x30.hashicorp.vagrant.sdk.BoxCollection.AllResponse\x12R\n\x05\x43lean\x12\x31.hashicorp.vagrant.sdk.BoxCollection.CleanRequest\x1a\x16.google.protobuf.Empty\x12Y\n\x04\x46ind\x12\x30.hashicorp.vagrant.sdk.BoxCollection.FindRequest\x1a\x1f.hashicorp.vagrant.sdk.Args.Box2\xb1\x05\n\x12\x42oxMetadataService\x12R\n\x07\x42oxName\x12\x16.google.protobuf.Empty\x1a/.hashicorp.vagrant.sdk.BoxMetadata.NameResponse\x12^\n\x0cLoadMetadata\x12\x36.hashicorp.vagrant.sdk.BoxMetadata.LoadMetadataRequest\x1a\x16.google.protobuf.Empty\x12n\n\x07Version\x12/.hashicorp.vagrant.sdk.BoxMetadata.VersionQuery\x1a\x32.hashicorp.vagrant.sdk.BoxMetadata.VersionResponse\x12}\n\x0cListVersions\x12\x34.hashicorp.vagrant.sdk.BoxMetadata.ListVersionsQuery\x1a\x37.hashicorp.vagrant.sdk.BoxMetadata.ListVersionsResponse\x12s\n\x08Provider\x12\x32.hashicorp.vagrant.sdk.BoxMetadata.ProviderRequest\x1a\x33.hashicorp.vagrant.sdk.BoxMetadata.ProviderResponse\x12\x82\x01\n\rListProviders\x12\x37.hashicorp.vagrant.sdk.BoxMetadata.ListProvidersRequest\x1a\x38.hashicorp.vagrant.sdk.BoxMetadata.ListProvidersResponse2\xbe\x03\n\x0bPushService\x12\x43\n\x08PushSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12\x44\n\x04Push\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a\x16.google.protobuf.Empty\x12\x41\n\x04Seed\x12!.hashicorp.vagrant.sdk.Args.Seeds\x1a\x16.google.protobuf.Empty\x12\x42\n\x05Seeds\x12\x16.google.protobuf.Empty\x1a!.hashicorp.vagrant.sdk.Args.Seeds\x12O\n\rSetPluginName\x12&.hashicorp.vagrant.sdk.PluginInfo.Name\x1a\x16.google.protobuf.Empty\x12L\n\nPluginName\x12\x16.google.protobuf.Empty\x1a&.hashicorp.vagrant.sdk.PluginInfo.Name2\xcc\x03\n\x11\x44ownloaderService\x12G\n\x0c\x44ownloadSpec\x12\x16.google.protobuf.Empty\x1a\x1f.hashicorp.vagrant.sdk.FuncSpec\x12H\n\x08\x44ownload\x12$.hashicorp.vagrant.sdk.FuncSpec.Args\x1a\x16.google.protobuf.Empty\x12\x41\n\x04Seed\x12!.hashicorp.vagrant.sdk.Args.Seeds\x1a\x16.google.protobuf.Empty\x12\x42\n\x05Seeds\x12\x16.google.protobuf.Empty\x1a!.hashicorp.vagrant.sdk.Args.Seeds\x12O\n\rSetPluginName\x12&.hashicorp.vagrant.sdk.PluginInfo.Name\x1a\x16.google.protobuf.Empty\x12L\n\nPluginName\x12\x16.google.protobuf.Empty\x1a&.hashicorp.vagrant.sdk.PluginInfo.NameBBZ@github.com/hashicorp/vagrant-plugin-sdk/proto/vagrant_plugin_sdkb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError => e + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["google.protobuf.Any", "google/protobuf/any.proto"], + ["google.rpc.Status", "google/rpc/status.proto"], + ["protostructure.Struct", "protostructure.proto"], + ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" end end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." end module Hashicorp @@ -1163,6 +179,8 @@ module Hashicorp Config::Finalize = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Config.Finalize").msgclass Config::Fields = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Config.Fields").msgclass Config::Structure = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Config.Structure").msgclass + Config::InitResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Config.InitResponse").msgclass + Config::FinalizeResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Config.FinalizeResponse").msgclass Config::RawRubyValue = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Config.RawRubyValue").msgclass Config::StructResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Config.StructResponse").msgclass Config::ConfigureRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.sdk.Config.ConfigureRequest").msgclass diff --git a/lib/vagrant/protobufs/proto/vagrant_plugin_sdk/plugin_services_pb.rb b/lib/vagrant/protobufs/proto/vagrant_plugin_sdk/plugin_services_pb.rb index cdaeb4da7..1b4605fff 100644 --- a/lib/vagrant/protobufs/proto/vagrant_plugin_sdk/plugin_services_pb.rb +++ b/lib/vagrant/protobufs/proto/vagrant_plugin_sdk/plugin_services_pb.rb @@ -1,5 +1,9 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # Source: vagrant_plugin_sdk/plugin.proto for package 'hashicorp.vagrant.sdk' +# Original file comments: +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 +# require 'grpc' require 'vagrant_plugin_sdk/plugin_pb' @@ -251,12 +255,14 @@ module Hashicorp self.unmarshal_class_method = :decode self.service_name = 'hashicorp.vagrant.sdk.ConfigService' + rpc :InitSpec, ::Google::Protobuf::Empty, ::Hashicorp::Vagrant::Sdk::FuncSpec + rpc :Init, ::Hashicorp::Vagrant::Sdk::FuncSpec::Args, ::Hashicorp::Vagrant::Sdk::Config::InitResponse rpc :StructSpec, ::Google::Protobuf::Empty, ::Hashicorp::Vagrant::Sdk::FuncSpec rpc :Struct, ::Hashicorp::Vagrant::Sdk::FuncSpec::Args, ::Hashicorp::Vagrant::Sdk::Config::StructResponse rpc :MergeSpec, ::Google::Protobuf::Empty, ::Hashicorp::Vagrant::Sdk::FuncSpec rpc :Merge, ::Hashicorp::Vagrant::Sdk::FuncSpec::Args, ::Hashicorp::Vagrant::Sdk::Args::ConfigData rpc :FinalizeSpec, ::Google::Protobuf::Empty, ::Hashicorp::Vagrant::Sdk::FuncSpec - rpc :Finalize, ::Hashicorp::Vagrant::Sdk::FuncSpec::Args, ::Hashicorp::Vagrant::Sdk::Args::ConfigData + rpc :Finalize, ::Hashicorp::Vagrant::Sdk::FuncSpec::Args, ::Hashicorp::Vagrant::Sdk::Config::FinalizeResponse rpc :Register, ::Google::Protobuf::Empty, ::Hashicorp::Vagrant::Sdk::Config::RegisterResponse rpc :Seed, ::Hashicorp::Vagrant::Sdk::Args::Seeds, ::Google::Protobuf::Empty rpc :Seeds, ::Google::Protobuf::Empty, ::Hashicorp::Vagrant::Sdk::Args::Seeds diff --git a/lib/vagrant/protobufs/proto/vagrant_server/server_pb.rb b/lib/vagrant/protobufs/proto/vagrant_server/server_pb.rb index 6e65a5b10..c23c72ecd 100644 --- a/lib/vagrant/protobufs/proto/vagrant_server/server_pb.rb +++ b/lib/vagrant/protobufs/proto/vagrant_server/server_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: proto/vagrant_server/server.proto @@ -10,823 +11,37 @@ require 'google/rpc/status_pb' require 'google/protobuf/struct_pb' require 'protostructure_pb' require 'plugin_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("proto/vagrant_server/server.proto", :syntax => :proto3) do - add_message "hashicorp.vagrant.GetVersionInfoResponse" do - optional :info, :message, 1, "hashicorp.vagrant.VersionInfo" - end - add_message "hashicorp.vagrant.VersionInfo" do - optional :api, :message, 1, "hashicorp.vagrant.VersionInfo.ProtocolVersion" - optional :entrypoint, :message, 2, "hashicorp.vagrant.VersionInfo.ProtocolVersion" - optional :version, :string, 3 - end - add_message "hashicorp.vagrant.VersionInfo.ProtocolVersion" do - optional :current, :uint32, 1 - optional :minimum, :uint32, 2 - end - add_message "hashicorp.vagrant.Vagrantfile" do - optional :unfinalized, :message, 1, "hashicorp.vagrant.sdk.Args.Hash" - optional :finalized, :message, 2, "hashicorp.vagrant.sdk.Args.Hash" - optional :raw, :bytes, 3 - optional :format, :enum, 4, "hashicorp.vagrant.Vagrantfile.Format" - optional :path, :message, 5, "hashicorp.vagrant.sdk.Args.Path" - end - add_enum "hashicorp.vagrant.Vagrantfile.Format" do - value :JSON, 0 - value :HCL, 1 - value :RUBY, 2 - end - add_message "hashicorp.vagrant.Basis" do - optional :resource_id, :string, 1 - optional :name, :string, 2 - optional :path, :string, 3 - repeated :projects, :message, 4, "hashicorp.vagrant.sdk.Ref.Project" - optional :metadata, :message, 5, "hashicorp.vagrant.sdk.Args.MetadataSet" - optional :configuration, :message, 6, "hashicorp.vagrant.Vagrantfile" - optional :remote_enabled, :bool, 100 - optional :data_source, :message, 101, "hashicorp.vagrant.Job.DataSource" - end - add_message "hashicorp.vagrant.Project" do - optional :resource_id, :string, 1 - optional :name, :string, 2 - optional :path, :string, 3 - repeated :targets, :message, 4, "hashicorp.vagrant.sdk.Ref.Target" - optional :basis, :message, 5, "hashicorp.vagrant.sdk.Ref.Basis" - optional :metadata, :message, 6, "hashicorp.vagrant.sdk.Args.MetadataSet" - optional :configuration, :message, 7, "hashicorp.vagrant.Vagrantfile" - optional :remote_enabled, :bool, 100 - optional :data_source, :message, 101, "hashicorp.vagrant.Job.DataSource" - end - add_message "hashicorp.vagrant.Box" do - optional :resource_id, :string, 1 - optional :provider, :string, 2 - optional :version, :string, 3 - optional :directory, :string, 4 - optional :metadata, :message, 5, "google.protobuf.Struct" - optional :metadata_url, :string, 6 - optional :name, :string, 7 - optional :last_update, :message, 8, "google.protobuf.Timestamp" - end - add_message "hashicorp.vagrant.Target" do - optional :resource_id, :string, 1 - optional :datadir, :message, 2, "hashicorp.vagrant.sdk.Args.DataDir.Target" - optional :name, :string, 3 - optional :project, :message, 4, "hashicorp.vagrant.sdk.Ref.Project" - optional :state, :enum, 5, "hashicorp.vagrant.Operation.PhysicalState" - repeated :subtargets, :message, 6, "hashicorp.vagrant.sdk.Ref.Target" - optional :parent, :message, 7, "hashicorp.vagrant.sdk.Ref.Target" - optional :uuid, :string, 8 - optional :metadata, :message, 9, "hashicorp.vagrant.sdk.Args.MetadataSet" - optional :configuration, :message, 10, "hashicorp.vagrant.sdk.Args.ConfigData" - optional :record, :message, 11, "google.protobuf.Any" - optional :provider, :string, 12 - end - add_message "hashicorp.vagrant.Target.Machine" do - optional :id, :string, 1 - optional :box, :message, 7, "hashicorp.vagrant.Box" - optional :uid, :string, 9 - optional :state, :message, 10, "hashicorp.vagrant.sdk.Args.Target.Machine.State" - end - add_message "hashicorp.vagrant.Ref" do - end - add_message "hashicorp.vagrant.Ref.Component" do - optional :type, :enum, 1, "hashicorp.vagrant.Component.Type" - optional :name, :string, 2 - end - add_message "hashicorp.vagrant.Ref.Operation" do - oneof :target do - optional :id, :string, 1 - optional :target_sequence, :message, 2, "hashicorp.vagrant.Ref.TargetOperationSeq" - optional :project_sequence, :message, 3, "hashicorp.vagrant.Ref.ProjectOperationSeq" - optional :basis_sequence, :message, 4, "hashicorp.vagrant.Ref.BasisOperationSeq" - end - end - add_message "hashicorp.vagrant.Ref.TargetOperationSeq" do - optional :target, :message, 1, "hashicorp.vagrant.sdk.Ref.Target" - optional :number, :uint64, 2 - end - add_message "hashicorp.vagrant.Ref.ProjectOperationSeq" do - optional :project, :message, 1, "hashicorp.vagrant.sdk.Ref.Project" - optional :number, :uint64, 2 - end - add_message "hashicorp.vagrant.Ref.BasisOperationSeq" do - optional :basis, :message, 1, "hashicorp.vagrant.sdk.Ref.Basis" - optional :number, :uint64, 2 - end - add_message "hashicorp.vagrant.Ref.Runner" do - oneof :target do - optional :any, :message, 1, "hashicorp.vagrant.Ref.RunnerAny" - optional :id, :message, 2, "hashicorp.vagrant.Ref.RunnerId" - end - end - add_message "hashicorp.vagrant.Ref.RunnerId" do - optional :id, :string, 1 - end - add_message "hashicorp.vagrant.Ref.RunnerAny" do - end - add_message "hashicorp.vagrant.Ref.Vagrantfile" do - optional :resource_id, :string, 1 - end - add_message "hashicorp.vagrant.Component" do - optional :type, :enum, 1, "hashicorp.vagrant.Component.Type" - optional :name, :string, 2 - optional :server_addr, :string, 3 - end - add_enum "hashicorp.vagrant.Component.Type" do - value :UNKNOWN, 0 - value :COMMAND, 1 - value :COMMUNICATOR, 2 - value :GUEST, 3 - value :HOST, 4 - value :PROVIDER, 5 - value :PROVISIONER, 6 - value :SYNCEDFOLDER, 7 - value :AUTHENTICATOR, 8 - value :LOGPLATFORM, 9 - value :LOGVIEWER, 10 - value :MAPPER, 11 - value :CONFIG, 12 - value :PLUGININFO, 13 - value :PUSH, 14 - value :DOWNLOADER, 15 - end - add_message "hashicorp.vagrant.Status" do - optional :state, :enum, 1, "hashicorp.vagrant.Status.State" - optional :details, :string, 2 - optional :error, :message, 3, "google.rpc.Status" - optional :start_time, :message, 4, "google.protobuf.Timestamp" - optional :complete_time, :message, 5, "google.protobuf.Timestamp" - end - add_enum "hashicorp.vagrant.Status.State" do - value :UNKNOWN, 0 - value :RUNNING, 1 - value :SUCCESS, 2 - value :ERROR, 3 - end - add_message "hashicorp.vagrant.StatusFilter" do - repeated :filters, :message, 1, "hashicorp.vagrant.StatusFilter.Filter" - end - add_message "hashicorp.vagrant.StatusFilter.Filter" do - oneof :filter do - optional :state, :enum, 2, "hashicorp.vagrant.Status.State" - end - end - add_message "hashicorp.vagrant.Operation" do - end - add_enum "hashicorp.vagrant.Operation.PhysicalState" do - value :UNKNOWN, 0 - value :PENDING, 1 - value :CREATED, 2 - value :DESTROYED, 3 - value :HALTED, 4 - value :NOT_CREATED, 5 - end - add_message "hashicorp.vagrant.OperationOrder" do - optional :order, :enum, 2, "hashicorp.vagrant.OperationOrder.Order" - optional :desc, :bool, 3 - optional :limit, :uint32, 4 - end - add_enum "hashicorp.vagrant.OperationOrder.Order" do - value :UNSET, 0 - value :START_TIME, 1 - value :COMPLETE_TIME, 2 - end - add_message "hashicorp.vagrant.QueueJobRequest" do - optional :job, :message, 1, "hashicorp.vagrant.Job" - optional :expires_in, :string, 2 - end - add_message "hashicorp.vagrant.QueueJobResponse" do - optional :job_id, :string, 1 - end - add_message "hashicorp.vagrant.CancelJobRequest" do - optional :job_id, :string, 1 - end - add_message "hashicorp.vagrant.ValidateJobRequest" do - optional :job, :message, 1, "hashicorp.vagrant.Job" - optional :disable_assign, :bool, 2 - end - add_message "hashicorp.vagrant.ValidateJobResponse" do - optional :valid, :bool, 1 - optional :validation_error, :message, 2, "google.rpc.Status" - optional :assignable, :bool, 3 - end - add_message "hashicorp.vagrant.Job" do - optional :id, :string, 1 - optional :target_runner, :message, 5, "hashicorp.vagrant.Ref.Runner" - map :labels, :string, :string, 6 - optional :data_source, :message, 7, "hashicorp.vagrant.Job.DataSource" - map :data_source_overrides, :string, :string, 8 - optional :state, :enum, 100, "hashicorp.vagrant.Job.State" - optional :assigned_runner, :message, 101, "hashicorp.vagrant.Ref.RunnerId" - optional :queue_time, :message, 102, "google.protobuf.Timestamp" - optional :assign_time, :message, 103, "google.protobuf.Timestamp" - optional :ack_time, :message, 104, "google.protobuf.Timestamp" - optional :complete_time, :message, 105, "google.protobuf.Timestamp" - optional :error, :message, 106, "google.rpc.Status" - optional :result, :message, 107, "hashicorp.vagrant.Job.Result" - optional :cancel_time, :message, 108, "google.protobuf.Timestamp" - optional :expire_time, :message, 109, "google.protobuf.Timestamp" - oneof :scope do - optional :basis, :message, 2, "hashicorp.vagrant.sdk.Ref.Basis" - optional :project, :message, 3, "hashicorp.vagrant.sdk.Ref.Project" - optional :target, :message, 4, "hashicorp.vagrant.sdk.Ref.Target" - end - oneof :operation do - optional :noop, :message, 50, "hashicorp.vagrant.Job.Noop" - optional :auth, :message, 51, "hashicorp.vagrant.Job.AuthOp" - optional :docs, :message, 52, "hashicorp.vagrant.Job.DocsOp" - optional :validate, :message, 53, "hashicorp.vagrant.Job.ValidateOp" - optional :command, :message, 54, "hashicorp.vagrant.Job.CommandOp" - optional :init, :message, 55, "hashicorp.vagrant.Job.InitOp" - end - end - add_message "hashicorp.vagrant.Job.Result" do - optional :auth, :message, 1, "hashicorp.vagrant.Job.AuthResult" - optional :docs, :message, 2, "hashicorp.vagrant.Job.DocsResult" - optional :validate, :message, 3, "hashicorp.vagrant.Job.ValidateResult" - optional :init, :message, 4, "hashicorp.vagrant.Job.InitResult" - optional :run, :message, 5, "hashicorp.vagrant.Job.CommandResult" - end - add_message "hashicorp.vagrant.Job.DataSource" do - oneof :source do - optional :local, :message, 1, "hashicorp.vagrant.Job.Local" - optional :git, :message, 2, "hashicorp.vagrant.Job.Git" - end - end - add_message "hashicorp.vagrant.Job.Local" do - end - add_message "hashicorp.vagrant.Job.Git" do - optional :url, :string, 1 - optional :ref, :string, 2 - optional :path, :string, 3 - end - add_message "hashicorp.vagrant.Job.Noop" do - end - add_message "hashicorp.vagrant.Job.ValidateOp" do - end - add_message "hashicorp.vagrant.Job.ValidateResult" do - end - add_message "hashicorp.vagrant.Job.InitOp" do - end - add_message "hashicorp.vagrant.Job.InitResult" do - repeated :actions, :message, 1, "hashicorp.vagrant.Job.Action" - repeated :commands, :message, 2, "hashicorp.vagrant.sdk.Command.CommandInfo" - repeated :hooks, :message, 3, "hashicorp.vagrant.Job.Hook" - end - add_message "hashicorp.vagrant.Job.Action" do - optional :name, :string, 1 - optional :source, :string, 2 - end - add_message "hashicorp.vagrant.Job.Hook" do - optional :target_action_name, :string, 1 - optional :location, :enum, 2, "hashicorp.vagrant.Job.Hook.Location" - optional :action_name, :string, 3 - optional :source, :string, 4 - end - add_enum "hashicorp.vagrant.Job.Hook.Location" do - value :BEFORE, 0 - value :AFTER, 1 - end - add_message "hashicorp.vagrant.Job.CommandOp" do - optional :command, :string, 4 - optional :id, :string, 5 - optional :status, :message, 6, "hashicorp.vagrant.Status" - optional :state, :enum, 7, "hashicorp.vagrant.Operation.PhysicalState" - optional :component, :message, 8, "hashicorp.vagrant.Component" - map :labels, :string, :string, 9 - optional :job_id, :string, 10 - optional :cli_args, :message, 11, "hashicorp.vagrant.sdk.Command.Arguments" - optional :vagrantfile, :message, 12, "hashicorp.vagrant.Vagrantfile" - oneof :scope do - optional :target, :message, 1, "hashicorp.vagrant.sdk.Ref.Target" - optional :project, :message, 2, "hashicorp.vagrant.sdk.Ref.Project" - optional :basis, :message, 3, "hashicorp.vagrant.sdk.Ref.Basis" - end - end - add_message "hashicorp.vagrant.Job.CommandResult" do - optional :task, :message, 1, "hashicorp.vagrant.Operation" - optional :run_result, :bool, 2 - optional :run_error, :message, 3, "google.rpc.Status" - optional :exit_code, :sint32, 4 - end - add_message "hashicorp.vagrant.Job.AuthOp" do - optional :check_only, :bool, 1 - optional :component, :message, 2, "hashicorp.vagrant.Ref.Component" - end - add_message "hashicorp.vagrant.Job.AuthResult" do - repeated :results, :message, 1, "hashicorp.vagrant.Job.AuthResult.Result" - end - add_message "hashicorp.vagrant.Job.AuthResult.Result" do - optional :component, :message, 1, "hashicorp.vagrant.Component" - optional :check_result, :bool, 2 - optional :check_error, :message, 3, "google.rpc.Status" - optional :auth_completed, :bool, 4 - optional :auth_error, :message, 5, "google.rpc.Status" - optional :auth_supported, :bool, 6 - end - add_message "hashicorp.vagrant.Job.DocsOp" do - end - add_message "hashicorp.vagrant.Job.DocsResult" do - repeated :results, :message, 1, "hashicorp.vagrant.Job.DocsResult.Result" - end - add_message "hashicorp.vagrant.Job.DocsResult.Result" do - optional :component, :message, 1, "hashicorp.vagrant.Component" - optional :docs, :message, 2, "hashicorp.vagrant.Documentation" - end - add_enum "hashicorp.vagrant.Job.State" do - value :UNKNOWN, 0 - value :QUEUED, 1 - value :WAITING, 2 - value :RUNNING, 3 - value :ERROR, 4 - value :SUCCESS, 5 - end - add_message "hashicorp.vagrant.Documentation" do - optional :description, :string, 1 - optional :example, :string, 2 - optional :input, :string, 3 - optional :output, :string, 4 - map :fields, :string, :message, 5, "hashicorp.vagrant.Documentation.Field" - repeated :mappers, :message, 6, "hashicorp.vagrant.Documentation.Mapper" - end - add_message "hashicorp.vagrant.Documentation.Field" do - optional :name, :string, 1 - optional :synopsis, :string, 2 - optional :summary, :string, 3 - optional :optional, :bool, 4 - optional :env_var, :string, 5 - optional :type, :string, 6 - optional :default, :string, 7 - end - add_message "hashicorp.vagrant.Documentation.Mapper" do - optional :input, :string, 1 - optional :output, :string, 2 - optional :description, :string, 3 - end - add_message "hashicorp.vagrant.GetJobRequest" do - optional :job_id, :string, 1 - end - add_message "hashicorp.vagrant.ListJobsRequest" do - end - add_message "hashicorp.vagrant.ListJobsResponse" do - repeated :jobs, :message, 1, "hashicorp.vagrant.Job" - end - add_message "hashicorp.vagrant.GetJobStreamRequest" do - optional :job_id, :string, 1 - end - add_message "hashicorp.vagrant.GetJobStreamResponse" do - oneof :event do - optional :open, :message, 1, "hashicorp.vagrant.GetJobStreamResponse.Open" - optional :state, :message, 2, "hashicorp.vagrant.GetJobStreamResponse.State" - optional :terminal, :message, 3, "hashicorp.vagrant.GetJobStreamResponse.Terminal" - optional :error, :message, 4, "hashicorp.vagrant.GetJobStreamResponse.Error" - optional :complete, :message, 5, "hashicorp.vagrant.GetJobStreamResponse.Complete" - end - end - add_message "hashicorp.vagrant.GetJobStreamResponse.Open" do - end - add_message "hashicorp.vagrant.GetJobStreamResponse.State" do - optional :previous, :enum, 1, "hashicorp.vagrant.Job.State" - optional :current, :enum, 2, "hashicorp.vagrant.Job.State" - optional :job, :message, 3, "hashicorp.vagrant.Job" - optional :canceling, :bool, 4 - end - add_message "hashicorp.vagrant.GetJobStreamResponse.Terminal" do - repeated :events, :message, 1, "hashicorp.vagrant.GetJobStreamResponse.Terminal.Event" - optional :buffered, :bool, 2 - end - add_message "hashicorp.vagrant.GetJobStreamResponse.Terminal.Event" do - optional :timestamp, :message, 1, "google.protobuf.Timestamp" - oneof :event do - optional :line, :message, 2, "hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Line" - optional :status, :message, 3, "hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Status" - optional :named_values, :message, 4, "hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValues" - optional :raw, :message, 5, "hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Raw" - optional :table, :message, 6, "hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Table" - optional :step_group, :message, 7, "hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.StepGroup" - optional :step, :message, 8, "hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Step" - end - end - add_message "hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Status" do - optional :status, :string, 1 - optional :msg, :string, 2 - optional :step, :bool, 3 - end - add_message "hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Line" do - optional :msg, :string, 1 - optional :style, :string, 2 - optional :disable_new_line, :bool, 3 - optional :color, :string, 4 - end - add_message "hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Raw" do - optional :data, :bytes, 1 - optional :stderr, :bool, 2 - end - add_message "hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValue" do - optional :name, :string, 1 - optional :value, :string, 2 - end - add_message "hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValues" do - repeated :values, :message, 1, "hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValue" - end - add_message "hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableEntry" do - optional :value, :string, 1 - optional :color, :string, 2 - end - add_message "hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableRow" do - repeated :entries, :message, 1, "hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableEntry" - end - add_message "hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Table" do - repeated :headers, :string, 1 - repeated :rows, :message, 2, "hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableRow" - end - add_message "hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.StepGroup" do - optional :close, :bool, 1 - end - add_message "hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Step" do - optional :id, :int32, 1 - optional :close, :bool, 2 - optional :msg, :string, 3 - optional :status, :string, 4 - optional :output, :bytes, 5 - end - add_message "hashicorp.vagrant.GetJobStreamResponse.Error" do - optional :error, :message, 1, "google.rpc.Status" - end - add_message "hashicorp.vagrant.GetJobStreamResponse.Complete" do - optional :error, :message, 1, "google.rpc.Status" - optional :result, :message, 2, "hashicorp.vagrant.Job.Result" - end - add_message "hashicorp.vagrant.Runner" do - optional :id, :string, 1 - optional :by_id_only, :bool, 2 - repeated :components, :message, 3, "hashicorp.vagrant.Component" - end - add_message "hashicorp.vagrant.RunnerConfigRequest" do - oneof :event do - optional :open, :message, 1, "hashicorp.vagrant.RunnerConfigRequest.Open" - end - end - add_message "hashicorp.vagrant.RunnerConfigRequest.Open" do - optional :runner, :message, 1, "hashicorp.vagrant.Runner" - end - add_message "hashicorp.vagrant.RunnerConfigResponse" do - optional :config, :message, 2, "hashicorp.vagrant.RunnerConfig" - end - add_message "hashicorp.vagrant.RunnerConfig" do - repeated :config_vars, :message, 1, "hashicorp.vagrant.ConfigVar" - end - add_message "hashicorp.vagrant.RunnerJobStreamRequest" do - oneof :event do - optional :request, :message, 1, "hashicorp.vagrant.RunnerJobStreamRequest.Request" - optional :ack, :message, 2, "hashicorp.vagrant.RunnerJobStreamRequest.Ack" - optional :complete, :message, 3, "hashicorp.vagrant.RunnerJobStreamRequest.Complete" - optional :error, :message, 4, "hashicorp.vagrant.RunnerJobStreamRequest.Error" - optional :terminal, :message, 5, "hashicorp.vagrant.GetJobStreamResponse.Terminal" - optional :heartbeat, :message, 6, "hashicorp.vagrant.RunnerJobStreamRequest.Heartbeat" - end - end - add_message "hashicorp.vagrant.RunnerJobStreamRequest.Request" do - optional :runner_id, :string, 1 - end - add_message "hashicorp.vagrant.RunnerJobStreamRequest.Ack" do - end - add_message "hashicorp.vagrant.RunnerJobStreamRequest.Complete" do - optional :result, :message, 1, "hashicorp.vagrant.Job.Result" - end - add_message "hashicorp.vagrant.RunnerJobStreamRequest.Error" do - optional :error, :message, 1, "google.rpc.Status" - end - add_message "hashicorp.vagrant.RunnerJobStreamRequest.Heartbeat" do - end - add_message "hashicorp.vagrant.RunnerJobStreamResponse" do - oneof :event do - optional :assignment, :message, 1, "hashicorp.vagrant.RunnerJobStreamResponse.JobAssignment" - optional :cancel, :message, 2, "hashicorp.vagrant.RunnerJobStreamResponse.JobCancel" - end - end - add_message "hashicorp.vagrant.RunnerJobStreamResponse.JobAssignment" do - optional :job, :message, 1, "hashicorp.vagrant.Job" - end - add_message "hashicorp.vagrant.RunnerJobStreamResponse.JobCancel" do - optional :force, :bool, 1 - end - add_message "hashicorp.vagrant.GetRunnerRequest" do - optional :runner_id, :string, 1 - end - add_message "hashicorp.vagrant.UpsertBasisRequest" do - optional :basis, :message, 1, "hashicorp.vagrant.Basis" - end - add_message "hashicorp.vagrant.UpsertBasisResponse" do - optional :basis, :message, 1, "hashicorp.vagrant.Basis" - end - add_message "hashicorp.vagrant.GetBasisRequest" do - optional :basis, :message, 1, "hashicorp.vagrant.sdk.Ref.Basis" - end - add_message "hashicorp.vagrant.GetBasisResponse" do - optional :basis, :message, 1, "hashicorp.vagrant.Basis" - end - add_message "hashicorp.vagrant.FindBasisRequest" do - optional :basis, :message, 1, "hashicorp.vagrant.Basis" - end - add_message "hashicorp.vagrant.FindBasisResponse" do - optional :basis, :message, 2, "hashicorp.vagrant.Basis" - end - add_message "hashicorp.vagrant.ListBasisResponse" do - repeated :basis, :message, 1, "hashicorp.vagrant.sdk.Ref.Basis" - end - add_message "hashicorp.vagrant.UpsertProjectRequest" do - optional :project, :message, 1, "hashicorp.vagrant.Project" - end - add_message "hashicorp.vagrant.UpsertProjectResponse" do - optional :project, :message, 1, "hashicorp.vagrant.Project" - end - add_message "hashicorp.vagrant.GetProjectRequest" do - optional :project, :message, 1, "hashicorp.vagrant.sdk.Ref.Project" - end - add_message "hashicorp.vagrant.GetProjectResponse" do - optional :project, :message, 1, "hashicorp.vagrant.Project" - end - add_message "hashicorp.vagrant.FindProjectRequest" do - optional :project, :message, 1, "hashicorp.vagrant.Project" - end - add_message "hashicorp.vagrant.FindProjectResponse" do - optional :project, :message, 2, "hashicorp.vagrant.Project" - end - add_message "hashicorp.vagrant.ListProjectsResponse" do - repeated :projects, :message, 1, "hashicorp.vagrant.sdk.Ref.Project" - end - add_message "hashicorp.vagrant.UpsertTargetRequest" do - optional :project, :message, 1, "hashicorp.vagrant.sdk.Ref.Project" - optional :target, :message, 2, "hashicorp.vagrant.Target" - end - add_message "hashicorp.vagrant.UpsertTargetResponse" do - optional :target, :message, 1, "hashicorp.vagrant.Target" - end - add_message "hashicorp.vagrant.DeleteTargetRequest" do - optional :project, :message, 1, "hashicorp.vagrant.sdk.Ref.Project" - optional :target, :message, 2, "hashicorp.vagrant.sdk.Ref.Target" - end - add_message "hashicorp.vagrant.GetTargetRequest" do - optional :project, :message, 1, "hashicorp.vagrant.sdk.Ref.Project" - optional :target, :message, 2, "hashicorp.vagrant.sdk.Ref.Target" - end - add_message "hashicorp.vagrant.GetTargetResponse" do - optional :target, :message, 1, "hashicorp.vagrant.Target" - end - add_message "hashicorp.vagrant.FindTargetRequest" do - optional :target, :message, 1, "hashicorp.vagrant.Target" - end - add_message "hashicorp.vagrant.FindTargetResponse" do - optional :target, :message, 2, "hashicorp.vagrant.Target" - end - add_message "hashicorp.vagrant.ListTargetsResponse" do - repeated :targets, :message, 1, "hashicorp.vagrant.sdk.Ref.Target" - end - add_message "hashicorp.vagrant.UpsertBoxRequest" do - optional :box, :message, 1, "hashicorp.vagrant.Box" - end - add_message "hashicorp.vagrant.UpsertBoxResponse" do - optional :box, :message, 1, "hashicorp.vagrant.Box" - end - add_message "hashicorp.vagrant.DeleteBoxRequest" do - optional :box, :message, 1, "hashicorp.vagrant.sdk.Ref.Box" - end - add_message "hashicorp.vagrant.GetBoxRequest" do - optional :box, :message, 2, "hashicorp.vagrant.sdk.Ref.Box" - end - add_message "hashicorp.vagrant.GetBoxResponse" do - optional :box, :message, 1, "hashicorp.vagrant.Box" - end - add_message "hashicorp.vagrant.ListBoxesResponse" do - repeated :boxes, :message, 1, "hashicorp.vagrant.sdk.Ref.Box" - end - add_message "hashicorp.vagrant.FindBoxRequest" do - optional :box, :message, 2, "hashicorp.vagrant.sdk.Ref.Box" - end - add_message "hashicorp.vagrant.FindBoxResponse" do - optional :box, :message, 1, "hashicorp.vagrant.Box" - end - add_message "hashicorp.vagrant.GetLogStreamRequest" do - optional :limit_backlog, :int32, 4 - oneof :scope do - optional :basis, :message, 1, "hashicorp.vagrant.sdk.Ref.Basis" - optional :project, :message, 2, "hashicorp.vagrant.sdk.Ref.Project" - optional :target, :message, 3, "hashicorp.vagrant.sdk.Ref.Target" - end - end - add_message "hashicorp.vagrant.LogBatch" do - optional :deployment_id, :string, 1 - optional :instance_id, :string, 2 - repeated :lines, :message, 3, "hashicorp.vagrant.LogBatch.Entry" - end - add_message "hashicorp.vagrant.LogBatch.Entry" do - optional :timestamp, :message, 1, "google.protobuf.Timestamp" - optional :line, :string, 2 - end - add_message "hashicorp.vagrant.ConfigVar" do - optional :name, :string, 1 - optional :value, :string, 2 - oneof :scope do - optional :basis, :message, 3, "hashicorp.vagrant.sdk.Ref.Basis" - optional :project, :message, 4, "hashicorp.vagrant.sdk.Ref.Project" - optional :target, :message, 5, "hashicorp.vagrant.sdk.Ref.Target" - optional :runner, :message, 6, "hashicorp.vagrant.Ref.Runner" - end - end - add_message "hashicorp.vagrant.ConfigSetRequest" do - repeated :variables, :message, 1, "hashicorp.vagrant.ConfigVar" - end - add_message "hashicorp.vagrant.ConfigSetResponse" do - end - add_message "hashicorp.vagrant.ConfigGetRequest" do - optional :prefix, :string, 1 - oneof :scope do - optional :target, :message, 2, "hashicorp.vagrant.sdk.Ref.Target" - optional :project, :message, 3, "hashicorp.vagrant.sdk.Ref.Project" - optional :basis, :message, 4, "hashicorp.vagrant.sdk.Ref.Basis" - optional :runner, :message, 5, "hashicorp.vagrant.Ref.RunnerId" - end - end - add_message "hashicorp.vagrant.ConfigGetResponse" do - repeated :variables, :message, 1, "hashicorp.vagrant.ConfigVar" - end - add_message "hashicorp.vagrant.ExecStreamRequest" do - oneof :event do - optional :start, :message, 1, "hashicorp.vagrant.ExecStreamRequest.Start" - optional :input, :message, 2, "hashicorp.vagrant.ExecStreamRequest.Input" - optional :winch, :message, 3, "hashicorp.vagrant.ExecStreamRequest.WindowSize" - end - end - add_message "hashicorp.vagrant.ExecStreamRequest.Start" do - optional :deployment_id, :string, 1 - repeated :args, :string, 2 - optional :pty, :message, 3, "hashicorp.vagrant.ExecStreamRequest.PTY" - end - add_message "hashicorp.vagrant.ExecStreamRequest.Input" do - optional :data, :bytes, 1 - end - add_message "hashicorp.vagrant.ExecStreamRequest.PTY" do - optional :enable, :bool, 1 - optional :term, :string, 2 - optional :window_size, :message, 3, "hashicorp.vagrant.ExecStreamRequest.WindowSize" - end - add_message "hashicorp.vagrant.ExecStreamRequest.WindowSize" do - optional :rows, :int32, 1 - optional :cols, :int32, 2 - optional :width, :int32, 3 - optional :height, :int32, 4 - end - add_message "hashicorp.vagrant.ExecStreamResponse" do - oneof :event do - optional :open, :message, 3, "hashicorp.vagrant.ExecStreamResponse.Open" - optional :output, :message, 1, "hashicorp.vagrant.ExecStreamResponse.Output" - optional :exit, :message, 2, "hashicorp.vagrant.ExecStreamResponse.Exit" - end - end - add_message "hashicorp.vagrant.ExecStreamResponse.Open" do - end - add_message "hashicorp.vagrant.ExecStreamResponse.Exit" do - optional :code, :int32, 1 - end - add_message "hashicorp.vagrant.ExecStreamResponse.Output" do - optional :channel, :enum, 1, "hashicorp.vagrant.ExecStreamResponse.Output.Channel" - optional :data, :bytes, 2 - end - add_enum "hashicorp.vagrant.ExecStreamResponse.Output.Channel" do - value :UNKNOWN, 0 - value :STDOUT, 1 - value :STDERR, 2 - end - add_message "hashicorp.vagrant.EntrypointConfigRequest" do - optional :deployment_id, :string, 1 - optional :instance_id, :string, 2 - end - add_message "hashicorp.vagrant.EntrypointConfigResponse" do - optional :config, :message, 2, "hashicorp.vagrant.EntrypointConfig" - end - add_message "hashicorp.vagrant.EntrypointConfig" do - repeated :exec, :message, 1, "hashicorp.vagrant.EntrypointConfig.Exec" - repeated :env_vars, :message, 2, "hashicorp.vagrant.ConfigVar" - optional :url_service, :message, 3, "hashicorp.vagrant.EntrypointConfig.URLService" - end - add_message "hashicorp.vagrant.EntrypointConfig.Exec" do - optional :index, :int64, 1 - repeated :args, :string, 2 - optional :pty, :message, 3, "hashicorp.vagrant.ExecStreamRequest.PTY" - end - add_message "hashicorp.vagrant.EntrypointConfig.URLService" do - optional :control_addr, :string, 1 - optional :token, :string, 2 - optional :labels, :string, 3 - end - add_message "hashicorp.vagrant.EntrypointLogBatch" do - optional :instance_id, :string, 1 - repeated :lines, :message, 2, "hashicorp.vagrant.LogBatch.Entry" - end - add_message "hashicorp.vagrant.EntrypointExecRequest" do - oneof :event do - optional :open, :message, 1, "hashicorp.vagrant.EntrypointExecRequest.Open" - optional :exit, :message, 2, "hashicorp.vagrant.EntrypointExecRequest.Exit" - optional :output, :message, 3, "hashicorp.vagrant.EntrypointExecRequest.Output" - optional :error, :message, 4, "hashicorp.vagrant.EntrypointExecRequest.Error" - end - end - add_message "hashicorp.vagrant.EntrypointExecRequest.Open" do - optional :instance_id, :string, 1 - optional :index, :int64, 2 - end - add_message "hashicorp.vagrant.EntrypointExecRequest.Exit" do - optional :code, :int32, 1 - end - add_message "hashicorp.vagrant.EntrypointExecRequest.Output" do - optional :channel, :enum, 1, "hashicorp.vagrant.EntrypointExecRequest.Output.Channel" - optional :data, :bytes, 2 - end - add_enum "hashicorp.vagrant.EntrypointExecRequest.Output.Channel" do - value :UNKNOWN, 0 - value :STDOUT, 1 - value :STDERR, 2 - end - add_message "hashicorp.vagrant.EntrypointExecRequest.Error" do - optional :error, :message, 1, "google.rpc.Status" - end - add_message "hashicorp.vagrant.EntrypointExecResponse" do - oneof :event do - optional :input, :bytes, 1 - optional :winch, :message, 2, "hashicorp.vagrant.ExecStreamRequest.WindowSize" - optional :opened, :bool, 3 - end - end - add_message "hashicorp.vagrant.TokenTransport" do - optional :body, :bytes, 1 - optional :signature, :bytes, 2 - optional :key_id, :string, 3 - map :metadata, :string, :string, 4 - end - add_message "hashicorp.vagrant.Token" do - optional :user, :string, 1 - optional :token_id, :bytes, 2 - optional :valid_until, :message, 3, "google.protobuf.Timestamp" - optional :login, :bool, 4 - optional :invite, :bool, 5 - optional :entrypoint, :message, 6, "hashicorp.vagrant.Token.Entrypoint" - end - add_message "hashicorp.vagrant.Token.Entrypoint" do - optional :deployment_id, :string, 1 - end - add_message "hashicorp.vagrant.HMACKey" do - optional :id, :string, 1 - optional :key, :bytes, 2 - end - add_message "hashicorp.vagrant.InviteTokenRequest" do - optional :duration, :string, 1 - optional :entrypoint, :message, 2, "hashicorp.vagrant.Token.Entrypoint" - end - add_message "hashicorp.vagrant.NewTokenResponse" do - optional :token, :string, 1 - end - add_message "hashicorp.vagrant.ConvertInviteTokenRequest" do - optional :token, :string, 1 - end - add_message "hashicorp.vagrant.CreateSnapshotResponse" do - oneof :event do - optional :open, :message, 1, "hashicorp.vagrant.CreateSnapshotResponse.Open" - optional :chunk, :bytes, 2 - end - end - add_message "hashicorp.vagrant.CreateSnapshotResponse.Open" do - end - add_message "hashicorp.vagrant.RestoreSnapshotRequest" do - oneof :event do - optional :open, :message, 1, "hashicorp.vagrant.RestoreSnapshotRequest.Open" - optional :chunk, :bytes, 2 - end - end - add_message "hashicorp.vagrant.RestoreSnapshotRequest.Open" do - optional :exit, :bool, 1 - end - add_message "hashicorp.vagrant.Snapshot" do - end - add_message "hashicorp.vagrant.Snapshot.Header" do - optional :version, :message, 1, "hashicorp.vagrant.VersionInfo" - optional :format, :enum, 2, "hashicorp.vagrant.Snapshot.Header.Format" - end - add_enum "hashicorp.vagrant.Snapshot.Header.Format" do - value :UNKNOWN, 0 - value :BOLT, 1 - end - add_message "hashicorp.vagrant.Snapshot.Trailer" do - oneof :checksum do - optional :sha256, :string, 1 - end - end - add_message "hashicorp.vagrant.Snapshot.BoltChunk" do - optional :bucket, :string, 1 - map :items, :string, :bytes, 2 - optional :final, :bool, 3 + + +descriptor_data = "\n!proto/vagrant_server/server.proto\x12\x11hashicorp.vagrant\x1a\x19google/protobuf/any.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x14protostructure.proto\x1a\x0cplugin.proto\"F\n\x16GetVersionInfoResponse\x12,\n\x04info\x18\x01 \x01(\x0b\x32\x1e.hashicorp.vagrant.VersionInfo\"\xd4\x01\n\x0bVersionInfo\x12;\n\x03\x61pi\x18\x01 \x01(\x0b\x32..hashicorp.vagrant.VersionInfo.ProtocolVersion\x12\x42\n\nentrypoint\x18\x02 \x01(\x0b\x32..hashicorp.vagrant.VersionInfo.ProtocolVersion\x12\x0f\n\x07version\x18\x03 \x01(\t\x1a\x33\n\x0fProtocolVersion\x12\x0f\n\x07\x63urrent\x18\x01 \x01(\r\x12\x0f\n\x07minimum\x18\x02 \x01(\r\"\x94\x02\n\x0bVagrantfile\x12\x35\n\x0bunfinalized\x18\x01 \x01(\x0b\x32 .hashicorp.vagrant.sdk.Args.Hash\x12\x33\n\tfinalized\x18\x02 \x01(\x0b\x32 .hashicorp.vagrant.sdk.Args.Hash\x12\x0b\n\x03raw\x18\x03 \x01(\x0c\x12\x35\n\x06\x66ormat\x18\x04 \x01(\x0e\x32%.hashicorp.vagrant.Vagrantfile.Format\x12.\n\x04path\x18\x05 \x01(\x0b\x32 .hashicorp.vagrant.sdk.Args.Path\"%\n\x06\x46ormat\x12\x08\n\x04JSON\x10\x00\x12\x07\n\x03HCL\x10\x01\x12\x08\n\x04RUBY\x10\x02\"\xb0\x02\n\x05\x42\x61sis\x12\x13\n\x0bresource_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\x12\x34\n\x08projects\x18\x04 \x03(\x0b\x32\".hashicorp.vagrant.sdk.Ref.Project\x12\x39\n\x08metadata\x18\x05 \x01(\x0b\x32\'.hashicorp.vagrant.sdk.Args.MetadataSet\x12\x35\n\rconfiguration\x18\x06 \x01(\x0b\x32\x1e.hashicorp.vagrant.Vagrantfile\x12\x16\n\x0eremote_enabled\x18\x64 \x01(\x08\x12\x36\n\x0b\x64\x61ta_source\x18\x65 \x01(\x0b\x32!.hashicorp.vagrant.Job.DataSource\"\xe1\x02\n\x07Project\x12\x13\n\x0bresource_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\x12\x32\n\x07targets\x18\x04 \x03(\x0b\x32!.hashicorp.vagrant.sdk.Ref.Target\x12/\n\x05\x62\x61sis\x18\x05 \x01(\x0b\x32 .hashicorp.vagrant.sdk.Ref.Basis\x12\x39\n\x08metadata\x18\x06 \x01(\x0b\x32\'.hashicorp.vagrant.sdk.Args.MetadataSet\x12\x35\n\rconfiguration\x18\x07 \x01(\x0b\x32\x1e.hashicorp.vagrant.Vagrantfile\x12\x16\n\x0eremote_enabled\x18\x64 \x01(\x08\x12\x36\n\x0b\x64\x61ta_source\x18\x65 \x01(\x0b\x32!.hashicorp.vagrant.Job.DataSource\"\xd0\x01\n\x03\x42ox\x12\x13\n\x0bresource_id\x18\x01 \x01(\t\x12\x10\n\x08provider\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\x12\x11\n\tdirectory\x18\x04 \x01(\t\x12)\n\x08metadata\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x14\n\x0cmetadata_url\x18\x06 \x01(\t\x12\x0c\n\x04name\x18\x07 \x01(\t\x12/\n\x0blast_update\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x8d\x05\n\x06Target\x12\x13\n\x0bresource_id\x18\x01 \x01(\t\x12;\n\x07\x64\x61tadir\x18\x02 \x01(\x0b\x32*.hashicorp.vagrant.sdk.Args.DataDir.Target\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x33\n\x07project\x18\x04 \x01(\x0b\x32\".hashicorp.vagrant.sdk.Ref.Project\x12\x39\n\x05state\x18\x05 \x01(\x0e\x32*.hashicorp.vagrant.Operation.PhysicalState\x12\x35\n\nsubtargets\x18\x06 \x03(\x0b\x32!.hashicorp.vagrant.sdk.Ref.Target\x12\x31\n\x06parent\x18\x07 \x01(\x0b\x32!.hashicorp.vagrant.sdk.Ref.Target\x12\x0c\n\x04uuid\x18\x08 \x01(\t\x12\x39\n\x08metadata\x18\t \x01(\x0b\x32\'.hashicorp.vagrant.sdk.Args.MetadataSet\x12=\n\rconfiguration\x18\n \x01(\x0b\x32&.hashicorp.vagrant.sdk.Args.ConfigData\x12$\n\x06record\x18\x0b \x01(\x0b\x32\x14.google.protobuf.Any\x12\x10\n\x08provider\x18\x0c \x01(\t\x1a\x88\x01\n\x07Machine\x12\n\n\x02id\x18\x01 \x01(\t\x12#\n\x03\x62ox\x18\x07 \x01(\x0b\x32\x16.hashicorp.vagrant.Box\x12\x0b\n\x03uid\x18\t \x01(\t\x12?\n\x05state\x18\n \x01(\x0b\x32\x30.hashicorp.vagrant.sdk.Args.Target.Machine.State\"\x91\x06\n\x03Ref\x1aJ\n\tComponent\x12/\n\x04type\x18\x01 \x01(\x0e\x32!.hashicorp.vagrant.Component.Type\x12\x0c\n\x04name\x18\x02 \x01(\t\x1a\xf5\x01\n\tOperation\x12\x0c\n\x02id\x18\x01 \x01(\tH\x00\x12\x44\n\x0ftarget_sequence\x18\x02 \x01(\x0b\x32).hashicorp.vagrant.Ref.TargetOperationSeqH\x00\x12\x46\n\x10project_sequence\x18\x03 \x01(\x0b\x32*.hashicorp.vagrant.Ref.ProjectOperationSeqH\x00\x12\x42\n\x0e\x62\x61sis_sequence\x18\x04 \x01(\x0b\x32(.hashicorp.vagrant.Ref.BasisOperationSeqH\x00\x42\x08\n\x06target\x1aW\n\x12TargetOperationSeq\x12\x31\n\x06target\x18\x01 \x01(\x0b\x32!.hashicorp.vagrant.sdk.Ref.Target\x12\x0e\n\x06number\x18\x02 \x01(\x04\x1aZ\n\x13ProjectOperationSeq\x12\x33\n\x07project\x18\x01 \x01(\x0b\x32\".hashicorp.vagrant.sdk.Ref.Project\x12\x0e\n\x06number\x18\x02 \x01(\x04\x1aT\n\x11\x42\x61sisOperationSeq\x12/\n\x05\x62\x61sis\x18\x01 \x01(\x0b\x32 .hashicorp.vagrant.sdk.Ref.Basis\x12\x0e\n\x06number\x18\x02 \x01(\x04\x1ar\n\x06Runner\x12/\n\x03\x61ny\x18\x01 \x01(\x0b\x32 .hashicorp.vagrant.Ref.RunnerAnyH\x00\x12-\n\x02id\x18\x02 \x01(\x0b\x32\x1f.hashicorp.vagrant.Ref.RunnerIdH\x00\x42\x08\n\x06target\x1a\x16\n\x08RunnerId\x12\n\n\x02id\x18\x01 \x01(\t\x1a\x0b\n\tRunnerAny\x1a\"\n\x0bVagrantfile\x12\x13\n\x0bresource_id\x18\x01 \x01(\t\"\xcf\x02\n\tComponent\x12/\n\x04type\x18\x01 \x01(\x0e\x32!.hashicorp.vagrant.Component.Type\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0bserver_addr\x18\x03 \x01(\t\"\xed\x01\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07\x43OMMAND\x10\x01\x12\x10\n\x0c\x43OMMUNICATOR\x10\x02\x12\t\n\x05GUEST\x10\x03\x12\x08\n\x04HOST\x10\x04\x12\x0c\n\x08PROVIDER\x10\x05\x12\x0f\n\x0bPROVISIONER\x10\x06\x12\x10\n\x0cSYNCEDFOLDER\x10\x07\x12\x11\n\rAUTHENTICATOR\x10\x08\x12\x0f\n\x0bLOGPLATFORM\x10\t\x12\r\n\tLOGVIEWER\x10\n\x12\n\n\x06MAPPER\x10\x0b\x12\n\n\x06\x43ONFIG\x10\x0c\x12\x0e\n\nPLUGININFO\x10\r\x12\x08\n\x04PUSH\x10\x0e\x12\x0e\n\nDOWNLOADER\x10\x0f\"\x8a\x02\n\x06Status\x12.\n\x05state\x18\x01 \x01(\x0e\x32\x1f.hashicorp.vagrant.Status.State\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12!\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\x12.\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\rcomplete_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"9\n\x05State\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07RUNNING\x10\x01\x12\x0b\n\x07SUCCESS\x10\x02\x12\t\n\x05\x45RROR\x10\x03\"\x8d\x01\n\x0cStatusFilter\x12\x37\n\x07\x66ilters\x18\x01 \x03(\x0b\x32&.hashicorp.vagrant.StatusFilter.Filter\x1a\x44\n\x06\x46ilter\x12\x30\n\x05state\x18\x02 \x01(\x0e\x32\x1f.hashicorp.vagrant.Status.StateH\x00\x42\x08\n\x06\x66ilter\"o\n\tOperation\"b\n\rPhysicalState\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0b\n\x07\x43REATED\x10\x02\x12\r\n\tDESTROYED\x10\x03\x12\n\n\x06HALTED\x10\x04\x12\x0f\n\x0bNOT_CREATED\x10\x05\"\x9c\x01\n\x0eOperationOrder\x12\x36\n\x05order\x18\x02 \x01(\x0e\x32\'.hashicorp.vagrant.OperationOrder.Order\x12\x0c\n\x04\x64\x65sc\x18\x03 \x01(\x08\x12\r\n\x05limit\x18\x04 \x01(\r\"5\n\x05Order\x12\t\n\x05UNSET\x10\x00\x12\x0e\n\nSTART_TIME\x10\x01\x12\x11\n\rCOMPLETE_TIME\x10\x02\"J\n\x0fQueueJobRequest\x12#\n\x03job\x18\x01 \x01(\x0b\x32\x16.hashicorp.vagrant.Job\x12\x12\n\nexpires_in\x18\x02 \x01(\t\"\"\n\x10QueueJobResponse\x12\x0e\n\x06job_id\x18\x01 \x01(\t\"\"\n\x10\x43\x61ncelJobRequest\x12\x0e\n\x06job_id\x18\x01 \x01(\t\"Q\n\x12ValidateJobRequest\x12#\n\x03job\x18\x01 \x01(\x0b\x32\x16.hashicorp.vagrant.Job\x12\x16\n\x0e\x64isable_assign\x18\x02 \x01(\x08\"f\n\x13ValidateJobResponse\x12\r\n\x05valid\x18\x01 \x01(\x08\x12,\n\x10validation_error\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\x12\x12\n\nassignable\x18\x03 \x01(\x08\"\x87\x1f\n\x03Job\x12\n\n\x02id\x18\x01 \x01(\t\x12\x31\n\x05\x62\x61sis\x18\x02 \x01(\x0b\x32 .hashicorp.vagrant.sdk.Ref.BasisH\x00\x12\x35\n\x07project\x18\x03 \x01(\x0b\x32\".hashicorp.vagrant.sdk.Ref.ProjectH\x00\x12\x33\n\x06target\x18\x04 \x01(\x0b\x32!.hashicorp.vagrant.sdk.Ref.TargetH\x00\x12\x34\n\rtarget_runner\x18\x05 \x01(\x0b\x32\x1d.hashicorp.vagrant.Ref.Runner\x12\x32\n\x06labels\x18\x06 \x03(\x0b\x32\".hashicorp.vagrant.Job.LabelsEntry\x12\x36\n\x0b\x64\x61ta_source\x18\x07 \x01(\x0b\x32!.hashicorp.vagrant.Job.DataSource\x12N\n\x15\x64\x61ta_source_overrides\x18\x08 \x03(\x0b\x32/.hashicorp.vagrant.Job.DataSourceOverridesEntry\x12+\n\x04noop\x18\x32 \x01(\x0b\x32\x1b.hashicorp.vagrant.Job.NoopH\x01\x12-\n\x04\x61uth\x18\x33 \x01(\x0b\x32\x1d.hashicorp.vagrant.Job.AuthOpH\x01\x12-\n\x04\x64ocs\x18\x34 \x01(\x0b\x32\x1d.hashicorp.vagrant.Job.DocsOpH\x01\x12\x35\n\x08validate\x18\x35 \x01(\x0b\x32!.hashicorp.vagrant.Job.ValidateOpH\x01\x12\x33\n\x07\x63ommand\x18\x36 \x01(\x0b\x32 .hashicorp.vagrant.Job.CommandOpH\x01\x12-\n\x04init\x18\x37 \x01(\x0b\x32\x1d.hashicorp.vagrant.Job.InitOpH\x01\x12\x38\n\ninit_basis\x18\x38 \x01(\x0b\x32\".hashicorp.vagrant.Job.InitBasisOpH\x01\x12<\n\x0cinit_project\x18\x39 \x01(\x0b\x32$.hashicorp.vagrant.Job.InitProjectOpH\x01\x12+\n\x05state\x18\x64 \x01(\x0e\x32\x1c.hashicorp.vagrant.Job.State\x12\x38\n\x0f\x61ssigned_runner\x18\x65 \x01(\x0b\x32\x1f.hashicorp.vagrant.Ref.RunnerId\x12.\n\nqueue_time\x18\x66 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x61ssign_time\x18g \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x61\x63k_time\x18h \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\rcomplete_time\x18i \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12!\n\x05\x65rror\x18j \x01(\x0b\x32\x12.google.rpc.Status\x12-\n\x06result\x18k \x01(\x0b\x32\x1d.hashicorp.vagrant.Job.Result\x12/\n\x0b\x63\x61ncel_time\x18l \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0b\x65xpire_time\x18m \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a:\n\x18\x44\x61taSourceOverridesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\xf9\x02\n\x06Result\x12/\n\x04\x61uth\x18\x01 \x01(\x0b\x32!.hashicorp.vagrant.Job.AuthResult\x12/\n\x04\x64ocs\x18\x02 \x01(\x0b\x32!.hashicorp.vagrant.Job.DocsResult\x12\x37\n\x08validate\x18\x03 \x01(\x0b\x32%.hashicorp.vagrant.Job.ValidateResult\x12/\n\x04init\x18\x04 \x01(\x0b\x32!.hashicorp.vagrant.Job.InitResult\x12\x31\n\x03run\x18\x05 \x01(\x0b\x32$.hashicorp.vagrant.Job.CommandResult\x12\x35\n\x05\x62\x61sis\x18\x06 \x01(\x0b\x32&.hashicorp.vagrant.Job.InitBasisResult\x12\x39\n\x07project\x18\x07 \x01(\x0b\x32(.hashicorp.vagrant.Job.InitProjectResult\x1ap\n\nDataSource\x12-\n\x05local\x18\x01 \x01(\x0b\x32\x1c.hashicorp.vagrant.Job.LocalH\x00\x12)\n\x03git\x18\x02 \x01(\x0b\x32\x1a.hashicorp.vagrant.Job.GitH\x00\x42\x08\n\x06source\x1a\x07\n\x05Local\x1a-\n\x03Git\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x0b\n\x03ref\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\x1a\x06\n\x04Noop\x1a\x0c\n\nValidateOp\x1a\x10\n\x0eValidateResult\x1a\x08\n\x06InitOp\x1a\xa6\x01\n\nInitResult\x12.\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\x1d.hashicorp.vagrant.Job.Action\x12<\n\x08\x63ommands\x18\x02 \x03(\x0b\x32*.hashicorp.vagrant.sdk.Command.CommandInfo\x12*\n\x05hooks\x18\x03 \x03(\x0b\x32\x1b.hashicorp.vagrant.Job.Hook\x1a\r\n\x0bInitBasisOp\x1a\x42\n\x0fInitBasisResult\x12/\n\x05\x62\x61sis\x18\x01 \x01(\x0b\x32 .hashicorp.vagrant.sdk.Ref.Basis\x1a\x0f\n\rInitProjectOp\x1aH\n\x11InitProjectResult\x12\x33\n\x07project\x18\x01 \x01(\x0b\x32\".hashicorp.vagrant.sdk.Ref.Project\x1a&\n\x06\x41\x63tion\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\x1a\xa2\x01\n\x04Hook\x12\x1a\n\x12target_action_name\x18\x01 \x01(\t\x12\x36\n\x08location\x18\x02 \x01(\x0e\x32$.hashicorp.vagrant.Job.Hook.Location\x12\x13\n\x0b\x61\x63tion_name\x18\x03 \x01(\t\x12\x0e\n\x06source\x18\x04 \x01(\t\"!\n\x08Location\x12\n\n\x06\x42\x45\x46ORE\x10\x00\x12\t\n\x05\x41\x46TER\x10\x01\x1a\xd5\x04\n\tCommandOp\x12\x33\n\x06target\x18\x01 \x01(\x0b\x32!.hashicorp.vagrant.sdk.Ref.TargetH\x00\x12\x35\n\x07project\x18\x02 \x01(\x0b\x32\".hashicorp.vagrant.sdk.Ref.ProjectH\x00\x12\x31\n\x05\x62\x61sis\x18\x03 \x01(\x0b\x32 .hashicorp.vagrant.sdk.Ref.BasisH\x00\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\t\x12\n\n\x02id\x18\x05 \x01(\t\x12)\n\x06status\x18\x06 \x01(\x0b\x32\x19.hashicorp.vagrant.Status\x12\x39\n\x05state\x18\x07 \x01(\x0e\x32*.hashicorp.vagrant.Operation.PhysicalState\x12/\n\tcomponent\x18\x08 \x01(\x0b\x32\x1c.hashicorp.vagrant.Component\x12<\n\x06labels\x18\t \x03(\x0b\x32,.hashicorp.vagrant.Job.CommandOp.LabelsEntry\x12\x0e\n\x06job_id\x18\n \x01(\t\x12:\n\x08\x63li_args\x18\x0b \x01(\x0b\x32(.hashicorp.vagrant.sdk.Command.Arguments\x12\x33\n\x0bvagrantfile\x18\x0c \x01(\x0b\x32\x1e.hashicorp.vagrant.Vagrantfile\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x07\n\x05scope\x1a\x89\x01\n\rCommandResult\x12*\n\x04task\x18\x01 \x01(\x0b\x32\x1c.hashicorp.vagrant.Operation\x12\x12\n\nrun_result\x18\x02 \x01(\x08\x12%\n\trun_error\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\x12\x11\n\texit_code\x18\x04 \x01(\x11\x1aQ\n\x06\x41uthOp\x12\x12\n\ncheck_only\x18\x01 \x01(\x08\x12\x33\n\tcomponent\x18\x02 \x01(\x0b\x32 .hashicorp.vagrant.Ref.Component\x1a\x9a\x02\n\nAuthResult\x12\x39\n\x07results\x18\x01 \x03(\x0b\x32(.hashicorp.vagrant.Job.AuthResult.Result\x1a\xd0\x01\n\x06Result\x12/\n\tcomponent\x18\x01 \x01(\x0b\x32\x1c.hashicorp.vagrant.Component\x12\x14\n\x0c\x63heck_result\x18\x02 \x01(\x08\x12\'\n\x0b\x63heck_error\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\x12\x16\n\x0e\x61uth_completed\x18\x04 \x01(\x08\x12&\n\nauth_error\x18\x05 \x01(\x0b\x32\x12.google.rpc.Status\x12\x16\n\x0e\x61uth_supported\x18\x06 \x01(\x08\x1a\x08\n\x06\x44ocsOp\x1a\xb2\x01\n\nDocsResult\x12\x39\n\x07results\x18\x01 \x03(\x0b\x32(.hashicorp.vagrant.Job.DocsResult.Result\x1ai\n\x06Result\x12/\n\tcomponent\x18\x01 \x01(\x0b\x32\x1c.hashicorp.vagrant.Component\x12.\n\x04\x64ocs\x18\x02 \x01(\x0b\x32 .hashicorp.vagrant.Documentation\"R\n\x05State\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06QUEUED\x10\x01\x12\x0b\n\x07WAITING\x10\x02\x12\x0b\n\x07RUNNING\x10\x03\x12\t\n\x05\x45RROR\x10\x04\x12\x0b\n\x07SUCCESS\x10\x05\x42\x07\n\x05scopeB\x0b\n\toperationJ\x04\x08:\x10P\"\xdd\x03\n\rDocumentation\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12\x0f\n\x07\x65xample\x18\x02 \x01(\t\x12\r\n\x05input\x18\x03 \x01(\t\x12\x0e\n\x06output\x18\x04 \x01(\t\x12<\n\x06\x66ields\x18\x05 \x03(\x0b\x32,.hashicorp.vagrant.Documentation.FieldsEntry\x12\x38\n\x07mappers\x18\x06 \x03(\x0b\x32\'.hashicorp.vagrant.Documentation.Mapper\x1aU\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.hashicorp.vagrant.Documentation.Field:\x02\x38\x01\x1az\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08synopsis\x18\x02 \x01(\t\x12\x0f\n\x07summary\x18\x03 \x01(\t\x12\x10\n\x08optional\x18\x04 \x01(\x08\x12\x0f\n\x07\x65nv_var\x18\x05 \x01(\t\x12\x0c\n\x04type\x18\x06 \x01(\t\x12\x0f\n\x07\x64\x65\x66\x61ult\x18\x07 \x01(\t\x1a<\n\x06Mapper\x12\r\n\x05input\x18\x01 \x01(\t\x12\x0e\n\x06output\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\"\x1f\n\rGetJobRequest\x12\x0e\n\x06job_id\x18\x01 \x01(\t\"\x11\n\x0fListJobsRequest\"8\n\x10ListJobsResponse\x12$\n\x04jobs\x18\x01 \x03(\x0b\x32\x16.hashicorp.vagrant.Job\"%\n\x13GetJobStreamRequest\x12\x0e\n\x06job_id\x18\x01 \x01(\t\"\x93\x10\n\x14GetJobStreamResponse\x12<\n\x04open\x18\x01 \x01(\x0b\x32,.hashicorp.vagrant.GetJobStreamResponse.OpenH\x00\x12>\n\x05state\x18\x02 \x01(\x0b\x32-.hashicorp.vagrant.GetJobStreamResponse.StateH\x00\x12\x44\n\x08terminal\x18\x03 \x01(\x0b\x32\x30.hashicorp.vagrant.GetJobStreamResponse.TerminalH\x00\x12>\n\x05\x65rror\x18\x04 \x01(\x0b\x32-.hashicorp.vagrant.GetJobStreamResponse.ErrorH\x00\x12\x44\n\x08\x63omplete\x18\x05 \x01(\x0b\x32\x30.hashicorp.vagrant.GetJobStreamResponse.CompleteH\x00\x1a\x06\n\x04Open\x1a\x9e\x01\n\x05State\x12.\n\x08previous\x18\x01 \x01(\x0e\x32\x1c.hashicorp.vagrant.Job.State\x12-\n\x07\x63urrent\x18\x02 \x01(\x0e\x32\x1c.hashicorp.vagrant.Job.State\x12#\n\x03job\x18\x03 \x01(\x0b\x32\x16.hashicorp.vagrant.Job\x12\x11\n\tcanceling\x18\x04 \x01(\x08\x1a\xf4\n\n\x08Terminal\x12\x46\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x36.hashicorp.vagrant.GetJobStreamResponse.Terminal.Event\x12\x10\n\x08\x62uffered\x18\x02 \x01(\x08\x1a\x8d\n\n\x05\x45vent\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12K\n\x04line\x18\x02 \x01(\x0b\x32;.hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.LineH\x00\x12O\n\x06status\x18\x03 \x01(\x0b\x32=.hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.StatusH\x00\x12Z\n\x0cnamed_values\x18\x04 \x01(\x0b\x32\x42.hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValuesH\x00\x12I\n\x03raw\x18\x05 \x01(\x0b\x32:.hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.RawH\x00\x12M\n\x05table\x18\x06 \x01(\x0b\x32<.hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableH\x00\x12V\n\nstep_group\x18\x07 \x01(\x0b\x32@.hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.StepGroupH\x00\x12K\n\x04step\x18\x08 \x01(\x0b\x32;.hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.StepH\x00\x1a\x33\n\x06Status\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x0b\n\x03msg\x18\x02 \x01(\t\x12\x0c\n\x04step\x18\x03 \x01(\x08\x1aK\n\x04Line\x12\x0b\n\x03msg\x18\x01 \x01(\t\x12\r\n\x05style\x18\x02 \x01(\t\x12\x18\n\x10\x64isable_new_line\x18\x03 \x01(\x08\x12\r\n\x05\x63olor\x18\x04 \x01(\t\x1a#\n\x03Raw\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x0e\n\x06stderr\x18\x02 \x01(\x08\x1a)\n\nNamedValue\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x1a`\n\x0bNamedValues\x12Q\n\x06values\x18\x01 \x03(\x0b\x32\x41.hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValue\x1a*\n\nTableEntry\x12\r\n\x05value\x18\x01 \x01(\t\x12\r\n\x05\x63olor\x18\x02 \x01(\t\x1a^\n\x08TableRow\x12R\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x41.hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableEntry\x1ag\n\x05Table\x12\x0f\n\x07headers\x18\x01 \x03(\t\x12M\n\x04rows\x18\x02 \x03(\x0b\x32?.hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableRow\x1a\x1a\n\tStepGroup\x12\r\n\x05\x63lose\x18\x01 \x01(\x08\x1aN\n\x04Step\x12\n\n\x02id\x18\x01 \x01(\x05\x12\r\n\x05\x63lose\x18\x02 \x01(\x08\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\x0e\n\x06status\x18\x04 \x01(\t\x12\x0e\n\x06output\x18\x05 \x01(\x0c\x42\x07\n\x05\x65vent\x1a*\n\x05\x45rror\x12!\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x12.google.rpc.Status\x1a\\\n\x08\x43omplete\x12!\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x12.google.rpc.Status\x12-\n\x06result\x18\x02 \x01(\x0b\x32\x1d.hashicorp.vagrant.Job.ResultB\x07\n\x05\x65vent\"Z\n\x06Runner\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\nby_id_only\x18\x02 \x01(\x08\x12\x30\n\ncomponents\x18\x03 \x03(\x0b\x32\x1c.hashicorp.vagrant.Component\"\x8e\x01\n\x13RunnerConfigRequest\x12;\n\x04open\x18\x01 \x01(\x0b\x32+.hashicorp.vagrant.RunnerConfigRequest.OpenH\x00\x1a\x31\n\x04Open\x12)\n\x06runner\x18\x01 \x01(\x0b\x32\x19.hashicorp.vagrant.RunnerB\x07\n\x05\x65vent\"G\n\x14RunnerConfigResponse\x12/\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x1f.hashicorp.vagrant.RunnerConfig\"A\n\x0cRunnerConfig\x12\x31\n\x0b\x63onfig_vars\x18\x01 \x03(\x0b\x32\x1c.hashicorp.vagrant.ConfigVar\"\xd8\x04\n\x16RunnerJobStreamRequest\x12\x44\n\x07request\x18\x01 \x01(\x0b\x32\x31.hashicorp.vagrant.RunnerJobStreamRequest.RequestH\x00\x12<\n\x03\x61\x63k\x18\x02 \x01(\x0b\x32-.hashicorp.vagrant.RunnerJobStreamRequest.AckH\x00\x12\x46\n\x08\x63omplete\x18\x03 \x01(\x0b\x32\x32.hashicorp.vagrant.RunnerJobStreamRequest.CompleteH\x00\x12@\n\x05\x65rror\x18\x04 \x01(\x0b\x32/.hashicorp.vagrant.RunnerJobStreamRequest.ErrorH\x00\x12\x44\n\x08terminal\x18\x05 \x01(\x0b\x32\x30.hashicorp.vagrant.GetJobStreamResponse.TerminalH\x00\x12H\n\theartbeat\x18\x06 \x01(\x0b\x32\x33.hashicorp.vagrant.RunnerJobStreamRequest.HeartbeatH\x00\x1a\x1c\n\x07Request\x12\x11\n\trunner_id\x18\x01 \x01(\t\x1a\x05\n\x03\x41\x63k\x1a\x39\n\x08\x43omplete\x12-\n\x06result\x18\x01 \x01(\x0b\x32\x1d.hashicorp.vagrant.Job.Result\x1a*\n\x05\x45rror\x12!\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x12.google.rpc.Status\x1a\x0b\n\tHeartbeatB\x07\n\x05\x65vent\"\x8c\x02\n\x17RunnerJobStreamResponse\x12N\n\nassignment\x18\x01 \x01(\x0b\x32\x38.hashicorp.vagrant.RunnerJobStreamResponse.JobAssignmentH\x00\x12\x46\n\x06\x63\x61ncel\x18\x02 \x01(\x0b\x32\x34.hashicorp.vagrant.RunnerJobStreamResponse.JobCancelH\x00\x1a\x34\n\rJobAssignment\x12#\n\x03job\x18\x01 \x01(\x0b\x32\x16.hashicorp.vagrant.Job\x1a\x1a\n\tJobCancel\x12\r\n\x05\x66orce\x18\x01 \x01(\x08\x42\x07\n\x05\x65vent\"%\n\x10GetRunnerRequest\x12\x11\n\trunner_id\x18\x01 \x01(\t\"=\n\x12UpsertBasisRequest\x12\'\n\x05\x62\x61sis\x18\x01 \x01(\x0b\x32\x18.hashicorp.vagrant.Basis\">\n\x13UpsertBasisResponse\x12\'\n\x05\x62\x61sis\x18\x01 \x01(\x0b\x32\x18.hashicorp.vagrant.Basis\"B\n\x0fGetBasisRequest\x12/\n\x05\x62\x61sis\x18\x01 \x01(\x0b\x32 .hashicorp.vagrant.sdk.Ref.Basis\";\n\x10GetBasisResponse\x12\'\n\x05\x62\x61sis\x18\x01 \x01(\x0b\x32\x18.hashicorp.vagrant.Basis\";\n\x10\x46indBasisRequest\x12\'\n\x05\x62\x61sis\x18\x01 \x01(\x0b\x32\x18.hashicorp.vagrant.Basis\"<\n\x11\x46indBasisResponse\x12\'\n\x05\x62\x61sis\x18\x02 \x01(\x0b\x32\x18.hashicorp.vagrant.Basis\"D\n\x11ListBasisResponse\x12/\n\x05\x62\x61sis\x18\x01 \x03(\x0b\x32 .hashicorp.vagrant.sdk.Ref.Basis\"C\n\x14UpsertProjectRequest\x12+\n\x07project\x18\x01 \x01(\x0b\x32\x1a.hashicorp.vagrant.Project\"D\n\x15UpsertProjectResponse\x12+\n\x07project\x18\x01 \x01(\x0b\x32\x1a.hashicorp.vagrant.Project\"H\n\x11GetProjectRequest\x12\x33\n\x07project\x18\x01 \x01(\x0b\x32\".hashicorp.vagrant.sdk.Ref.Project\"A\n\x12GetProjectResponse\x12+\n\x07project\x18\x01 \x01(\x0b\x32\x1a.hashicorp.vagrant.Project\"A\n\x12\x46indProjectRequest\x12+\n\x07project\x18\x01 \x01(\x0b\x32\x1a.hashicorp.vagrant.Project\"B\n\x13\x46indProjectResponse\x12+\n\x07project\x18\x02 \x01(\x0b\x32\x1a.hashicorp.vagrant.Project\"L\n\x14ListProjectsResponse\x12\x34\n\x08projects\x18\x01 \x03(\x0b\x32\".hashicorp.vagrant.sdk.Ref.Project\"u\n\x13UpsertTargetRequest\x12\x33\n\x07project\x18\x01 \x01(\x0b\x32\".hashicorp.vagrant.sdk.Ref.Project\x12)\n\x06target\x18\x02 \x01(\x0b\x32\x19.hashicorp.vagrant.Target\"A\n\x14UpsertTargetResponse\x12)\n\x06target\x18\x01 \x01(\x0b\x32\x19.hashicorp.vagrant.Target\"}\n\x13\x44\x65leteTargetRequest\x12\x33\n\x07project\x18\x01 \x01(\x0b\x32\".hashicorp.vagrant.sdk.Ref.Project\x12\x31\n\x06target\x18\x02 \x01(\x0b\x32!.hashicorp.vagrant.sdk.Ref.Target\"z\n\x10GetTargetRequest\x12\x33\n\x07project\x18\x01 \x01(\x0b\x32\".hashicorp.vagrant.sdk.Ref.Project\x12\x31\n\x06target\x18\x02 \x01(\x0b\x32!.hashicorp.vagrant.sdk.Ref.Target\">\n\x11GetTargetResponse\x12)\n\x06target\x18\x01 \x01(\x0b\x32\x19.hashicorp.vagrant.Target\">\n\x11\x46indTargetRequest\x12)\n\x06target\x18\x01 \x01(\x0b\x32\x19.hashicorp.vagrant.Target\"?\n\x12\x46indTargetResponse\x12)\n\x06target\x18\x02 \x01(\x0b\x32\x19.hashicorp.vagrant.Target\"I\n\x13ListTargetsResponse\x12\x32\n\x07targets\x18\x01 \x03(\x0b\x32!.hashicorp.vagrant.sdk.Ref.Target\"7\n\x10UpsertBoxRequest\x12#\n\x03\x62ox\x18\x01 \x01(\x0b\x32\x16.hashicorp.vagrant.Box\"8\n\x11UpsertBoxResponse\x12#\n\x03\x62ox\x18\x01 \x01(\x0b\x32\x16.hashicorp.vagrant.Box\"?\n\x10\x44\x65leteBoxRequest\x12+\n\x03\x62ox\x18\x01 \x01(\x0b\x32\x1e.hashicorp.vagrant.sdk.Ref.Box\"<\n\rGetBoxRequest\x12+\n\x03\x62ox\x18\x02 \x01(\x0b\x32\x1e.hashicorp.vagrant.sdk.Ref.Box\"5\n\x0eGetBoxResponse\x12#\n\x03\x62ox\x18\x01 \x01(\x0b\x32\x16.hashicorp.vagrant.Box\"B\n\x11ListBoxesResponse\x12-\n\x05\x62oxes\x18\x01 \x03(\x0b\x32\x1e.hashicorp.vagrant.sdk.Ref.Box\"=\n\x0e\x46indBoxRequest\x12+\n\x03\x62ox\x18\x02 \x01(\x0b\x32\x1e.hashicorp.vagrant.sdk.Ref.Box\"6\n\x0f\x46indBoxResponse\x12#\n\x03\x62ox\x18\x01 \x01(\x0b\x32\x16.hashicorp.vagrant.Box\"\xd4\x01\n\x13GetLogStreamRequest\x12\x31\n\x05\x62\x61sis\x18\x01 \x01(\x0b\x32 .hashicorp.vagrant.sdk.Ref.BasisH\x00\x12\x35\n\x07project\x18\x02 \x01(\x0b\x32\".hashicorp.vagrant.sdk.Ref.ProjectH\x00\x12\x33\n\x06target\x18\x03 \x01(\x0b\x32!.hashicorp.vagrant.sdk.Ref.TargetH\x00\x12\x15\n\rlimit_backlog\x18\x04 \x01(\x05\x42\x07\n\x05scope\"\xae\x01\n\x08LogBatch\x12\x15\n\rdeployment_id\x18\x01 \x01(\t\x12\x13\n\x0binstance_id\x18\x02 \x01(\t\x12\x30\n\x05lines\x18\x03 \x03(\x0b\x32!.hashicorp.vagrant.LogBatch.Entry\x1a\x44\n\x05\x45ntry\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04line\x18\x02 \x01(\t\"\x81\x02\n\tConfigVar\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x12\x31\n\x05\x62\x61sis\x18\x03 \x01(\x0b\x32 .hashicorp.vagrant.sdk.Ref.BasisH\x00\x12\x35\n\x07project\x18\x04 \x01(\x0b\x32\".hashicorp.vagrant.sdk.Ref.ProjectH\x00\x12\x33\n\x06target\x18\x05 \x01(\x0b\x32!.hashicorp.vagrant.sdk.Ref.TargetH\x00\x12/\n\x06runner\x18\x06 \x01(\x0b\x32\x1d.hashicorp.vagrant.Ref.RunnerH\x00\x42\x07\n\x05scope\"C\n\x10\x43onfigSetRequest\x12/\n\tvariables\x18\x01 \x03(\x0b\x32\x1c.hashicorp.vagrant.ConfigVar\"\x13\n\x11\x43onfigSetResponse\"\xfd\x01\n\x10\x43onfigGetRequest\x12\x33\n\x06target\x18\x02 \x01(\x0b\x32!.hashicorp.vagrant.sdk.Ref.TargetH\x00\x12\x35\n\x07project\x18\x03 \x01(\x0b\x32\".hashicorp.vagrant.sdk.Ref.ProjectH\x00\x12\x31\n\x05\x62\x61sis\x18\x04 \x01(\x0b\x32 .hashicorp.vagrant.sdk.Ref.BasisH\x00\x12\x31\n\x06runner\x18\x05 \x01(\x0b\x32\x1f.hashicorp.vagrant.Ref.RunnerIdH\x00\x12\x0e\n\x06prefix\x18\x01 \x01(\tB\x07\n\x05scope\"D\n\x11\x43onfigGetResponse\x12/\n\tvariables\x18\x01 \x03(\x0b\x32\x1c.hashicorp.vagrant.ConfigVar\"\x88\x04\n\x11\x45xecStreamRequest\x12;\n\x05start\x18\x01 \x01(\x0b\x32*.hashicorp.vagrant.ExecStreamRequest.StartH\x00\x12;\n\x05input\x18\x02 \x01(\x0b\x32*.hashicorp.vagrant.ExecStreamRequest.InputH\x00\x12@\n\x05winch\x18\x03 \x01(\x0b\x32/.hashicorp.vagrant.ExecStreamRequest.WindowSizeH\x00\x1a\x63\n\x05Start\x12\x15\n\rdeployment_id\x18\x01 \x01(\t\x12\x0c\n\x04\x61rgs\x18\x02 \x03(\t\x12\x35\n\x03pty\x18\x03 \x01(\x0b\x32(.hashicorp.vagrant.ExecStreamRequest.PTY\x1a\x15\n\x05Input\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x1ai\n\x03PTY\x12\x0e\n\x06\x65nable\x18\x01 \x01(\x08\x12\x0c\n\x04term\x18\x02 \x01(\t\x12\x44\n\x0bwindow_size\x18\x03 \x01(\x0b\x32/.hashicorp.vagrant.ExecStreamRequest.WindowSize\x1aG\n\nWindowSize\x12\x0c\n\x04rows\x18\x01 \x01(\x05\x12\x0c\n\x04\x63ols\x18\x02 \x01(\x05\x12\r\n\x05width\x18\x03 \x01(\x05\x12\x0e\n\x06height\x18\x04 \x01(\x05\x42\x07\n\x05\x65vent\"\x83\x03\n\x12\x45xecStreamResponse\x12:\n\x04open\x18\x03 \x01(\x0b\x32*.hashicorp.vagrant.ExecStreamResponse.OpenH\x00\x12>\n\x06output\x18\x01 \x01(\x0b\x32,.hashicorp.vagrant.ExecStreamResponse.OutputH\x00\x12:\n\x04\x65xit\x18\x02 \x01(\x0b\x32*.hashicorp.vagrant.ExecStreamResponse.ExitH\x00\x1a\x06\n\x04Open\x1a\x14\n\x04\x45xit\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x1a\x8d\x01\n\x06Output\x12\x45\n\x07\x63hannel\x18\x01 \x01(\x0e\x32\x34.hashicorp.vagrant.ExecStreamResponse.Output.Channel\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\".\n\x07\x43hannel\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06STDOUT\x10\x01\x12\n\n\x06STDERR\x10\x02\x42\x07\n\x05\x65vent\"E\n\x17\x45ntrypointConfigRequest\x12\x15\n\rdeployment_id\x18\x01 \x01(\t\x12\x13\n\x0binstance_id\x18\x02 \x01(\t\"O\n\x18\x45ntrypointConfigResponse\x12\x33\n\x06\x63onfig\x18\x02 \x01(\x0b\x32#.hashicorp.vagrant.EntrypointConfig\"\xde\x02\n\x10\x45ntrypointConfig\x12\x36\n\x04\x65xec\x18\x01 \x03(\x0b\x32(.hashicorp.vagrant.EntrypointConfig.Exec\x12.\n\x08\x65nv_vars\x18\x02 \x03(\x0b\x32\x1c.hashicorp.vagrant.ConfigVar\x12\x43\n\x0burl_service\x18\x03 \x01(\x0b\x32..hashicorp.vagrant.EntrypointConfig.URLService\x1aZ\n\x04\x45xec\x12\r\n\x05index\x18\x01 \x01(\x03\x12\x0c\n\x04\x61rgs\x18\x02 \x03(\t\x12\x35\n\x03pty\x18\x03 \x01(\x0b\x32(.hashicorp.vagrant.ExecStreamRequest.PTY\x1a\x41\n\nURLService\x12\x14\n\x0c\x63ontrol_addr\x18\x01 \x01(\t\x12\r\n\x05token\x18\x02 \x01(\t\x12\x0e\n\x06labels\x18\x03 \x01(\t\"[\n\x12\x45ntrypointLogBatch\x12\x13\n\x0binstance_id\x18\x01 \x01(\t\x12\x30\n\x05lines\x18\x02 \x03(\x0b\x32!.hashicorp.vagrant.LogBatch.Entry\"\xa3\x04\n\x15\x45ntrypointExecRequest\x12=\n\x04open\x18\x01 \x01(\x0b\x32-.hashicorp.vagrant.EntrypointExecRequest.OpenH\x00\x12=\n\x04\x65xit\x18\x02 \x01(\x0b\x32-.hashicorp.vagrant.EntrypointExecRequest.ExitH\x00\x12\x41\n\x06output\x18\x03 \x01(\x0b\x32/.hashicorp.vagrant.EntrypointExecRequest.OutputH\x00\x12?\n\x05\x65rror\x18\x04 \x01(\x0b\x32..hashicorp.vagrant.EntrypointExecRequest.ErrorH\x00\x1a*\n\x04Open\x12\x13\n\x0binstance_id\x18\x01 \x01(\t\x12\r\n\x05index\x18\x02 \x01(\x03\x1a\x14\n\x04\x45xit\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x1a\x90\x01\n\x06Output\x12H\n\x07\x63hannel\x18\x01 \x01(\x0e\x32\x37.hashicorp.vagrant.EntrypointExecRequest.Output.Channel\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\".\n\x07\x43hannel\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06STDOUT\x10\x01\x12\n\n\x06STDERR\x10\x02\x1a*\n\x05\x45rror\x12!\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x12.google.rpc.StatusB\x07\n\x05\x65vent\"\x86\x01\n\x16\x45ntrypointExecResponse\x12\x0f\n\x05input\x18\x01 \x01(\x0cH\x00\x12@\n\x05winch\x18\x02 \x01(\x0b\x32/.hashicorp.vagrant.ExecStreamRequest.WindowSizeH\x00\x12\x10\n\x06opened\x18\x03 \x01(\x08H\x00\x42\x07\n\x05\x65vent\"\xb5\x01\n\x0eTokenTransport\x12\x0c\n\x04\x62ody\x18\x01 \x01(\x0c\x12\x11\n\tsignature\x18\x02 \x01(\x0c\x12\x0e\n\x06key_id\x18\x03 \x01(\t\x12\x41\n\x08metadata\x18\x04 \x03(\x0b\x32/.hashicorp.vagrant.TokenTransport.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xd5\x01\n\x05Token\x12\x0c\n\x04user\x18\x01 \x01(\t\x12\x10\n\x08token_id\x18\x02 \x01(\x0c\x12/\n\x0bvalid_until\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\r\n\x05login\x18\x04 \x01(\x08\x12\x0e\n\x06invite\x18\x05 \x01(\x08\x12\x37\n\nentrypoint\x18\x06 \x01(\x0b\x32#.hashicorp.vagrant.Token.Entrypoint\x1a#\n\nEntrypoint\x12\x15\n\rdeployment_id\x18\x01 \x01(\t\"\"\n\x07HMACKey\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x0c\"_\n\x12InviteTokenRequest\x12\x10\n\x08\x64uration\x18\x01 \x01(\t\x12\x37\n\nentrypoint\x18\x02 \x01(\x0b\x32#.hashicorp.vagrant.Token.Entrypoint\"!\n\x10NewTokenResponse\x12\r\n\x05token\x18\x01 \x01(\t\"*\n\x19\x43onvertInviteTokenRequest\x12\r\n\x05token\x18\x01 \x01(\t\"z\n\x16\x43reateSnapshotResponse\x12>\n\x04open\x18\x01 \x01(\x0b\x32..hashicorp.vagrant.CreateSnapshotResponse.OpenH\x00\x12\x0f\n\x05\x63hunk\x18\x02 \x01(\x0cH\x00\x1a\x06\n\x04OpenB\x07\n\x05\x65vent\"\x88\x01\n\x16RestoreSnapshotRequest\x12>\n\x04open\x18\x01 \x01(\x0b\x32..hashicorp.vagrant.RestoreSnapshotRequest.OpenH\x00\x12\x0f\n\x05\x63hunk\x18\x02 \x01(\x0cH\x00\x1a\x14\n\x04Open\x12\x0c\n\x04\x65xit\x18\x01 \x01(\x08\x42\x07\n\x05\x65vent\"\xe7\x02\n\x08Snapshot\x1a\x95\x01\n\x06Header\x12/\n\x07version\x18\x01 \x01(\x0b\x32\x1e.hashicorp.vagrant.VersionInfo\x12\x39\n\x06\x66ormat\x18\x02 \x01(\x0e\x32).hashicorp.vagrant.Snapshot.Header.Format\"\x1f\n\x06\x46ormat\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04\x42OLT\x10\x01\x1a\'\n\x07Trailer\x12\x10\n\x06sha256\x18\x01 \x01(\tH\x00\x42\n\n\x08\x63hecksum\x1a\x99\x01\n\tBoltChunk\x12\x0e\n\x06\x62ucket\x18\x01 \x01(\t\x12?\n\x05items\x18\x02 \x03(\x0b\x32\x30.hashicorp.vagrant.Snapshot.BoltChunk.ItemsEntry\x12\r\n\x05\x66inal\x18\x03 \x01(\x08\x1a,\n\nItemsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x32\x82\x17\n\x07Vagrant\x12S\n\x0eGetVersionInfo\x12\x16.google.protobuf.Empty\x1a).hashicorp.vagrant.GetVersionInfoResponse\x12\\\n\x0bUpsertBasis\x12%.hashicorp.vagrant.UpsertBasisRequest\x1a&.hashicorp.vagrant.UpsertBasisResponse\x12S\n\x08GetBasis\x12\".hashicorp.vagrant.GetBasisRequest\x1a#.hashicorp.vagrant.GetBasisResponse\x12V\n\tFindBasis\x12#.hashicorp.vagrant.FindBasisRequest\x1a$.hashicorp.vagrant.FindBasisResponse\x12I\n\tListBasis\x12\x16.google.protobuf.Empty\x1a$.hashicorp.vagrant.ListBasisResponse\x12\x62\n\rUpsertProject\x12\'.hashicorp.vagrant.UpsertProjectRequest\x1a(.hashicorp.vagrant.UpsertProjectResponse\x12Y\n\nGetProject\x12$.hashicorp.vagrant.GetProjectRequest\x1a%.hashicorp.vagrant.GetProjectResponse\x12\\\n\x0b\x46indProject\x12%.hashicorp.vagrant.FindProjectRequest\x1a&.hashicorp.vagrant.FindProjectResponse\x12O\n\x0cListProjects\x12\x16.google.protobuf.Empty\x1a\'.hashicorp.vagrant.ListProjectsResponse\x12_\n\x0cUpsertTarget\x12&.hashicorp.vagrant.UpsertTargetRequest\x1a\'.hashicorp.vagrant.UpsertTargetResponse\x12N\n\x0c\x44\x65leteTarget\x12&.hashicorp.vagrant.DeleteTargetRequest\x1a\x16.google.protobuf.Empty\x12V\n\tGetTarget\x12#.hashicorp.vagrant.GetTargetRequest\x1a$.hashicorp.vagrant.GetTargetResponse\x12Y\n\nFindTarget\x12$.hashicorp.vagrant.FindTargetRequest\x1a%.hashicorp.vagrant.FindTargetResponse\x12M\n\x0bListTargets\x12\x16.google.protobuf.Empty\x1a&.hashicorp.vagrant.ListTargetsResponse\x12V\n\tUpsertBox\x12#.hashicorp.vagrant.UpsertBoxRequest\x1a$.hashicorp.vagrant.UpsertBoxResponse\x12H\n\tDeleteBox\x12#.hashicorp.vagrant.DeleteBoxRequest\x1a\x16.google.protobuf.Empty\x12M\n\x06GetBox\x12 .hashicorp.vagrant.GetBoxRequest\x1a!.hashicorp.vagrant.GetBoxResponse\x12I\n\tListBoxes\x12\x16.google.protobuf.Empty\x1a$.hashicorp.vagrant.ListBoxesResponse\x12P\n\x07\x46indBox\x12!.hashicorp.vagrant.FindBoxRequest\x1a\".hashicorp.vagrant.FindBoxResponse\x12U\n\x0cGetLogStream\x12&.hashicorp.vagrant.GetLogStreamRequest\x1a\x1b.hashicorp.vagrant.LogBatch0\x01\x12S\n\x08QueueJob\x12\".hashicorp.vagrant.QueueJobRequest\x1a#.hashicorp.vagrant.QueueJobResponse\x12H\n\tCancelJob\x12#.hashicorp.vagrant.CancelJobRequest\x1a\x16.google.protobuf.Empty\x12\x42\n\x06GetJob\x12 .hashicorp.vagrant.GetJobRequest\x1a\x16.hashicorp.vagrant.Job\x12T\n\t_ListJobs\x12\".hashicorp.vagrant.ListJobsRequest\x1a#.hashicorp.vagrant.ListJobsResponse\x12\\\n\x0bValidateJob\x12%.hashicorp.vagrant.ValidateJobRequest\x1a&.hashicorp.vagrant.ValidateJobResponse\x12\x61\n\x0cGetJobStream\x12&.hashicorp.vagrant.GetJobStreamRequest\x1a\'.hashicorp.vagrant.GetJobStreamResponse0\x01\x12>\n\x0cPruneOldJobs\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\x12K\n\tGetRunner\x12#.hashicorp.vagrant.GetRunnerRequest\x1a\x19.hashicorp.vagrant.Runner\x12M\n\x0e\x42ootstrapToken\x12\x16.google.protobuf.Empty\x1a#.hashicorp.vagrant.NewTokenResponse\x12\x61\n\x13GenerateInviteToken\x12%.hashicorp.vagrant.InviteTokenRequest\x1a#.hashicorp.vagrant.NewTokenResponse\x12Q\n\x12GenerateLoginToken\x12\x16.google.protobuf.Empty\x1a#.hashicorp.vagrant.NewTokenResponse\x12g\n\x12\x43onvertInviteToken\x12,.hashicorp.vagrant.ConvertInviteTokenRequest\x1a#.hashicorp.vagrant.NewTokenResponse\x12\x63\n\x0cRunnerConfig\x12&.hashicorp.vagrant.RunnerConfigRequest\x1a\'.hashicorp.vagrant.RunnerConfigResponse(\x01\x30\x01\x12l\n\x0fRunnerJobStream\x12).hashicorp.vagrant.RunnerJobStreamRequest\x1a*.hashicorp.vagrant.RunnerJobStreamResponse(\x01\x30\x01\x42\x43ZAgithub.com/hashicorp/vagrant/internal/server/proto/vagrant_serverb\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError => e + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["hashicorp.vagrant.sdk.Args.Hash", "plugin.proto"], + ["google.protobuf.Struct", "google/protobuf/struct.proto"], + ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], + ["google.protobuf.Any", "google/protobuf/any.proto"], + ["google.rpc.Status", "google/rpc/status.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" end end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." end module Hashicorp @@ -876,6 +91,10 @@ module Hashicorp Job::ValidateResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.Job.ValidateResult").msgclass Job::InitOp = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.Job.InitOp").msgclass Job::InitResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.Job.InitResult").msgclass + Job::InitBasisOp = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.Job.InitBasisOp").msgclass + Job::InitBasisResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.Job.InitBasisResult").msgclass + Job::InitProjectOp = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.Job.InitProjectOp").msgclass + Job::InitProjectResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.Job.InitProjectResult").msgclass Job::Action = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.Job.Action").msgclass Job::Hook = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.Job.Hook").msgclass Job::Hook::Location = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("hashicorp.vagrant.Job.Hook.Location").enummodule diff --git a/lib/vagrant/shared_helpers.rb b/lib/vagrant/shared_helpers.rb index 24bd56937..45ebff2e0 100644 --- a/lib/vagrant/shared_helpers.rb +++ b/lib/vagrant/shared_helpers.rb @@ -238,26 +238,36 @@ module Vagrant # @return [true] def self.enable_server_mode! if !server_mode? - load_vagrant_proto! - SERVER_MODE_CALLBACKS.each(&:call) Util::HCLogOutputter.new("hclog") Log4r::Outputter["hclog"].formatter = Util::HCLogFormatter.new + Log4r::Outputter.stderr.formatter = Log4r::Outputter["hclog"].formatter + Log4r::RootLogger.instance.outputters = Log4r::Outputter["hclog"] Log4r::Logger.each_logger do |l| - l.outputters = Log4r::Outputter["hclog"] if l.parent == Log4r::RootLogger.instance + l.outputters = Log4r::Outputter["hclog"] #if l.parent&.is_root? end + Log4r::Logger::Repository.class_eval do def self.[]=(n, l) self.synchronize do - l.outputters = Log4r::Outputter["hclog"] if l.parent == Log4r::RootLogger.instance + l.outputters = Log4r::Outputter["hclog"] # if l.parent&.is_root? instance.loggers[n] = l end end end + + # By default only display error logs from the mappers unless explicitly + # requested due to their verbosity + if ENV["VAGRANT_LOG_MAPPER"].to_s == "" + l = Log4r::Logger.factory("vagrantplugins::commandserve::mappers") + l.level = Log4r::ERROR + end end - if ENV["VAGRANT_LOG_MAPPER"].to_s == "" - l = Log4r::Logger.new("vagrantplugins::commandserve::mappers::internal") - l.level = Log4r::ERROR - end + Log4r::Logger.factory("vagrant").trace("service logger initialization") + Log4r::Logger.factory("vagrantplugins").trace("service logger initialization") + + load_vagrant_proto! + SERVER_MODE_CALLBACKS.each(&:call) + @_server_mode = true end diff --git a/lib/vagrant/util/logging_formatter.rb b/lib/vagrant/util/logging_formatter.rb index b20bb1303..41fc359fd 100644 --- a/lib/vagrant/util/logging_formatter.rb +++ b/lib/vagrant/util/logging_formatter.rb @@ -49,7 +49,8 @@ module Vagrant d = { "@timestamp" => Time.now.strftime("%Y-%m-%dT%H:%M:%S.%6N%:z"), "@level" => Log4r::LNAMES[event.level].downcase, - "@module" => event.fullname.gsub("::", "."), + "@module" => event.fullname, + "@name" => event.name, "@message" => msg, } d["@caller"] = event.tracer[0] if event.tracer diff --git a/plugins/commands/serve/client/project.rb b/plugins/commands/serve/client/project.rb index 4afc39d9e..df499d500 100644 --- a/plugins/commands/serve/client/project.rb +++ b/plugins/commands/serve/client/project.rb @@ -88,12 +88,9 @@ module VagrantPlugins # return [Vagrant::Machine] def machine(name, provider) - t = client.target(SDK::Project::TargetRequest.new( - name: name, - provider: provider, - )) - machine = mapper.map(t, to: Vagrant::Machine) - return machine + logger.info("getting machine from vagrant-go name: #{name} provider: #{provider}") + t = target(name, provider) + Vagrant::Machine.new(client: t) end # return [String] diff --git a/plugins/commands/serve/command.rb b/plugins/commands/serve/command.rb index 99bcedf43..fe9930fc8 100644 --- a/plugins/commands/serve/command.rb +++ b/plugins/commands/serve/command.rb @@ -128,7 +128,7 @@ module VagrantPlugins s.handle(health_checker) - logger.debug("writing connection informatation to stdout for go-plugin") + logger.debug("writing connection information to stdout for go-plugin") STDOUT.puts "1|1|tcp|#{bind_addr}:#{port}|grpc" STDOUT.flush logger.info("Vagrant GRPC service is now running addr=#{bind_addr.inspect} port=#{port.inspect}") diff --git a/plugins/commands/serve/mappers.rb b/plugins/commands/serve/mappers.rb index b603c70be..fb0122b4d 100644 --- a/plugins/commands/serve/mappers.rb +++ b/plugins/commands/serve/mappers.rb @@ -205,13 +205,15 @@ module VagrantPlugins # @param to [Class] Resultant type (optional) # @return [Object] def direct_convert(value, to:) + logger.debug { "direct conversion on #{value.class} to destination type #{to}" } + # If we don't have a destination, attempt to do direct conversion if to.nil? begin - logger.trace { "running direct blind pre-map on #{value.class}" } + logger.debug { "running direct blind pre-map on #{value.class}" } return value.is_a?(Google::Protobuf::MessageExts) ? value.to_ruby : value.to_proto rescue => err - logger.trace { "direct blind conversion failed in pre-map stage, reason: #{err}" } + logger.debug { "direct blind conversion failed in pre-map stage, reason: #{err}" } end end @@ -221,7 +223,7 @@ module VagrantPlugins begin return value.to_any rescue => err - logger.trace { "direct any conversion failed in pre-map stage, reason: #{err}"} + logger.debug { "direct any conversion failed in pre-map stage, reason: #{err}"} end end @@ -231,7 +233,7 @@ module VagrantPlugins proto = value.to_proto return proto if proto.is_a?(to) rescue => err - logger.trace { "direct proto conversion failed in pre-map stage, reason: #{err}" } + logger.debug { "direct proto conversion failed in pre-map stage, reason: #{err}" } end end @@ -241,7 +243,7 @@ module VagrantPlugins val = value.to_ruby return val if val.is_a?(to) rescue => err - logger.trace { "direct ruby conversion failed in pre-map stage, reason: #{err}" } + logger.debug { "direct ruby conversion failed in pre-map stage, reason: #{err}" } end end end diff --git a/plugins/commands/serve/mappers/config_data.rb b/plugins/commands/serve/mappers/config_data.rb index e985f8639..dcb97bf71 100644 --- a/plugins/commands/serve/mappers/config_data.rb +++ b/plugins/commands/serve/mappers/config_data.rb @@ -62,6 +62,22 @@ module VagrantPlugins end end + class ConfigFinalizeResponseProtoFromConfigDataProto < Mapper + def initialize + super( + inputs: [ + Input.new(type: SDK::Args::ConfigData), + ], + output: SDK::Config::FinalizeResponse, + func: method(:converter), + ) + end + + def converter(c) + SDK::Config::FinalizeResponse.new(data: c) + end + end + class ConfigFromConfigDataProto < Mapper include Util::HasLogger diff --git a/plugins/commands/serve/service/communicator_service.rb b/plugins/commands/serve/service/communicator_service.rb index 9967587b5..f87e233bb 100644 --- a/plugins/commands/serve/service/communicator_service.rb +++ b/plugins/commands/serve/service/communicator_service.rb @@ -151,8 +151,8 @@ module VagrantPlugins SDK::Communicator::ExecuteResp.new( exit_code: exit_code, - stdout: output[:stdout], - stderr: output[:stderr] + stdout: output[:stdout].force_encoding("UTF-8"), + stderr: output[:stderr].force_encoding("UTF-8") ) end end diff --git a/plugins/commands/serve/service/config_service.rb b/plugins/commands/serve/service/config_service.rb index c3e53e08a..a5c71d48b 100644 --- a/plugins/commands/serve/service/config_service.rb +++ b/plugins/commands/serve/service/config_service.rb @@ -31,8 +31,49 @@ module VagrantPlugins end end + def init_spec(*_) + funcspec( + args: [ + SDK::Args::ConfigData, + ], + result: SDK::Config::InitResponse + ) + end + + def init(req, ctx) + with_plugin(ctx, :config, broker: broker) do |plugin| + config_data_p = mapper.unfuncspec(req.args.first) + config_data = mapper.map(config_data_p.data) + instance = plugin.new + + config_data.each do |key, value| + key = key.downcase.to_sym + if instance.respond_to?("#{key}=".to_sym) + instance.send("#{key}=".to_sym, value) + elsif instance.respond_to?(key) + instance.send(key, value) + else + logger.warn("unknown config key to apply: class: #{plugin} key: #{key}") + end + end + + SDK::Config::InitResponse.new(data: mapper.map(instance, to: SDK::Args::ConfigData)) + end + end + + def struct_spec(*_) + funcspec( + args: [ + ], + result: SDK::Config::StructResponse + ) + end + + def struct(req, ctx) + SDK::Config::StructResponse.new(raw: true) + end + def merge_spec(*_) - logger.debug("generating merge spec") funcspec( args: [ SDK::Config::Merge, @@ -62,8 +103,6 @@ module VagrantPlugins def finalize(req, ctx) with_plugin(ctx, CONFIG_LOCATIONS, broker: broker) do |plugin| - logger.debug("finalizing configuration for plugin #{plugin}") - # Extract the proto from the funcspec f = mapper.unfuncspec(req.args.first) cproto = f.config @@ -81,7 +120,7 @@ module VagrantPlugins # responsible for the finalization config.instance_variable_set("@__service_finalized", true) - mapper.map(config, to: SDK::Args::ConfigData) + SDK::Config::FinalizeResponse.new(data: mapper.map(config, to: SDK::Args::ConfigData)) end end end diff --git a/plugins/commands/serve/util/direct_conversions.rb b/plugins/commands/serve/util/direct_conversions.rb index 681ffe6b8..01839f3da 100644 --- a/plugins/commands/serve/util/direct_conversions.rb +++ b/plugins/commands/serve/util/direct_conversions.rb @@ -15,10 +15,20 @@ class Object Hashicorp::Vagrant::Sdk::Args::Class.new(name: name) end + # simple stub so non-proto objects won't + # error if conversion is attempted + def to_ruby + self + end + def to_any - pro = to_proto + source_proto = if !self.class.ancestors.include?(Google::Protobuf::MessageExts) + to_proto + else + self + end begin - Google::Protobuf::Any.pack(pro) + Google::Protobuf::Any.pack(source_proto) rescue PROTO_LOGGER.warn("failed to any this type: #{self.class} value: #{self}") raise @@ -435,6 +445,12 @@ class Hashicorp::Vagrant::Sdk::Args::Host end end +class Hashicorp::Vagrant::Sdk::Args::MetadataSet + def to_ruby + {} + end +end + class Hashicorp::Vagrant::Sdk::Args::NamedCapability def to_ruby capability.to_s.to_sym @@ -569,7 +585,7 @@ class Hashicorp::Vagrant::Sdk::Args::Target VagrantPlugins::CommandServe.cache.registered?(cid) client = _vagrant_load_client(VagrantPlugins::CommandServe::Client::Target) - env = client.project.to_ruby + env = client.environment.to_ruby machine = env.machine(client.name.to_sym, client.provider_name.to_sym) VagrantPlugins::CommandServe.cache.register(cid, machine) machine @@ -592,7 +608,7 @@ end class Hashicorp::Vagrant::Sdk::Args::Target::Machine::State def to_ruby Vagrant::MachineState.new( - m.id.to_sym, m.short_description, m.long_description + id.to_sym, short_description, long_description ) end end diff --git a/plugins/commands/serve/util/has_logger.rb b/plugins/commands/serve/util/has_logger.rb index bf7f431af..c3b84b9bf 100644 --- a/plugins/commands/serve/util/has_logger.rb +++ b/plugins/commands/serve/util/has_logger.rb @@ -9,7 +9,7 @@ module VagrantPlugins module HasLogger def logger if !@logger - @logger = Log4r::Logger.new(self.class.name.to_s.downcase) + @logger = Log4r::Logger.factory(self.class.name.to_s.downcase) end @logger end diff --git a/plugins/providers/virtualbox/driver/base.rb b/plugins/providers/virtualbox/driver/base.rb index 59447cf1a..8e95cd7f0 100644 --- a/plugins/providers/virtualbox/driver/base.rb +++ b/plugins/providers/virtualbox/driver/base.rb @@ -493,6 +493,10 @@ module VagrantPlugins # If the locale command is not available, return default return @env_lang if !Vagrant::Util::Which.which("locale") + if defined?(@@env_lang) + return @env_lang = @@env_lang + end + @logger.debug("validating LANG value for virtualbox cli commands") # Get list of available locales on the system result = Vagrant::Util::Subprocess.execute("locale", "-a") @@ -514,10 +518,10 @@ module VagrantPlugins if lang @logger.debug("valid variation found for LANG value: #{lang}") @env_lang[:LANG] = lang + @@env_lang = @env_lang end @logger.debug("LANG value set: #{@env_lang[:LANG].inspect}") - @env_lang end end diff --git a/vagrant.gemspec b/vagrant.gemspec index 7bc16d54c..88cee701f 100644 --- a/vagrant.gemspec +++ b/vagrant.gemspec @@ -20,7 +20,7 @@ Gem::Specification.new do |s| s.add_dependency "ed25519", "~> 1.3.0" s.add_dependency "erubi" s.add_dependency 'googleapis-common-protos-types', '~> 1.3' - s.add_dependency "grpc" + s.add_dependency "grpc", "~> 1.56.0" s.add_dependency "hashicorp-checkpoint", "~> 0.1.5" s.add_dependency "i18n", "~> 1.12" s.add_dependency "listen", "~> 3.7"