Adds initial basic support for HCP based configuration in vagrant-go. The initalization process has been updated to remove Vagrantfile parsing from the client, moving it to the runner using init jobs for the basis and the project (if there is one). Detection is done on the file based on extension for Ruby based parsing or HCP based parsing. Current HCP parsing is extremely simple and currently just a base to build off. Config components will be able to implement an `Init` function to handle receiving configuration data from a non-native source file. This will be extended to include a default approach for injecting defined data in the future. Some cleanup was done in the state around validations. Some logging adjustments were applied on the Ruby side for better behavior consistency. VirtualBox provider now caches locale detection to prevent multiple checks every time the driver is initialized.
298 lines
12 KiB
Go
298 lines
12 KiB
Go
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
|
// versions:
|
|
// - protoc-gen-go-grpc v1.3.0
|
|
// - protoc v3.21.12
|
|
// source: proto/ruby_vagrant/ruby-server.proto
|
|
|
|
package ruby_vagrant
|
|
|
|
import (
|
|
context "context"
|
|
grpc "google.golang.org/grpc"
|
|
codes "google.golang.org/grpc/codes"
|
|
status "google.golang.org/grpc/status"
|
|
emptypb "google.golang.org/protobuf/types/known/emptypb"
|
|
)
|
|
|
|
// This is a compile-time assertion to ensure that this generated file
|
|
// is compatible with the grpc package it is being compiled against.
|
|
// 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.
|
|
type RubyVagrantClient interface {
|
|
// Gets available ruby plugins
|
|
GetPlugins(ctx context.Context, in *GetPluginsRequest, opts ...grpc.CallOption) (*GetPluginsResponse, error)
|
|
ParseVagrantfile(ctx context.Context, in *ParseVagrantfileRequest, opts ...grpc.CallOption) (*ParseVagrantfileResponse, error)
|
|
ParseVagrantfileProc(ctx context.Context, in *ParseVagrantfileProcRequest, opts ...grpc.CallOption) (*ParseVagrantfileResponse, error)
|
|
ParseVagrantfileSubvm(ctx context.Context, in *ParseVagrantfileSubvmRequest, opts ...grpc.CallOption) (*ParseVagrantfileResponse, error)
|
|
ParseVagrantfileProvider(ctx context.Context, in *ParseVagrantfileProviderRequest, opts ...grpc.CallOption) (*ParseVagrantfileResponse, error)
|
|
Stop(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error)
|
|
}
|
|
|
|
type rubyVagrantClient struct {
|
|
cc grpc.ClientConnInterface
|
|
}
|
|
|
|
func NewRubyVagrantClient(cc grpc.ClientConnInterface) RubyVagrantClient {
|
|
return &rubyVagrantClient{cc}
|
|
}
|
|
|
|
func (c *rubyVagrantClient) GetPlugins(ctx context.Context, in *GetPluginsRequest, opts ...grpc.CallOption) (*GetPluginsResponse, error) {
|
|
out := new(GetPluginsResponse)
|
|
err := c.cc.Invoke(ctx, RubyVagrant_GetPlugins_FullMethodName, in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *rubyVagrantClient) ParseVagrantfile(ctx context.Context, in *ParseVagrantfileRequest, opts ...grpc.CallOption) (*ParseVagrantfileResponse, error) {
|
|
out := new(ParseVagrantfileResponse)
|
|
err := c.cc.Invoke(ctx, RubyVagrant_ParseVagrantfile_FullMethodName, in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *rubyVagrantClient) ParseVagrantfileProc(ctx context.Context, in *ParseVagrantfileProcRequest, opts ...grpc.CallOption) (*ParseVagrantfileResponse, error) {
|
|
out := new(ParseVagrantfileResponse)
|
|
err := c.cc.Invoke(ctx, RubyVagrant_ParseVagrantfileProc_FullMethodName, in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *rubyVagrantClient) ParseVagrantfileSubvm(ctx context.Context, in *ParseVagrantfileSubvmRequest, opts ...grpc.CallOption) (*ParseVagrantfileResponse, error) {
|
|
out := new(ParseVagrantfileResponse)
|
|
err := c.cc.Invoke(ctx, RubyVagrant_ParseVagrantfileSubvm_FullMethodName, in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *rubyVagrantClient) ParseVagrantfileProvider(ctx context.Context, in *ParseVagrantfileProviderRequest, opts ...grpc.CallOption) (*ParseVagrantfileResponse, error) {
|
|
out := new(ParseVagrantfileResponse)
|
|
err := c.cc.Invoke(ctx, RubyVagrant_ParseVagrantfileProvider_FullMethodName, in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
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, RubyVagrant_Stop_FullMethodName, in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
// RubyVagrantServer is the server API for RubyVagrant service.
|
|
// All implementations must embed UnimplementedRubyVagrantServer
|
|
// for forward compatibility
|
|
type RubyVagrantServer interface {
|
|
// Gets available ruby plugins
|
|
GetPlugins(context.Context, *GetPluginsRequest) (*GetPluginsResponse, error)
|
|
ParseVagrantfile(context.Context, *ParseVagrantfileRequest) (*ParseVagrantfileResponse, error)
|
|
ParseVagrantfileProc(context.Context, *ParseVagrantfileProcRequest) (*ParseVagrantfileResponse, error)
|
|
ParseVagrantfileSubvm(context.Context, *ParseVagrantfileSubvmRequest) (*ParseVagrantfileResponse, error)
|
|
ParseVagrantfileProvider(context.Context, *ParseVagrantfileProviderRequest) (*ParseVagrantfileResponse, error)
|
|
Stop(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
|
|
mustEmbedUnimplementedRubyVagrantServer()
|
|
}
|
|
|
|
// UnimplementedRubyVagrantServer must be embedded to have forward compatible implementations.
|
|
type UnimplementedRubyVagrantServer struct {
|
|
}
|
|
|
|
func (UnimplementedRubyVagrantServer) GetPlugins(context.Context, *GetPluginsRequest) (*GetPluginsResponse, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method GetPlugins not implemented")
|
|
}
|
|
func (UnimplementedRubyVagrantServer) ParseVagrantfile(context.Context, *ParseVagrantfileRequest) (*ParseVagrantfileResponse, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method ParseVagrantfile not implemented")
|
|
}
|
|
func (UnimplementedRubyVagrantServer) ParseVagrantfileProc(context.Context, *ParseVagrantfileProcRequest) (*ParseVagrantfileResponse, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method ParseVagrantfileProc not implemented")
|
|
}
|
|
func (UnimplementedRubyVagrantServer) ParseVagrantfileSubvm(context.Context, *ParseVagrantfileSubvmRequest) (*ParseVagrantfileResponse, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method ParseVagrantfileSubvm not implemented")
|
|
}
|
|
func (UnimplementedRubyVagrantServer) ParseVagrantfileProvider(context.Context, *ParseVagrantfileProviderRequest) (*ParseVagrantfileResponse, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method ParseVagrantfileProvider not implemented")
|
|
}
|
|
func (UnimplementedRubyVagrantServer) Stop(context.Context, *emptypb.Empty) (*emptypb.Empty, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method Stop not implemented")
|
|
}
|
|
func (UnimplementedRubyVagrantServer) mustEmbedUnimplementedRubyVagrantServer() {}
|
|
|
|
// UnsafeRubyVagrantServer may be embedded to opt out of forward compatibility for this service.
|
|
// Use of this interface is not recommended, as added methods to RubyVagrantServer will
|
|
// result in compilation errors.
|
|
type UnsafeRubyVagrantServer interface {
|
|
mustEmbedUnimplementedRubyVagrantServer()
|
|
}
|
|
|
|
func RegisterRubyVagrantServer(s grpc.ServiceRegistrar, srv RubyVagrantServer) {
|
|
s.RegisterService(&RubyVagrant_ServiceDesc, srv)
|
|
}
|
|
|
|
func _RubyVagrant_GetPlugins_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(GetPluginsRequest)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(RubyVagrantServer).GetPlugins(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: RubyVagrant_GetPlugins_FullMethodName,
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(RubyVagrantServer).GetPlugins(ctx, req.(*GetPluginsRequest))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _RubyVagrant_ParseVagrantfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(ParseVagrantfileRequest)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(RubyVagrantServer).ParseVagrantfile(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: RubyVagrant_ParseVagrantfile_FullMethodName,
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(RubyVagrantServer).ParseVagrantfile(ctx, req.(*ParseVagrantfileRequest))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _RubyVagrant_ParseVagrantfileProc_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(ParseVagrantfileProcRequest)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(RubyVagrantServer).ParseVagrantfileProc(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: RubyVagrant_ParseVagrantfileProc_FullMethodName,
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(RubyVagrantServer).ParseVagrantfileProc(ctx, req.(*ParseVagrantfileProcRequest))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _RubyVagrant_ParseVagrantfileSubvm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(ParseVagrantfileSubvmRequest)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(RubyVagrantServer).ParseVagrantfileSubvm(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: RubyVagrant_ParseVagrantfileSubvm_FullMethodName,
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(RubyVagrantServer).ParseVagrantfileSubvm(ctx, req.(*ParseVagrantfileSubvmRequest))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _RubyVagrant_ParseVagrantfileProvider_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(ParseVagrantfileProviderRequest)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(RubyVagrantServer).ParseVagrantfileProvider(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: RubyVagrant_ParseVagrantfileProvider_FullMethodName,
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(RubyVagrantServer).ParseVagrantfileProvider(ctx, req.(*ParseVagrantfileProviderRequest))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _RubyVagrant_Stop_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(emptypb.Empty)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(RubyVagrantServer).Stop(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: RubyVagrant_Stop_FullMethodName,
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(RubyVagrantServer).Stop(ctx, req.(*emptypb.Empty))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
// RubyVagrant_ServiceDesc is the grpc.ServiceDesc for RubyVagrant service.
|
|
// It's only intended for direct use with grpc.RegisterService,
|
|
// and not to be introspected or modified (even as a copy)
|
|
var RubyVagrant_ServiceDesc = grpc.ServiceDesc{
|
|
ServiceName: "hashicorp.vagrant.RubyVagrant",
|
|
HandlerType: (*RubyVagrantServer)(nil),
|
|
Methods: []grpc.MethodDesc{
|
|
{
|
|
MethodName: "GetPlugins",
|
|
Handler: _RubyVagrant_GetPlugins_Handler,
|
|
},
|
|
{
|
|
MethodName: "ParseVagrantfile",
|
|
Handler: _RubyVagrant_ParseVagrantfile_Handler,
|
|
},
|
|
{
|
|
MethodName: "ParseVagrantfileProc",
|
|
Handler: _RubyVagrant_ParseVagrantfileProc_Handler,
|
|
},
|
|
{
|
|
MethodName: "ParseVagrantfileSubvm",
|
|
Handler: _RubyVagrant_ParseVagrantfileSubvm_Handler,
|
|
},
|
|
{
|
|
MethodName: "ParseVagrantfileProvider",
|
|
Handler: _RubyVagrant_ParseVagrantfileProvider_Handler,
|
|
},
|
|
{
|
|
MethodName: "Stop",
|
|
Handler: _RubyVagrant_Stop_Handler,
|
|
},
|
|
},
|
|
Streams: []grpc.StreamDesc{},
|
|
Metadata: "proto/ruby_vagrant/ruby-server.proto",
|
|
}
|