// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: controller.proto

package pb

import (
	context "context"
	fmt "fmt"
	proto "github.com/gogo/protobuf/proto"
	control "github.com/moby/buildkit/api/services/control"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	math "math"
)

// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package

type BuildRequest struct {
	Ref                  string        `protobuf:"bytes,1,opt,name=Ref,proto3" json:"Ref,omitempty"`
	Options              *BuildOptions `protobuf:"bytes,2,opt,name=Options,proto3" json:"Options,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

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

var xxx_messageInfo_BuildRequest proto.InternalMessageInfo

func (m *BuildRequest) GetRef() string {
	if m != nil {
		return m.Ref
	}
	return ""
}

func (m *BuildRequest) GetOptions() *BuildOptions {
	if m != nil {
		return m.Options
	}
	return nil
}

type BuildOptions struct {
	ContextPath          string               `protobuf:"bytes,1,opt,name=ContextPath,proto3" json:"ContextPath,omitempty"`
	DockerfileName       string               `protobuf:"bytes,2,opt,name=DockerfileName,proto3" json:"DockerfileName,omitempty"`
	PrintFunc            string               `protobuf:"bytes,3,opt,name=PrintFunc,proto3" json:"PrintFunc,omitempty"`
	NamedContexts        map[string]string    `protobuf:"bytes,4,rep,name=NamedContexts,proto3" json:"NamedContexts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	Allow                []string             `protobuf:"bytes,5,rep,name=Allow,proto3" json:"Allow,omitempty"`
	Attests              []*Attest            `protobuf:"bytes,6,rep,name=Attests,proto3" json:"Attests,omitempty"`
	BuildArgs            map[string]string    `protobuf:"bytes,7,rep,name=BuildArgs,proto3" json:"BuildArgs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	CacheFrom            []*CacheOptionsEntry `protobuf:"bytes,8,rep,name=CacheFrom,proto3" json:"CacheFrom,omitempty"`
	CacheTo              []*CacheOptionsEntry `protobuf:"bytes,9,rep,name=CacheTo,proto3" json:"CacheTo,omitempty"`
	CgroupParent         string               `protobuf:"bytes,10,opt,name=CgroupParent,proto3" json:"CgroupParent,omitempty"`
	Exports              []*ExportEntry       `protobuf:"bytes,11,rep,name=Exports,proto3" json:"Exports,omitempty"`
	ExtraHosts           []string             `protobuf:"bytes,12,rep,name=ExtraHosts,proto3" json:"ExtraHosts,omitempty"`
	Labels               map[string]string    `protobuf:"bytes,13,rep,name=Labels,proto3" json:"Labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	NetworkMode          string               `protobuf:"bytes,14,opt,name=NetworkMode,proto3" json:"NetworkMode,omitempty"`
	NoCacheFilter        []string             `protobuf:"bytes,15,rep,name=NoCacheFilter,proto3" json:"NoCacheFilter,omitempty"`
	Platforms            []string             `protobuf:"bytes,16,rep,name=Platforms,proto3" json:"Platforms,omitempty"`
	Secrets              []*Secret            `protobuf:"bytes,17,rep,name=Secrets,proto3" json:"Secrets,omitempty"`
	ShmSize              int64                `protobuf:"varint,18,opt,name=ShmSize,proto3" json:"ShmSize,omitempty"`
	SSH                  []*SSH               `protobuf:"bytes,19,rep,name=SSH,proto3" json:"SSH,omitempty"`
	Tags                 []string             `protobuf:"bytes,20,rep,name=Tags,proto3" json:"Tags,omitempty"`
	Target               string               `protobuf:"bytes,21,opt,name=Target,proto3" json:"Target,omitempty"`
	Ulimits              *UlimitOpt           `protobuf:"bytes,22,opt,name=Ulimits,proto3" json:"Ulimits,omitempty"`
	Opts                 *CommonOptions       `protobuf:"bytes,24,opt,name=Opts,proto3" json:"Opts,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

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

var xxx_messageInfo_BuildOptions proto.InternalMessageInfo

func (m *BuildOptions) GetContextPath() string {
	if m != nil {
		return m.ContextPath
	}
	return ""
}

func (m *BuildOptions) GetDockerfileName() string {
	if m != nil {
		return m.DockerfileName
	}
	return ""
}

func (m *BuildOptions) GetPrintFunc() string {
	if m != nil {
		return m.PrintFunc
	}
	return ""
}

func (m *BuildOptions) GetNamedContexts() map[string]string {
	if m != nil {
		return m.NamedContexts
	}
	return nil
}

func (m *BuildOptions) GetAllow() []string {
	if m != nil {
		return m.Allow
	}
	return nil
}

func (m *BuildOptions) GetAttests() []*Attest {
	if m != nil {
		return m.Attests
	}
	return nil
}

func (m *BuildOptions) GetBuildArgs() map[string]string {
	if m != nil {
		return m.BuildArgs
	}
	return nil
}

func (m *BuildOptions) GetCacheFrom() []*CacheOptionsEntry {
	if m != nil {
		return m.CacheFrom
	}
	return nil
}

func (m *BuildOptions) GetCacheTo() []*CacheOptionsEntry {
	if m != nil {
		return m.CacheTo
	}
	return nil
}

func (m *BuildOptions) GetCgroupParent() string {
	if m != nil {
		return m.CgroupParent
	}
	return ""
}

func (m *BuildOptions) GetExports() []*ExportEntry {
	if m != nil {
		return m.Exports
	}
	return nil
}

func (m *BuildOptions) GetExtraHosts() []string {
	if m != nil {
		return m.ExtraHosts
	}
	return nil
}

func (m *BuildOptions) GetLabels() map[string]string {
	if m != nil {
		return m.Labels
	}
	return nil
}

func (m *BuildOptions) GetNetworkMode() string {
	if m != nil {
		return m.NetworkMode
	}
	return ""
}

func (m *BuildOptions) GetNoCacheFilter() []string {
	if m != nil {
		return m.NoCacheFilter
	}
	return nil
}

func (m *BuildOptions) GetPlatforms() []string {
	if m != nil {
		return m.Platforms
	}
	return nil
}

func (m *BuildOptions) GetSecrets() []*Secret {
	if m != nil {
		return m.Secrets
	}
	return nil
}

func (m *BuildOptions) GetShmSize() int64 {
	if m != nil {
		return m.ShmSize
	}
	return 0
}

func (m *BuildOptions) GetSSH() []*SSH {
	if m != nil {
		return m.SSH
	}
	return nil
}

func (m *BuildOptions) GetTags() []string {
	if m != nil {
		return m.Tags
	}
	return nil
}

func (m *BuildOptions) GetTarget() string {
	if m != nil {
		return m.Target
	}
	return ""
}

func (m *BuildOptions) GetUlimits() *UlimitOpt {
	if m != nil {
		return m.Ulimits
	}
	return nil
}

func (m *BuildOptions) GetOpts() *CommonOptions {
	if m != nil {
		return m.Opts
	}
	return nil
}

type ExportEntry struct {
	Type                 string            `protobuf:"bytes,1,opt,name=Type,proto3" json:"Type,omitempty"`
	Attrs                map[string]string `protobuf:"bytes,2,rep,name=Attrs,proto3" json:"Attrs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	Destination          string            `protobuf:"bytes,3,opt,name=Destination,proto3" json:"Destination,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

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

var xxx_messageInfo_ExportEntry proto.InternalMessageInfo

func (m *ExportEntry) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

func (m *ExportEntry) GetAttrs() map[string]string {
	if m != nil {
		return m.Attrs
	}
	return nil
}

func (m *ExportEntry) GetDestination() string {
	if m != nil {
		return m.Destination
	}
	return ""
}

type CacheOptionsEntry struct {
	Type                 string            `protobuf:"bytes,1,opt,name=Type,proto3" json:"Type,omitempty"`
	Attrs                map[string]string `protobuf:"bytes,2,rep,name=Attrs,proto3" json:"Attrs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

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

var xxx_messageInfo_CacheOptionsEntry proto.InternalMessageInfo

func (m *CacheOptionsEntry) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

func (m *CacheOptionsEntry) GetAttrs() map[string]string {
	if m != nil {
		return m.Attrs
	}
	return nil
}

type Attest struct {
	Type                 string   `protobuf:"bytes,1,opt,name=Type,proto3" json:"Type,omitempty"`
	Disabled             bool     `protobuf:"varint,2,opt,name=Disabled,proto3" json:"Disabled,omitempty"`
	Attrs                string   `protobuf:"bytes,3,opt,name=Attrs,proto3" json:"Attrs,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_Attest proto.InternalMessageInfo

func (m *Attest) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

func (m *Attest) GetDisabled() bool {
	if m != nil {
		return m.Disabled
	}
	return false
}

func (m *Attest) GetAttrs() string {
	if m != nil {
		return m.Attrs
	}
	return ""
}

type SSH struct {
	ID                   string   `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Paths                []string `protobuf:"bytes,2,rep,name=Paths,proto3" json:"Paths,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_SSH proto.InternalMessageInfo

func (m *SSH) GetID() string {
	if m != nil {
		return m.ID
	}
	return ""
}

func (m *SSH) GetPaths() []string {
	if m != nil {
		return m.Paths
	}
	return nil
}

type Secret struct {
	ID                   string   `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"`
	FilePath             string   `protobuf:"bytes,2,opt,name=FilePath,proto3" json:"FilePath,omitempty"`
	Env                  string   `protobuf:"bytes,3,opt,name=Env,proto3" json:"Env,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_Secret proto.InternalMessageInfo

func (m *Secret) GetID() string {
	if m != nil {
		return m.ID
	}
	return ""
}

func (m *Secret) GetFilePath() string {
	if m != nil {
		return m.FilePath
	}
	return ""
}

func (m *Secret) GetEnv() string {
	if m != nil {
		return m.Env
	}
	return ""
}

type UlimitOpt struct {
	Values               map[string]*Ulimit `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

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

var xxx_messageInfo_UlimitOpt proto.InternalMessageInfo

func (m *UlimitOpt) GetValues() map[string]*Ulimit {
	if m != nil {
		return m.Values
	}
	return nil
}

type Ulimit struct {
	Name                 string   `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"`
	Hard                 int64    `protobuf:"varint,2,opt,name=Hard,proto3" json:"Hard,omitempty"`
	Soft                 int64    `protobuf:"varint,3,opt,name=Soft,proto3" json:"Soft,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_Ulimit proto.InternalMessageInfo

func (m *Ulimit) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *Ulimit) GetHard() int64 {
	if m != nil {
		return m.Hard
	}
	return 0
}

func (m *Ulimit) GetSoft() int64 {
	if m != nil {
		return m.Soft
	}
	return 0
}

type CommonOptions struct {
	Builder      string `protobuf:"bytes,1,opt,name=Builder,proto3" json:"Builder,omitempty"`
	MetadataFile string `protobuf:"bytes,2,opt,name=MetadataFile,proto3" json:"MetadataFile,omitempty"`
	NoCache      bool   `protobuf:"varint,3,opt,name=NoCache,proto3" json:"NoCache,omitempty"`
	// string Progress: no progress view on server side
	Pull                 bool     `protobuf:"varint,4,opt,name=Pull,proto3" json:"Pull,omitempty"`
	ExportPush           bool     `protobuf:"varint,5,opt,name=ExportPush,proto3" json:"ExportPush,omitempty"`
	ExportLoad           bool     `protobuf:"varint,6,opt,name=ExportLoad,proto3" json:"ExportLoad,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_CommonOptions proto.InternalMessageInfo

func (m *CommonOptions) GetBuilder() string {
	if m != nil {
		return m.Builder
	}
	return ""
}

func (m *CommonOptions) GetMetadataFile() string {
	if m != nil {
		return m.MetadataFile
	}
	return ""
}

func (m *CommonOptions) GetNoCache() bool {
	if m != nil {
		return m.NoCache
	}
	return false
}

func (m *CommonOptions) GetPull() bool {
	if m != nil {
		return m.Pull
	}
	return false
}

func (m *CommonOptions) GetExportPush() bool {
	if m != nil {
		return m.ExportPush
	}
	return false
}

func (m *CommonOptions) GetExportLoad() bool {
	if m != nil {
		return m.ExportLoad
	}
	return false
}

type BuildResponse struct {
	ExporterResponse     map[string]string `protobuf:"bytes,1,rep,name=ExporterResponse,proto3" json:"ExporterResponse,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

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

var xxx_messageInfo_BuildResponse proto.InternalMessageInfo

func (m *BuildResponse) GetExporterResponse() map[string]string {
	if m != nil {
		return m.ExporterResponse
	}
	return nil
}

type DisconnectRequest struct {
	Ref                  string   `protobuf:"bytes,1,opt,name=Ref,proto3" json:"Ref,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_DisconnectRequest proto.InternalMessageInfo

func (m *DisconnectRequest) GetRef() string {
	if m != nil {
		return m.Ref
	}
	return ""
}

type DisconnectResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_DisconnectResponse proto.InternalMessageInfo

type ListRequest struct {
	Ref                  string   `protobuf:"bytes,1,opt,name=Ref,proto3" json:"Ref,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_ListRequest proto.InternalMessageInfo

func (m *ListRequest) GetRef() string {
	if m != nil {
		return m.Ref
	}
	return ""
}

type ListResponse struct {
	Keys                 []string `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_ListResponse proto.InternalMessageInfo

func (m *ListResponse) GetKeys() []string {
	if m != nil {
		return m.Keys
	}
	return nil
}

type InputMessage struct {
	// Types that are valid to be assigned to Input:
	//	*InputMessage_Init
	//	*InputMessage_Data
	Input                isInputMessage_Input `protobuf_oneof:"Input"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

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

var xxx_messageInfo_InputMessage proto.InternalMessageInfo

type isInputMessage_Input interface {
	isInputMessage_Input()
}

type InputMessage_Init struct {
	Init *InputInitMessage `protobuf:"bytes,1,opt,name=Init,proto3,oneof" json:"Init,omitempty"`
}
type InputMessage_Data struct {
	Data *DataMessage `protobuf:"bytes,2,opt,name=Data,proto3,oneof" json:"Data,omitempty"`
}

func (*InputMessage_Init) isInputMessage_Input() {}
func (*InputMessage_Data) isInputMessage_Input() {}

func (m *InputMessage) GetInput() isInputMessage_Input {
	if m != nil {
		return m.Input
	}
	return nil
}

func (m *InputMessage) GetInit() *InputInitMessage {
	if x, ok := m.GetInput().(*InputMessage_Init); ok {
		return x.Init
	}
	return nil
}

func (m *InputMessage) GetData() *DataMessage {
	if x, ok := m.GetInput().(*InputMessage_Data); ok {
		return x.Data
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*InputMessage) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*InputMessage_Init)(nil),
		(*InputMessage_Data)(nil),
	}
}

type InputInitMessage struct {
	Ref                  string   `protobuf:"bytes,1,opt,name=Ref,proto3" json:"Ref,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_InputInitMessage proto.InternalMessageInfo

func (m *InputInitMessage) GetRef() string {
	if m != nil {
		return m.Ref
	}
	return ""
}

type DataMessage struct {
	EOF                  bool     `protobuf:"varint,1,opt,name=EOF,proto3" json:"EOF,omitempty"`
	Data                 []byte   `protobuf:"bytes,2,opt,name=Data,proto3" json:"Data,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_DataMessage proto.InternalMessageInfo

func (m *DataMessage) GetEOF() bool {
	if m != nil {
		return m.EOF
	}
	return false
}

func (m *DataMessage) GetData() []byte {
	if m != nil {
		return m.Data
	}
	return nil
}

type InputResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_InputResponse proto.InternalMessageInfo

type Message struct {
	// Types that are valid to be assigned to Input:
	//	*Message_Init
	//	*Message_File
	//	*Message_Resize
	//	*Message_Signal
	Input                isMessage_Input `protobuf_oneof:"Input"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

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

var xxx_messageInfo_Message proto.InternalMessageInfo

type isMessage_Input interface {
	isMessage_Input()
}

type Message_Init struct {
	Init *InitMessage `protobuf:"bytes,1,opt,name=Init,proto3,oneof" json:"Init,omitempty"`
}
type Message_File struct {
	File *FdMessage `protobuf:"bytes,2,opt,name=File,proto3,oneof" json:"File,omitempty"`
}
type Message_Resize struct {
	Resize *ResizeMessage `protobuf:"bytes,3,opt,name=Resize,proto3,oneof" json:"Resize,omitempty"`
}
type Message_Signal struct {
	Signal *SignalMessage `protobuf:"bytes,4,opt,name=Signal,proto3,oneof" json:"Signal,omitempty"`
}

func (*Message_Init) isMessage_Input()   {}
func (*Message_File) isMessage_Input()   {}
func (*Message_Resize) isMessage_Input() {}
func (*Message_Signal) isMessage_Input() {}

func (m *Message) GetInput() isMessage_Input {
	if m != nil {
		return m.Input
	}
	return nil
}

func (m *Message) GetInit() *InitMessage {
	if x, ok := m.GetInput().(*Message_Init); ok {
		return x.Init
	}
	return nil
}

func (m *Message) GetFile() *FdMessage {
	if x, ok := m.GetInput().(*Message_File); ok {
		return x.File
	}
	return nil
}

func (m *Message) GetResize() *ResizeMessage {
	if x, ok := m.GetInput().(*Message_Resize); ok {
		return x.Resize
	}
	return nil
}

func (m *Message) GetSignal() *SignalMessage {
	if x, ok := m.GetInput().(*Message_Signal); ok {
		return x.Signal
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*Message) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*Message_Init)(nil),
		(*Message_File)(nil),
		(*Message_Resize)(nil),
		(*Message_Signal)(nil),
	}
}

type InitMessage struct {
	Ref                  string           `protobuf:"bytes,1,opt,name=Ref,proto3" json:"Ref,omitempty"`
	ContainerConfig      *ContainerConfig `protobuf:"bytes,2,opt,name=ContainerConfig,proto3" json:"ContainerConfig,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

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

var xxx_messageInfo_InitMessage proto.InternalMessageInfo

func (m *InitMessage) GetRef() string {
	if m != nil {
		return m.Ref
	}
	return ""
}

func (m *InitMessage) GetContainerConfig() *ContainerConfig {
	if m != nil {
		return m.ContainerConfig
	}
	return nil
}

type ContainerConfig struct {
	Entrypoint           []string `protobuf:"bytes,1,rep,name=Entrypoint,proto3" json:"Entrypoint,omitempty"`
	Cmd                  []string `protobuf:"bytes,2,rep,name=Cmd,proto3" json:"Cmd,omitempty"`
	Env                  []string `protobuf:"bytes,3,rep,name=Env,proto3" json:"Env,omitempty"`
	User                 string   `protobuf:"bytes,4,opt,name=User,proto3" json:"User,omitempty"`
	NoUser               bool     `protobuf:"varint,5,opt,name=NoUser,proto3" json:"NoUser,omitempty"`
	Cwd                  string   `protobuf:"bytes,6,opt,name=Cwd,proto3" json:"Cwd,omitempty"`
	NoCwd                bool     `protobuf:"varint,7,opt,name=NoCwd,proto3" json:"NoCwd,omitempty"`
	Tty                  bool     `protobuf:"varint,8,opt,name=Tty,proto3" json:"Tty,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_ContainerConfig proto.InternalMessageInfo

func (m *ContainerConfig) GetEntrypoint() []string {
	if m != nil {
		return m.Entrypoint
	}
	return nil
}

func (m *ContainerConfig) GetCmd() []string {
	if m != nil {
		return m.Cmd
	}
	return nil
}

func (m *ContainerConfig) GetEnv() []string {
	if m != nil {
		return m.Env
	}
	return nil
}

func (m *ContainerConfig) GetUser() string {
	if m != nil {
		return m.User
	}
	return ""
}

func (m *ContainerConfig) GetNoUser() bool {
	if m != nil {
		return m.NoUser
	}
	return false
}

func (m *ContainerConfig) GetCwd() string {
	if m != nil {
		return m.Cwd
	}
	return ""
}

func (m *ContainerConfig) GetNoCwd() bool {
	if m != nil {
		return m.NoCwd
	}
	return false
}

func (m *ContainerConfig) GetTty() bool {
	if m != nil {
		return m.Tty
	}
	return false
}

type FdMessage struct {
	Fd                   uint32   `protobuf:"varint,1,opt,name=Fd,proto3" json:"Fd,omitempty"`
	EOF                  bool     `protobuf:"varint,2,opt,name=EOF,proto3" json:"EOF,omitempty"`
	Data                 []byte   `protobuf:"bytes,3,opt,name=Data,proto3" json:"Data,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_FdMessage proto.InternalMessageInfo

func (m *FdMessage) GetFd() uint32 {
	if m != nil {
		return m.Fd
	}
	return 0
}

func (m *FdMessage) GetEOF() bool {
	if m != nil {
		return m.EOF
	}
	return false
}

func (m *FdMessage) GetData() []byte {
	if m != nil {
		return m.Data
	}
	return nil
}

type ResizeMessage struct {
	Rows                 uint32   `protobuf:"varint,1,opt,name=Rows,proto3" json:"Rows,omitempty"`
	Cols                 uint32   `protobuf:"varint,2,opt,name=Cols,proto3" json:"Cols,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_ResizeMessage proto.InternalMessageInfo

func (m *ResizeMessage) GetRows() uint32 {
	if m != nil {
		return m.Rows
	}
	return 0
}

func (m *ResizeMessage) GetCols() uint32 {
	if m != nil {
		return m.Cols
	}
	return 0
}

type SignalMessage struct {
	// we only send name (ie HUP, INT) because the int values
	// are platform dependent.
	Name                 string   `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_SignalMessage proto.InternalMessageInfo

func (m *SignalMessage) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

type StatusRequest struct {
	Ref                  string   `protobuf:"bytes,1,opt,name=Ref,proto3" json:"Ref,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_StatusRequest proto.InternalMessageInfo

func (m *StatusRequest) GetRef() string {
	if m != nil {
		return m.Ref
	}
	return ""
}

type StatusResponse struct {
	Vertexes             []*control.Vertex        `protobuf:"bytes,1,rep,name=vertexes,proto3" json:"vertexes,omitempty"`
	Statuses             []*control.VertexStatus  `protobuf:"bytes,2,rep,name=statuses,proto3" json:"statuses,omitempty"`
	Logs                 []*control.VertexLog     `protobuf:"bytes,3,rep,name=logs,proto3" json:"logs,omitempty"`
	Warnings             []*control.VertexWarning `protobuf:"bytes,4,rep,name=warnings,proto3" json:"warnings,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

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

var xxx_messageInfo_StatusResponse proto.InternalMessageInfo

func (m *StatusResponse) GetVertexes() []*control.Vertex {
	if m != nil {
		return m.Vertexes
	}
	return nil
}

func (m *StatusResponse) GetStatuses() []*control.VertexStatus {
	if m != nil {
		return m.Statuses
	}
	return nil
}

func (m *StatusResponse) GetLogs() []*control.VertexLog {
	if m != nil {
		return m.Logs
	}
	return nil
}

func (m *StatusResponse) GetWarnings() []*control.VertexWarning {
	if m != nil {
		return m.Warnings
	}
	return nil
}

type InfoRequest struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_InfoRequest proto.InternalMessageInfo

type InfoResponse struct {
	BuildxVersion        *BuildxVersion `protobuf:"bytes,1,opt,name=buildxVersion,proto3" json:"buildxVersion,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

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

var xxx_messageInfo_InfoResponse proto.InternalMessageInfo

func (m *InfoResponse) GetBuildxVersion() *BuildxVersion {
	if m != nil {
		return m.BuildxVersion
	}
	return nil
}

type BuildxVersion struct {
	Package              string   `protobuf:"bytes,1,opt,name=package,proto3" json:"package,omitempty"`
	Version              string   `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	Revision             string   `protobuf:"bytes,3,opt,name=revision,proto3" json:"revision,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_BuildxVersion proto.InternalMessageInfo

func (m *BuildxVersion) GetPackage() string {
	if m != nil {
		return m.Package
	}
	return ""
}

func (m *BuildxVersion) GetVersion() string {
	if m != nil {
		return m.Version
	}
	return ""
}

func (m *BuildxVersion) GetRevision() string {
	if m != nil {
		return m.Revision
	}
	return ""
}

func init() {
	proto.RegisterType((*BuildRequest)(nil), "buildx.controller.v1.BuildRequest")
	proto.RegisterType((*BuildOptions)(nil), "buildx.controller.v1.BuildOptions")
	proto.RegisterMapType((map[string]string)(nil), "buildx.controller.v1.BuildOptions.BuildArgsEntry")
	proto.RegisterMapType((map[string]string)(nil), "buildx.controller.v1.BuildOptions.LabelsEntry")
	proto.RegisterMapType((map[string]string)(nil), "buildx.controller.v1.BuildOptions.NamedContextsEntry")
	proto.RegisterType((*ExportEntry)(nil), "buildx.controller.v1.ExportEntry")
	proto.RegisterMapType((map[string]string)(nil), "buildx.controller.v1.ExportEntry.AttrsEntry")
	proto.RegisterType((*CacheOptionsEntry)(nil), "buildx.controller.v1.CacheOptionsEntry")
	proto.RegisterMapType((map[string]string)(nil), "buildx.controller.v1.CacheOptionsEntry.AttrsEntry")
	proto.RegisterType((*Attest)(nil), "buildx.controller.v1.Attest")
	proto.RegisterType((*SSH)(nil), "buildx.controller.v1.SSH")
	proto.RegisterType((*Secret)(nil), "buildx.controller.v1.Secret")
	proto.RegisterType((*UlimitOpt)(nil), "buildx.controller.v1.UlimitOpt")
	proto.RegisterMapType((map[string]*Ulimit)(nil), "buildx.controller.v1.UlimitOpt.ValuesEntry")
	proto.RegisterType((*Ulimit)(nil), "buildx.controller.v1.Ulimit")
	proto.RegisterType((*CommonOptions)(nil), "buildx.controller.v1.CommonOptions")
	proto.RegisterType((*BuildResponse)(nil), "buildx.controller.v1.BuildResponse")
	proto.RegisterMapType((map[string]string)(nil), "buildx.controller.v1.BuildResponse.ExporterResponseEntry")
	proto.RegisterType((*DisconnectRequest)(nil), "buildx.controller.v1.DisconnectRequest")
	proto.RegisterType((*DisconnectResponse)(nil), "buildx.controller.v1.DisconnectResponse")
	proto.RegisterType((*ListRequest)(nil), "buildx.controller.v1.ListRequest")
	proto.RegisterType((*ListResponse)(nil), "buildx.controller.v1.ListResponse")
	proto.RegisterType((*InputMessage)(nil), "buildx.controller.v1.InputMessage")
	proto.RegisterType((*InputInitMessage)(nil), "buildx.controller.v1.InputInitMessage")
	proto.RegisterType((*DataMessage)(nil), "buildx.controller.v1.DataMessage")
	proto.RegisterType((*InputResponse)(nil), "buildx.controller.v1.InputResponse")
	proto.RegisterType((*Message)(nil), "buildx.controller.v1.Message")
	proto.RegisterType((*InitMessage)(nil), "buildx.controller.v1.InitMessage")
	proto.RegisterType((*ContainerConfig)(nil), "buildx.controller.v1.ContainerConfig")
	proto.RegisterType((*FdMessage)(nil), "buildx.controller.v1.FdMessage")
	proto.RegisterType((*ResizeMessage)(nil), "buildx.controller.v1.ResizeMessage")
	proto.RegisterType((*SignalMessage)(nil), "buildx.controller.v1.SignalMessage")
	proto.RegisterType((*StatusRequest)(nil), "buildx.controller.v1.StatusRequest")
	proto.RegisterType((*StatusResponse)(nil), "buildx.controller.v1.StatusResponse")
	proto.RegisterType((*InfoRequest)(nil), "buildx.controller.v1.InfoRequest")
	proto.RegisterType((*InfoResponse)(nil), "buildx.controller.v1.InfoResponse")
	proto.RegisterType((*BuildxVersion)(nil), "buildx.controller.v1.BuildxVersion")
}

func init() { proto.RegisterFile("controller.proto", fileDescriptor_ed7f10298fa1d90f) }

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

// 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

// ControllerClient is the client API for Controller service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type ControllerClient interface {
	Build(ctx context.Context, in *BuildRequest, opts ...grpc.CallOption) (*BuildResponse, error)
	Status(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (Controller_StatusClient, error)
	Input(ctx context.Context, opts ...grpc.CallOption) (Controller_InputClient, error)
	Invoke(ctx context.Context, opts ...grpc.CallOption) (Controller_InvokeClient, error)
	List(ctx context.Context, in *ListRequest, opts ...grpc.CallOption) (*ListResponse, error)
	Disconnect(ctx context.Context, in *DisconnectRequest, opts ...grpc.CallOption) (*DisconnectResponse, error)
	Info(ctx context.Context, in *InfoRequest, opts ...grpc.CallOption) (*InfoResponse, error)
}

type controllerClient struct {
	cc *grpc.ClientConn
}

func NewControllerClient(cc *grpc.ClientConn) ControllerClient {
	return &controllerClient{cc}
}

func (c *controllerClient) Build(ctx context.Context, in *BuildRequest, opts ...grpc.CallOption) (*BuildResponse, error) {
	out := new(BuildResponse)
	err := c.cc.Invoke(ctx, "/buildx.controller.v1.Controller/Build", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *controllerClient) Status(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (Controller_StatusClient, error) {
	stream, err := c.cc.NewStream(ctx, &_Controller_serviceDesc.Streams[0], "/buildx.controller.v1.Controller/Status", opts...)
	if err != nil {
		return nil, err
	}
	x := &controllerStatusClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type Controller_StatusClient interface {
	Recv() (*StatusResponse, error)
	grpc.ClientStream
}

type controllerStatusClient struct {
	grpc.ClientStream
}

func (x *controllerStatusClient) Recv() (*StatusResponse, error) {
	m := new(StatusResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *controllerClient) Input(ctx context.Context, opts ...grpc.CallOption) (Controller_InputClient, error) {
	stream, err := c.cc.NewStream(ctx, &_Controller_serviceDesc.Streams[1], "/buildx.controller.v1.Controller/Input", opts...)
	if err != nil {
		return nil, err
	}
	x := &controllerInputClient{stream}
	return x, nil
}

type Controller_InputClient interface {
	Send(*InputMessage) error
	CloseAndRecv() (*InputResponse, error)
	grpc.ClientStream
}

type controllerInputClient struct {
	grpc.ClientStream
}

func (x *controllerInputClient) Send(m *InputMessage) error {
	return x.ClientStream.SendMsg(m)
}

func (x *controllerInputClient) CloseAndRecv() (*InputResponse, error) {
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	m := new(InputResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *controllerClient) Invoke(ctx context.Context, opts ...grpc.CallOption) (Controller_InvokeClient, error) {
	stream, err := c.cc.NewStream(ctx, &_Controller_serviceDesc.Streams[2], "/buildx.controller.v1.Controller/Invoke", opts...)
	if err != nil {
		return nil, err
	}
	x := &controllerInvokeClient{stream}
	return x, nil
}

type Controller_InvokeClient interface {
	Send(*Message) error
	Recv() (*Message, error)
	grpc.ClientStream
}

type controllerInvokeClient struct {
	grpc.ClientStream
}

func (x *controllerInvokeClient) Send(m *Message) error {
	return x.ClientStream.SendMsg(m)
}

func (x *controllerInvokeClient) Recv() (*Message, error) {
	m := new(Message)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *controllerClient) List(ctx context.Context, in *ListRequest, opts ...grpc.CallOption) (*ListResponse, error) {
	out := new(ListResponse)
	err := c.cc.Invoke(ctx, "/buildx.controller.v1.Controller/List", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *controllerClient) Disconnect(ctx context.Context, in *DisconnectRequest, opts ...grpc.CallOption) (*DisconnectResponse, error) {
	out := new(DisconnectResponse)
	err := c.cc.Invoke(ctx, "/buildx.controller.v1.Controller/Disconnect", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *controllerClient) Info(ctx context.Context, in *InfoRequest, opts ...grpc.CallOption) (*InfoResponse, error) {
	out := new(InfoResponse)
	err := c.cc.Invoke(ctx, "/buildx.controller.v1.Controller/Info", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// ControllerServer is the server API for Controller service.
type ControllerServer interface {
	Build(context.Context, *BuildRequest) (*BuildResponse, error)
	Status(*StatusRequest, Controller_StatusServer) error
	Input(Controller_InputServer) error
	Invoke(Controller_InvokeServer) error
	List(context.Context, *ListRequest) (*ListResponse, error)
	Disconnect(context.Context, *DisconnectRequest) (*DisconnectResponse, error)
	Info(context.Context, *InfoRequest) (*InfoResponse, error)
}

// UnimplementedControllerServer can be embedded to have forward compatible implementations.
type UnimplementedControllerServer struct {
}

func (*UnimplementedControllerServer) Build(ctx context.Context, req *BuildRequest) (*BuildResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Build not implemented")
}
func (*UnimplementedControllerServer) Status(req *StatusRequest, srv Controller_StatusServer) error {
	return status.Errorf(codes.Unimplemented, "method Status not implemented")
}
func (*UnimplementedControllerServer) Input(srv Controller_InputServer) error {
	return status.Errorf(codes.Unimplemented, "method Input not implemented")
}
func (*UnimplementedControllerServer) Invoke(srv Controller_InvokeServer) error {
	return status.Errorf(codes.Unimplemented, "method Invoke not implemented")
}
func (*UnimplementedControllerServer) List(ctx context.Context, req *ListRequest) (*ListResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method List not implemented")
}
func (*UnimplementedControllerServer) Disconnect(ctx context.Context, req *DisconnectRequest) (*DisconnectResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Disconnect not implemented")
}
func (*UnimplementedControllerServer) Info(ctx context.Context, req *InfoRequest) (*InfoResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Info not implemented")
}

func RegisterControllerServer(s *grpc.Server, srv ControllerServer) {
	s.RegisterService(&_Controller_serviceDesc, srv)
}

func _Controller_Build_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BuildRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ControllerServer).Build(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/buildx.controller.v1.Controller/Build",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ControllerServer).Build(ctx, req.(*BuildRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Controller_Status_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(StatusRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(ControllerServer).Status(m, &controllerStatusServer{stream})
}

type Controller_StatusServer interface {
	Send(*StatusResponse) error
	grpc.ServerStream
}

type controllerStatusServer struct {
	grpc.ServerStream
}

func (x *controllerStatusServer) Send(m *StatusResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _Controller_Input_Handler(srv interface{}, stream grpc.ServerStream) error {
	return srv.(ControllerServer).Input(&controllerInputServer{stream})
}

type Controller_InputServer interface {
	SendAndClose(*InputResponse) error
	Recv() (*InputMessage, error)
	grpc.ServerStream
}

type controllerInputServer struct {
	grpc.ServerStream
}

func (x *controllerInputServer) SendAndClose(m *InputResponse) error {
	return x.ServerStream.SendMsg(m)
}

func (x *controllerInputServer) Recv() (*InputMessage, error) {
	m := new(InputMessage)
	if err := x.ServerStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func _Controller_Invoke_Handler(srv interface{}, stream grpc.ServerStream) error {
	return srv.(ControllerServer).Invoke(&controllerInvokeServer{stream})
}

type Controller_InvokeServer interface {
	Send(*Message) error
	Recv() (*Message, error)
	grpc.ServerStream
}

type controllerInvokeServer struct {
	grpc.ServerStream
}

func (x *controllerInvokeServer) Send(m *Message) error {
	return x.ServerStream.SendMsg(m)
}

func (x *controllerInvokeServer) Recv() (*Message, error) {
	m := new(Message)
	if err := x.ServerStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func _Controller_List_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ControllerServer).List(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/buildx.controller.v1.Controller/List",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ControllerServer).List(ctx, req.(*ListRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Controller_Disconnect_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DisconnectRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ControllerServer).Disconnect(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/buildx.controller.v1.Controller/Disconnect",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ControllerServer).Disconnect(ctx, req.(*DisconnectRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Controller_Info_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(InfoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ControllerServer).Info(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/buildx.controller.v1.Controller/Info",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ControllerServer).Info(ctx, req.(*InfoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _Controller_serviceDesc = grpc.ServiceDesc{
	ServiceName: "buildx.controller.v1.Controller",
	HandlerType: (*ControllerServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Build",
			Handler:    _Controller_Build_Handler,
		},
		{
			MethodName: "List",
			Handler:    _Controller_List_Handler,
		},
		{
			MethodName: "Disconnect",
			Handler:    _Controller_Disconnect_Handler,
		},
		{
			MethodName: "Info",
			Handler:    _Controller_Info_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "Status",
			Handler:       _Controller_Status_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "Input",
			Handler:       _Controller_Input_Handler,
			ClientStreams: true,
		},
		{
			StreamName:    "Invoke",
			Handler:       _Controller_Invoke_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
	},
	Metadata: "controller.proto",
}