// Code generated by protoc-gen-go. DO NOT EDIT.
// source: language.proto

package pulumirpc

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import empty "github.com/golang/protobuf/ptypes/empty"

import (
	context "golang.org/x/net/context"
	grpc "google.golang.org/grpc"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

type GetRequiredPluginsRequest struct {
	Project              string   `protobuf:"bytes,1,opt,name=project" json:"project,omitempty"`
	Pwd                  string   `protobuf:"bytes,2,opt,name=pwd" json:"pwd,omitempty"`
	Program              string   `protobuf:"bytes,3,opt,name=program" json:"program,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetRequiredPluginsRequest) Reset()         { *m = GetRequiredPluginsRequest{} }
func (m *GetRequiredPluginsRequest) String() string { return proto.CompactTextString(m) }
func (*GetRequiredPluginsRequest) ProtoMessage()    {}
func (*GetRequiredPluginsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_language_aca56bed509f6786, []int{0}
}
func (m *GetRequiredPluginsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetRequiredPluginsRequest.Unmarshal(m, b)
}
func (m *GetRequiredPluginsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetRequiredPluginsRequest.Marshal(b, m, deterministic)
}
func (dst *GetRequiredPluginsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetRequiredPluginsRequest.Merge(dst, src)
}
func (m *GetRequiredPluginsRequest) XXX_Size() int {
	return xxx_messageInfo_GetRequiredPluginsRequest.Size(m)
}
func (m *GetRequiredPluginsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetRequiredPluginsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetRequiredPluginsRequest proto.InternalMessageInfo

func (m *GetRequiredPluginsRequest) GetProject() string {
	if m != nil {
		return m.Project
	}
	return ""
}

func (m *GetRequiredPluginsRequest) GetPwd() string {
	if m != nil {
		return m.Pwd
	}
	return ""
}

func (m *GetRequiredPluginsRequest) GetProgram() string {
	if m != nil {
		return m.Program
	}
	return ""
}

type GetRequiredPluginsResponse struct {
	Plugins              []*PluginDependency `protobuf:"bytes,1,rep,name=plugins" json:"plugins,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *GetRequiredPluginsResponse) Reset()         { *m = GetRequiredPluginsResponse{} }
func (m *GetRequiredPluginsResponse) String() string { return proto.CompactTextString(m) }
func (*GetRequiredPluginsResponse) ProtoMessage()    {}
func (*GetRequiredPluginsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_language_aca56bed509f6786, []int{1}
}
func (m *GetRequiredPluginsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetRequiredPluginsResponse.Unmarshal(m, b)
}
func (m *GetRequiredPluginsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetRequiredPluginsResponse.Marshal(b, m, deterministic)
}
func (dst *GetRequiredPluginsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetRequiredPluginsResponse.Merge(dst, src)
}
func (m *GetRequiredPluginsResponse) XXX_Size() int {
	return xxx_messageInfo_GetRequiredPluginsResponse.Size(m)
}
func (m *GetRequiredPluginsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetRequiredPluginsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetRequiredPluginsResponse proto.InternalMessageInfo

func (m *GetRequiredPluginsResponse) GetPlugins() []*PluginDependency {
	if m != nil {
		return m.Plugins
	}
	return nil
}

// RunRequest asks the interpreter to execute a program.
type RunRequest struct {
	Project              string            `protobuf:"bytes,1,opt,name=project" json:"project,omitempty"`
	Stack                string            `protobuf:"bytes,2,opt,name=stack" json:"stack,omitempty"`
	Pwd                  string            `protobuf:"bytes,3,opt,name=pwd" json:"pwd,omitempty"`
	Program              string            `protobuf:"bytes,4,opt,name=program" json:"program,omitempty"`
	Args                 []string          `protobuf:"bytes,5,rep,name=args" json:"args,omitempty"`
	Config               map[string]string `protobuf:"bytes,6,rep,name=config" json:"config,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	DryRun               bool              `protobuf:"varint,7,opt,name=dryRun" json:"dryRun,omitempty"`
	Parallel             int32             `protobuf:"varint,8,opt,name=parallel" json:"parallel,omitempty"`
	MonitorAddress       string            `protobuf:"bytes,9,opt,name=monitor_address,json=monitorAddress" json:"monitor_address,omitempty"`
	QueryMode            bool              `protobuf:"varint,10,opt,name=queryMode" json:"queryMode,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *RunRequest) Reset()         { *m = RunRequest{} }
func (m *RunRequest) String() string { return proto.CompactTextString(m) }
func (*RunRequest) ProtoMessage()    {}
func (*RunRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_language_aca56bed509f6786, []int{2}
}
func (m *RunRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RunRequest.Unmarshal(m, b)
}
func (m *RunRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RunRequest.Marshal(b, m, deterministic)
}
func (dst *RunRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RunRequest.Merge(dst, src)
}
func (m *RunRequest) XXX_Size() int {
	return xxx_messageInfo_RunRequest.Size(m)
}
func (m *RunRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_RunRequest.DiscardUnknown(m)
}

var xxx_messageInfo_RunRequest proto.InternalMessageInfo

func (m *RunRequest) GetProject() string {
	if m != nil {
		return m.Project
	}
	return ""
}

func (m *RunRequest) GetStack() string {
	if m != nil {
		return m.Stack
	}
	return ""
}

func (m *RunRequest) GetPwd() string {
	if m != nil {
		return m.Pwd
	}
	return ""
}

func (m *RunRequest) GetProgram() string {
	if m != nil {
		return m.Program
	}
	return ""
}

func (m *RunRequest) GetArgs() []string {
	if m != nil {
		return m.Args
	}
	return nil
}

func (m *RunRequest) GetConfig() map[string]string {
	if m != nil {
		return m.Config
	}
	return nil
}

func (m *RunRequest) GetDryRun() bool {
	if m != nil {
		return m.DryRun
	}
	return false
}

func (m *RunRequest) GetParallel() int32 {
	if m != nil {
		return m.Parallel
	}
	return 0
}

func (m *RunRequest) GetMonitorAddress() string {
	if m != nil {
		return m.MonitorAddress
	}
	return ""
}

func (m *RunRequest) GetQueryMode() bool {
	if m != nil {
		return m.QueryMode
	}
	return false
}

// RunResponse is the response back from the interpreter/source back to the monitor.
type RunResponse struct {
	// An unhandled error if any occurred.
	Error string `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	// An error happened.  And it was reported to the user.  Work should stop immediately
	// with nothing further to print to the user.  This corresponds to a "result.Bail()"
	// value in the 'go' layer.
	Bail                 bool     `protobuf:"varint,2,opt,name=bail" json:"bail,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *RunResponse) Reset()         { *m = RunResponse{} }
func (m *RunResponse) String() string { return proto.CompactTextString(m) }
func (*RunResponse) ProtoMessage()    {}
func (*RunResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_language_aca56bed509f6786, []int{3}
}
func (m *RunResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RunResponse.Unmarshal(m, b)
}
func (m *RunResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RunResponse.Marshal(b, m, deterministic)
}
func (dst *RunResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RunResponse.Merge(dst, src)
}
func (m *RunResponse) XXX_Size() int {
	return xxx_messageInfo_RunResponse.Size(m)
}
func (m *RunResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_RunResponse.DiscardUnknown(m)
}

var xxx_messageInfo_RunResponse proto.InternalMessageInfo

func (m *RunResponse) GetError() string {
	if m != nil {
		return m.Error
	}
	return ""
}

func (m *RunResponse) GetBail() bool {
	if m != nil {
		return m.Bail
	}
	return false
}

func init() {
	proto.RegisterType((*GetRequiredPluginsRequest)(nil), "pulumirpc.GetRequiredPluginsRequest")
	proto.RegisterType((*GetRequiredPluginsResponse)(nil), "pulumirpc.GetRequiredPluginsResponse")
	proto.RegisterType((*RunRequest)(nil), "pulumirpc.RunRequest")
	proto.RegisterMapType((map[string]string)(nil), "pulumirpc.RunRequest.ConfigEntry")
	proto.RegisterType((*RunResponse)(nil), "pulumirpc.RunResponse")
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4

// Client API for LanguageRuntime service

type LanguageRuntimeClient interface {
	// GetRequiredPlugins computes the complete set of anticipated plugins required by a program.
	GetRequiredPlugins(ctx context.Context, in *GetRequiredPluginsRequest, opts ...grpc.CallOption) (*GetRequiredPluginsResponse, error)
	// Run executes a program and returns its result.
	Run(ctx context.Context, in *RunRequest, opts ...grpc.CallOption) (*RunResponse, error)
	// GetPluginInfo returns generic information about this plugin, like its version.
	GetPluginInfo(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*PluginInfo, error)
}

type languageRuntimeClient struct {
	cc *grpc.ClientConn
}

func NewLanguageRuntimeClient(cc *grpc.ClientConn) LanguageRuntimeClient {
	return &languageRuntimeClient{cc}
}

func (c *languageRuntimeClient) GetRequiredPlugins(ctx context.Context, in *GetRequiredPluginsRequest, opts ...grpc.CallOption) (*GetRequiredPluginsResponse, error) {
	out := new(GetRequiredPluginsResponse)
	err := grpc.Invoke(ctx, "/pulumirpc.LanguageRuntime/GetRequiredPlugins", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *languageRuntimeClient) Run(ctx context.Context, in *RunRequest, opts ...grpc.CallOption) (*RunResponse, error) {
	out := new(RunResponse)
	err := grpc.Invoke(ctx, "/pulumirpc.LanguageRuntime/Run", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *languageRuntimeClient) GetPluginInfo(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*PluginInfo, error) {
	out := new(PluginInfo)
	err := grpc.Invoke(ctx, "/pulumirpc.LanguageRuntime/GetPluginInfo", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for LanguageRuntime service

type LanguageRuntimeServer interface {
	// GetRequiredPlugins computes the complete set of anticipated plugins required by a program.
	GetRequiredPlugins(context.Context, *GetRequiredPluginsRequest) (*GetRequiredPluginsResponse, error)
	// Run executes a program and returns its result.
	Run(context.Context, *RunRequest) (*RunResponse, error)
	// GetPluginInfo returns generic information about this plugin, like its version.
	GetPluginInfo(context.Context, *empty.Empty) (*PluginInfo, error)
}

func RegisterLanguageRuntimeServer(s *grpc.Server, srv LanguageRuntimeServer) {
	s.RegisterService(&_LanguageRuntime_serviceDesc, srv)
}

func _LanguageRuntime_GetRequiredPlugins_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetRequiredPluginsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LanguageRuntimeServer).GetRequiredPlugins(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pulumirpc.LanguageRuntime/GetRequiredPlugins",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LanguageRuntimeServer).GetRequiredPlugins(ctx, req.(*GetRequiredPluginsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _LanguageRuntime_Run_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RunRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LanguageRuntimeServer).Run(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pulumirpc.LanguageRuntime/Run",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LanguageRuntimeServer).Run(ctx, req.(*RunRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _LanguageRuntime_GetPluginInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LanguageRuntimeServer).GetPluginInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pulumirpc.LanguageRuntime/GetPluginInfo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LanguageRuntimeServer).GetPluginInfo(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

var _LanguageRuntime_serviceDesc = grpc.ServiceDesc{
	ServiceName: "pulumirpc.LanguageRuntime",
	HandlerType: (*LanguageRuntimeServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetRequiredPlugins",
			Handler:    _LanguageRuntime_GetRequiredPlugins_Handler,
		},
		{
			MethodName: "Run",
			Handler:    _LanguageRuntime_Run_Handler,
		},
		{
			MethodName: "GetPluginInfo",
			Handler:    _LanguageRuntime_GetPluginInfo_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "language.proto",
}

func init() { proto.RegisterFile("language.proto", fileDescriptor_language_aca56bed509f6786) }

var fileDescriptor_language_aca56bed509f6786 = []byte{
	// 477 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x84, 0x93, 0xdf, 0x6e, 0xd3, 0x30,
	0x14, 0xc6, 0x97, 0x66, 0xfd, 0x77, 0x0a, 0x1b, 0xb2, 0xb6, 0xca, 0x64, 0x5c, 0x94, 0x08, 0x44,
	0xaf, 0x32, 0x69, 0x88, 0x3f, 0xe3, 0x0a, 0x04, 0xd3, 0x84, 0x04, 0x12, 0x32, 0x0f, 0x80, 0xdc,
	0xe4, 0x34, 0x0a, 0x4b, 0x6d, 0xcf, 0xb1, 0x41, 0x79, 0x68, 0x24, 0x1e, 0x01, 0xd9, 0x4e, 0xbb,
	0xc2, 0x8a, 0x76, 0x77, 0xbe, 0x93, 0xef, 0x24, 0xbf, 0x7c, 0x3e, 0x86, 0x83, 0x9a, 0x8b, 0xd2,
	0xf2, 0x12, 0x33, 0xa5, 0xa5, 0x91, 0x64, 0xac, 0x6c, 0x6d, 0x57, 0x95, 0x56, 0x79, 0x72, 0x4f,
	0xd5, 0xb6, 0xac, 0x44, 0x78, 0x90, 0x9c, 0x94, 0x52, 0x96, 0x35, 0x9e, 0x7a, 0xb5, 0xb0, 0xcb,
	0x53, 0x5c, 0x29, 0xd3, 0x86, 0x87, 0x29, 0x87, 0x87, 0x97, 0x68, 0x18, 0x5e, 0xdb, 0x4a, 0x63,
	0xf1, 0xc5, 0xcf, 0x35, 0x4e, 0x62, 0x63, 0x08, 0x85, 0xa1, 0xd2, 0xf2, 0x3b, 0xe6, 0x86, 0x46,
	0xb3, 0x68, 0x3e, 0x66, 0x6b, 0x49, 0x1e, 0x40, 0xac, 0x7e, 0x16, 0xb4, 0xe7, 0xbb, 0xae, 0xec,
	0xbc, 0xa5, 0xe6, 0x2b, 0x1a, 0x6f, 0xbc, 0x4e, 0xa6, 0x5f, 0x21, 0xd9, 0xf5, 0x89, 0x46, 0x49,
	0xd1, 0x20, 0x79, 0x01, 0xc3, 0x40, 0xdb, 0xd0, 0x68, 0x16, 0xcf, 0x27, 0x67, 0x27, 0xd9, 0xe6,
	0x47, 0xb2, 0x60, 0xfe, 0x80, 0x0a, 0x45, 0x81, 0x22, 0x6f, 0xd9, 0xda, 0x9b, 0xfe, 0xea, 0x01,
	0x30, 0x2b, 0xee, 0x26, 0x3d, 0x82, 0x7e, 0x63, 0x78, 0x7e, 0xd5, 0xb1, 0x06, 0xb1, 0xe6, 0x8f,
	0x77, 0xf2, 0xef, 0xff, 0xc5, 0x4f, 0x08, 0xec, 0x73, 0x5d, 0x36, 0xb4, 0x3f, 0x8b, 0xe7, 0x63,
	0xe6, 0x6b, 0x72, 0x0e, 0x83, 0x5c, 0x8a, 0x65, 0x55, 0xd2, 0x81, 0x87, 0x7e, 0xbc, 0x05, 0x7d,
	0x83, 0x95, 0xbd, 0xf7, 0x9e, 0x0b, 0x61, 0x74, 0xcb, 0xba, 0x01, 0x32, 0x85, 0x41, 0xa1, 0x5b,
	0x66, 0x05, 0x1d, 0xce, 0xa2, 0xf9, 0x88, 0x75, 0x8a, 0x24, 0x30, 0x52, 0x5c, 0xf3, 0xba, 0xc6,
	0x9a, 0x8e, 0x66, 0xd1, 0xbc, 0xcf, 0x36, 0x9a, 0x3c, 0x83, 0xc3, 0x95, 0x14, 0x95, 0x91, 0xfa,
	0x1b, 0x2f, 0x0a, 0x8d, 0x4d, 0x43, 0xc7, 0x1e, 0xf2, 0xa0, 0x6b, 0xbf, 0x0b, 0x5d, 0xf2, 0x08,
	0xc6, 0xd7, 0x16, 0x75, 0xfb, 0x59, 0x16, 0x48, 0xc1, 0xbf, 0xff, 0xa6, 0x91, 0x9c, 0xc3, 0x64,
	0x8b, 0xc8, 0x85, 0x70, 0x85, 0x6d, 0x17, 0x98, 0x2b, 0x5d, 0x58, 0x3f, 0x78, 0x6d, 0x71, 0x1d,
	0x96, 0x17, 0x6f, 0x7a, 0xaf, 0xa3, 0xf4, 0x15, 0x4c, 0xfc, 0x7f, 0x75, 0xa7, 0x76, 0x04, 0x7d,
	0xd4, 0x5a, 0xea, 0x6e, 0x38, 0x08, 0x97, 0xd4, 0x82, 0x57, 0xb5, 0x9f, 0x1e, 0x31, 0x5f, 0x9f,
	0xfd, 0x8e, 0xe0, 0xf0, 0x53, 0xb7, 0xa9, 0xcc, 0x0a, 0x53, 0xad, 0x90, 0xe4, 0x40, 0x6e, 0x6f,
	0x04, 0x79, 0xb2, 0x95, 0xe1, 0x7f, 0x77, 0x32, 0x79, 0x7a, 0x87, 0x2b, 0x00, 0xa6, 0x7b, 0xe4,
	0x25, 0xc4, 0x2e, 0xd6, 0xe3, 0x9d, 0x27, 0x93, 0x4c, 0xff, 0x6d, 0x6f, 0xe6, 0xde, 0xc2, 0xfd,
	0x4b, 0x34, 0xe1, 0x7d, 0x1f, 0xc5, 0x52, 0x92, 0x69, 0x16, 0x2e, 0x50, 0xb6, 0xbe, 0x40, 0xd9,
	0x85, 0xbb, 0x40, 0xc9, 0xf1, 0xad, 0x45, 0x75, 0xf6, 0x74, 0x6f, 0x31, 0xf0, 0xc6, 0xe7, 0x7f,
	0x02, 0x00, 0x00, 0xff, 0xff, 0x4e, 0xdb, 0x96, 0xaa, 0xa2, 0x03, 0x00, 0x00,
}
