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

package types

import (
	context "context"
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
	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.ProtoPackageIsVersion3 // please upgrade the proto package

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

func (m *Empty) Reset()         { *m = Empty{} }
func (m *Empty) String() string { return proto.CompactTextString(m) }
func (*Empty) ProtoMessage()    {}
func (*Empty) Descriptor() ([]byte, []int) {
	return fileDescriptor_81dfd49b5b303fb4, []int{0}
}

func (m *Empty) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Empty.Unmarshal(m, b)
}
func (m *Empty) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Empty.Marshal(b, m, deterministic)
}
func (m *Empty) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Empty.Merge(m, src)
}
func (m *Empty) XXX_Size() int {
	return xxx_messageInfo_Empty.Size(m)
}
func (m *Empty) XXX_DiscardUnknown() {
	xxx_messageInfo_Empty.DiscardUnknown(m)
}

var xxx_messageInfo_Empty proto.InternalMessageInfo

type DriverFlags struct {
	Options              map[string]*Flag `protobuf:"bytes,1,rep,name=options,proto3" json:"options,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 *DriverFlags) Reset()         { *m = DriverFlags{} }
func (m *DriverFlags) String() string { return proto.CompactTextString(m) }
func (*DriverFlags) ProtoMessage()    {}
func (*DriverFlags) Descriptor() ([]byte, []int) {
	return fileDescriptor_81dfd49b5b303fb4, []int{1}
}

func (m *DriverFlags) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DriverFlags.Unmarshal(m, b)
}
func (m *DriverFlags) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DriverFlags.Marshal(b, m, deterministic)
}
func (m *DriverFlags) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DriverFlags.Merge(m, src)
}
func (m *DriverFlags) XXX_Size() int {
	return xxx_messageInfo_DriverFlags.Size(m)
}
func (m *DriverFlags) XXX_DiscardUnknown() {
	xxx_messageInfo_DriverFlags.DiscardUnknown(m)
}

var xxx_messageInfo_DriverFlags proto.InternalMessageInfo

func (m *DriverFlags) GetOptions() map[string]*Flag {
	if m != nil {
		return m.Options
	}
	return nil
}

type Flag struct {
	Type                 string   `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	Usage                string   `protobuf:"bytes,2,opt,name=usage,proto3" json:"usage,omitempty"`
	Value                string   `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
	Default              *Default `protobuf:"bytes,4,opt,name=default,proto3" json:"default,omitempty"`
	Password             bool     `protobuf:"varint,5,opt,name=password,proto3" json:"password,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Flag) Reset()         { *m = Flag{} }
func (m *Flag) String() string { return proto.CompactTextString(m) }
func (*Flag) ProtoMessage()    {}
func (*Flag) Descriptor() ([]byte, []int) {
	return fileDescriptor_81dfd49b5b303fb4, []int{2}
}

func (m *Flag) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Flag.Unmarshal(m, b)
}
func (m *Flag) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Flag.Marshal(b, m, deterministic)
}
func (m *Flag) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Flag.Merge(m, src)
}
func (m *Flag) XXX_Size() int {
	return xxx_messageInfo_Flag.Size(m)
}
func (m *Flag) XXX_DiscardUnknown() {
	xxx_messageInfo_Flag.DiscardUnknown(m)
}

var xxx_messageInfo_Flag proto.InternalMessageInfo

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

func (m *Flag) GetUsage() string {
	if m != nil {
		return m.Usage
	}
	return ""
}

func (m *Flag) GetValue() string {
	if m != nil {
		return m.Value
	}
	return ""
}

func (m *Flag) GetDefault() *Default {
	if m != nil {
		return m.Default
	}
	return nil
}

func (m *Flag) GetPassword() bool {
	if m != nil {
		return m.Password
	}
	return false
}

type Default struct {
	DefaultBool          bool         `protobuf:"varint,1,opt,name=defaultBool,proto3" json:"defaultBool,omitempty"`
	DefaultString        string       `protobuf:"bytes,2,opt,name=defaultString,proto3" json:"defaultString,omitempty"`
	DefaultStringSlice   *StringSlice `protobuf:"bytes,3,opt,name=defaultStringSlice,proto3" json:"defaultStringSlice,omitempty"`
	DefaultInt           int64        `protobuf:"varint,4,opt,name=defaultInt,proto3" json:"defaultInt,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (m *Default) Reset()         { *m = Default{} }
func (m *Default) String() string { return proto.CompactTextString(m) }
func (*Default) ProtoMessage()    {}
func (*Default) Descriptor() ([]byte, []int) {
	return fileDescriptor_81dfd49b5b303fb4, []int{3}
}

func (m *Default) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Default.Unmarshal(m, b)
}
func (m *Default) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Default.Marshal(b, m, deterministic)
}
func (m *Default) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Default.Merge(m, src)
}
func (m *Default) XXX_Size() int {
	return xxx_messageInfo_Default.Size(m)
}
func (m *Default) XXX_DiscardUnknown() {
	xxx_messageInfo_Default.DiscardUnknown(m)
}

var xxx_messageInfo_Default proto.InternalMessageInfo

func (m *Default) GetDefaultBool() bool {
	if m != nil {
		return m.DefaultBool
	}
	return false
}

func (m *Default) GetDefaultString() string {
	if m != nil {
		return m.DefaultString
	}
	return ""
}

func (m *Default) GetDefaultStringSlice() *StringSlice {
	if m != nil {
		return m.DefaultStringSlice
	}
	return nil
}

func (m *Default) GetDefaultInt() int64 {
	if m != nil {
		return m.DefaultInt
	}
	return 0
}

type DriverOptions struct {
	BoolOptions          map[string]bool         `protobuf:"bytes,1,rep,name=bool_options,json=boolOptions,proto3" json:"bool_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
	StringOptions        map[string]string       `protobuf:"bytes,2,rep,name=string_options,json=stringOptions,proto3" json:"string_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	IntOptions           map[string]int64        `protobuf:"bytes,3,rep,name=int_options,json=intOptions,proto3" json:"int_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
	StringSliceOptions   map[string]*StringSlice `protobuf:"bytes,4,rep,name=string_slice_options,json=stringSliceOptions,proto3" json:"string_slice_options,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 *DriverOptions) Reset()         { *m = DriverOptions{} }
func (m *DriverOptions) String() string { return proto.CompactTextString(m) }
func (*DriverOptions) ProtoMessage()    {}
func (*DriverOptions) Descriptor() ([]byte, []int) {
	return fileDescriptor_81dfd49b5b303fb4, []int{4}
}

func (m *DriverOptions) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DriverOptions.Unmarshal(m, b)
}
func (m *DriverOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DriverOptions.Marshal(b, m, deterministic)
}
func (m *DriverOptions) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DriverOptions.Merge(m, src)
}
func (m *DriverOptions) XXX_Size() int {
	return xxx_messageInfo_DriverOptions.Size(m)
}
func (m *DriverOptions) XXX_DiscardUnknown() {
	xxx_messageInfo_DriverOptions.DiscardUnknown(m)
}

var xxx_messageInfo_DriverOptions proto.InternalMessageInfo

func (m *DriverOptions) GetBoolOptions() map[string]bool {
	if m != nil {
		return m.BoolOptions
	}
	return nil
}

func (m *DriverOptions) GetStringOptions() map[string]string {
	if m != nil {
		return m.StringOptions
	}
	return nil
}

func (m *DriverOptions) GetIntOptions() map[string]int64 {
	if m != nil {
		return m.IntOptions
	}
	return nil
}

func (m *DriverOptions) GetStringSliceOptions() map[string]*StringSlice {
	if m != nil {
		return m.StringSliceOptions
	}
	return nil
}

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

func (m *StringSlice) Reset()         { *m = StringSlice{} }
func (m *StringSlice) String() string { return proto.CompactTextString(m) }
func (*StringSlice) ProtoMessage()    {}
func (*StringSlice) Descriptor() ([]byte, []int) {
	return fileDescriptor_81dfd49b5b303fb4, []int{5}
}

func (m *StringSlice) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_StringSlice.Unmarshal(m, b)
}
func (m *StringSlice) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_StringSlice.Marshal(b, m, deterministic)
}
func (m *StringSlice) XXX_Merge(src proto.Message) {
	xxx_messageInfo_StringSlice.Merge(m, src)
}
func (m *StringSlice) XXX_Size() int {
	return xxx_messageInfo_StringSlice.Size(m)
}
func (m *StringSlice) XXX_DiscardUnknown() {
	xxx_messageInfo_StringSlice.DiscardUnknown(m)
}

var xxx_messageInfo_StringSlice proto.InternalMessageInfo

func (m *StringSlice) GetValue() []string {
	if m != nil {
		return m.Value
	}
	return nil
}

type ClusterInfo struct {
	Version              string            `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
	ServiceAccountToken  string            `protobuf:"bytes,2,opt,name=service_account_token,json=serviceAccountToken,proto3" json:"service_account_token,omitempty"`
	Endpoint             string            `protobuf:"bytes,3,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	Username             string            `protobuf:"bytes,4,opt,name=username,proto3" json:"username,omitempty"`
	Password             string            `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"`
	RootCaCertificate    string            `protobuf:"bytes,6,opt,name=root_ca_certificate,json=rootCaCertificate,proto3" json:"root_ca_certificate,omitempty"`
	ClientCertificate    string            `protobuf:"bytes,7,opt,name=client_certificate,json=clientCertificate,proto3" json:"client_certificate,omitempty"`
	ClientKey            string            `protobuf:"bytes,8,opt,name=client_key,json=clientKey,proto3" json:"client_key,omitempty"`
	NodeCount            int64             `protobuf:"varint,9,opt,name=node_count,json=nodeCount,proto3" json:"node_count,omitempty"`
	Metadata             map[string]string `protobuf:"bytes,10,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	Status               string            `protobuf:"bytes,11,opt,name=status,proto3" json:"status,omitempty"`
	CreateError          string            `protobuf:"bytes,12,opt,name=create_error,json=createError,proto3" json:"create_error,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *ClusterInfo) Reset()         { *m = ClusterInfo{} }
func (m *ClusterInfo) String() string { return proto.CompactTextString(m) }
func (*ClusterInfo) ProtoMessage()    {}
func (*ClusterInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_81dfd49b5b303fb4, []int{6}
}

func (m *ClusterInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ClusterInfo.Unmarshal(m, b)
}
func (m *ClusterInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ClusterInfo.Marshal(b, m, deterministic)
}
func (m *ClusterInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ClusterInfo.Merge(m, src)
}
func (m *ClusterInfo) XXX_Size() int {
	return xxx_messageInfo_ClusterInfo.Size(m)
}
func (m *ClusterInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_ClusterInfo.DiscardUnknown(m)
}

var xxx_messageInfo_ClusterInfo proto.InternalMessageInfo

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

func (m *ClusterInfo) GetServiceAccountToken() string {
	if m != nil {
		return m.ServiceAccountToken
	}
	return ""
}

func (m *ClusterInfo) GetEndpoint() string {
	if m != nil {
		return m.Endpoint
	}
	return ""
}

func (m *ClusterInfo) GetUsername() string {
	if m != nil {
		return m.Username
	}
	return ""
}

func (m *ClusterInfo) GetPassword() string {
	if m != nil {
		return m.Password
	}
	return ""
}

func (m *ClusterInfo) GetRootCaCertificate() string {
	if m != nil {
		return m.RootCaCertificate
	}
	return ""
}

func (m *ClusterInfo) GetClientCertificate() string {
	if m != nil {
		return m.ClientCertificate
	}
	return ""
}

func (m *ClusterInfo) GetClientKey() string {
	if m != nil {
		return m.ClientKey
	}
	return ""
}

func (m *ClusterInfo) GetNodeCount() int64 {
	if m != nil {
		return m.NodeCount
	}
	return 0
}

func (m *ClusterInfo) GetMetadata() map[string]string {
	if m != nil {
		return m.Metadata
	}
	return nil
}

func (m *ClusterInfo) GetStatus() string {
	if m != nil {
		return m.Status
	}
	return ""
}

func (m *ClusterInfo) GetCreateError() string {
	if m != nil {
		return m.CreateError
	}
	return ""
}

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

func (m *KubernetesVersion) Reset()         { *m = KubernetesVersion{} }
func (m *KubernetesVersion) String() string { return proto.CompactTextString(m) }
func (*KubernetesVersion) ProtoMessage()    {}
func (*KubernetesVersion) Descriptor() ([]byte, []int) {
	return fileDescriptor_81dfd49b5b303fb4, []int{7}
}

func (m *KubernetesVersion) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_KubernetesVersion.Unmarshal(m, b)
}
func (m *KubernetesVersion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_KubernetesVersion.Marshal(b, m, deterministic)
}
func (m *KubernetesVersion) XXX_Merge(src proto.Message) {
	xxx_messageInfo_KubernetesVersion.Merge(m, src)
}
func (m *KubernetesVersion) XXX_Size() int {
	return xxx_messageInfo_KubernetesVersion.Size(m)
}
func (m *KubernetesVersion) XXX_DiscardUnknown() {
	xxx_messageInfo_KubernetesVersion.DiscardUnknown(m)
}

var xxx_messageInfo_KubernetesVersion proto.InternalMessageInfo

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

type NodeCount struct {
	Count                int64    `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *NodeCount) Reset()         { *m = NodeCount{} }
func (m *NodeCount) String() string { return proto.CompactTextString(m) }
func (*NodeCount) ProtoMessage()    {}
func (*NodeCount) Descriptor() ([]byte, []int) {
	return fileDescriptor_81dfd49b5b303fb4, []int{8}
}

func (m *NodeCount) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NodeCount.Unmarshal(m, b)
}
func (m *NodeCount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NodeCount.Marshal(b, m, deterministic)
}
func (m *NodeCount) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NodeCount.Merge(m, src)
}
func (m *NodeCount) XXX_Size() int {
	return xxx_messageInfo_NodeCount.Size(m)
}
func (m *NodeCount) XXX_DiscardUnknown() {
	xxx_messageInfo_NodeCount.DiscardUnknown(m)
}

var xxx_messageInfo_NodeCount proto.InternalMessageInfo

func (m *NodeCount) GetCount() int64 {
	if m != nil {
		return m.Count
	}
	return 0
}

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

func (m *Capabilities) Reset()         { *m = Capabilities{} }
func (m *Capabilities) String() string { return proto.CompactTextString(m) }
func (*Capabilities) ProtoMessage()    {}
func (*Capabilities) Descriptor() ([]byte, []int) {
	return fileDescriptor_81dfd49b5b303fb4, []int{9}
}

func (m *Capabilities) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Capabilities.Unmarshal(m, b)
}
func (m *Capabilities) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Capabilities.Marshal(b, m, deterministic)
}
func (m *Capabilities) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Capabilities.Merge(m, src)
}
func (m *Capabilities) XXX_Size() int {
	return xxx_messageInfo_Capabilities.Size(m)
}
func (m *Capabilities) XXX_DiscardUnknown() {
	xxx_messageInfo_Capabilities.DiscardUnknown(m)
}

var xxx_messageInfo_Capabilities proto.InternalMessageInfo

func (m *Capabilities) GetCapabilities() map[int64]bool {
	if m != nil {
		return m.Capabilities
	}
	return nil
}

type CreateRequest struct {
	DriverOptions        *DriverOptions `protobuf:"bytes,1,opt,name=driver_options,json=driverOptions,proto3" json:"driver_options,omitempty"`
	ClusterInfo          *ClusterInfo   `protobuf:"bytes,2,opt,name=cluster_info,json=clusterInfo,proto3" json:"cluster_info,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *CreateRequest) Reset()         { *m = CreateRequest{} }
func (m *CreateRequest) String() string { return proto.CompactTextString(m) }
func (*CreateRequest) ProtoMessage()    {}
func (*CreateRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_81dfd49b5b303fb4, []int{10}
}

func (m *CreateRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateRequest.Unmarshal(m, b)
}
func (m *CreateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateRequest.Marshal(b, m, deterministic)
}
func (m *CreateRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateRequest.Merge(m, src)
}
func (m *CreateRequest) XXX_Size() int {
	return xxx_messageInfo_CreateRequest.Size(m)
}
func (m *CreateRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateRequest.DiscardUnknown(m)
}

var xxx_messageInfo_CreateRequest proto.InternalMessageInfo

func (m *CreateRequest) GetDriverOptions() *DriverOptions {
	if m != nil {
		return m.DriverOptions
	}
	return nil
}

func (m *CreateRequest) GetClusterInfo() *ClusterInfo {
	if m != nil {
		return m.ClusterInfo
	}
	return nil
}

type UpdateRequest struct {
	ClusterInfo          *ClusterInfo   `protobuf:"bytes,1,opt,name=cluster_info,json=clusterInfo,proto3" json:"cluster_info,omitempty"`
	DriverOptions        *DriverOptions `protobuf:"bytes,2,opt,name=driver_options,json=driverOptions,proto3" json:"driver_options,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *UpdateRequest) Reset()         { *m = UpdateRequest{} }
func (m *UpdateRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateRequest) ProtoMessage()    {}
func (*UpdateRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_81dfd49b5b303fb4, []int{11}
}

func (m *UpdateRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UpdateRequest.Unmarshal(m, b)
}
func (m *UpdateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UpdateRequest.Marshal(b, m, deterministic)
}
func (m *UpdateRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UpdateRequest.Merge(m, src)
}
func (m *UpdateRequest) XXX_Size() int {
	return xxx_messageInfo_UpdateRequest.Size(m)
}
func (m *UpdateRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_UpdateRequest.DiscardUnknown(m)
}

var xxx_messageInfo_UpdateRequest proto.InternalMessageInfo

func (m *UpdateRequest) GetClusterInfo() *ClusterInfo {
	if m != nil {
		return m.ClusterInfo
	}
	return nil
}

func (m *UpdateRequest) GetDriverOptions() *DriverOptions {
	if m != nil {
		return m.DriverOptions
	}
	return nil
}

type SetVersionRequest struct {
	Info                 *ClusterInfo       `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"`
	Version              *KubernetesVersion `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *SetVersionRequest) Reset()         { *m = SetVersionRequest{} }
func (m *SetVersionRequest) String() string { return proto.CompactTextString(m) }
func (*SetVersionRequest) ProtoMessage()    {}
func (*SetVersionRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_81dfd49b5b303fb4, []int{12}
}

func (m *SetVersionRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SetVersionRequest.Unmarshal(m, b)
}
func (m *SetVersionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SetVersionRequest.Marshal(b, m, deterministic)
}
func (m *SetVersionRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SetVersionRequest.Merge(m, src)
}
func (m *SetVersionRequest) XXX_Size() int {
	return xxx_messageInfo_SetVersionRequest.Size(m)
}
func (m *SetVersionRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_SetVersionRequest.DiscardUnknown(m)
}

var xxx_messageInfo_SetVersionRequest proto.InternalMessageInfo

func (m *SetVersionRequest) GetInfo() *ClusterInfo {
	if m != nil {
		return m.Info
	}
	return nil
}

func (m *SetVersionRequest) GetVersion() *KubernetesVersion {
	if m != nil {
		return m.Version
	}
	return nil
}

type SetNodeCountRequest struct {
	Info                 *ClusterInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"`
	Count                *NodeCount   `protobuf:"bytes,2,opt,name=count,proto3" json:"count,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (m *SetNodeCountRequest) Reset()         { *m = SetNodeCountRequest{} }
func (m *SetNodeCountRequest) String() string { return proto.CompactTextString(m) }
func (*SetNodeCountRequest) ProtoMessage()    {}
func (*SetNodeCountRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_81dfd49b5b303fb4, []int{13}
}

func (m *SetNodeCountRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SetNodeCountRequest.Unmarshal(m, b)
}
func (m *SetNodeCountRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SetNodeCountRequest.Marshal(b, m, deterministic)
}
func (m *SetNodeCountRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SetNodeCountRequest.Merge(m, src)
}
func (m *SetNodeCountRequest) XXX_Size() int {
	return xxx_messageInfo_SetNodeCountRequest.Size(m)
}
func (m *SetNodeCountRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_SetNodeCountRequest.DiscardUnknown(m)
}

var xxx_messageInfo_SetNodeCountRequest proto.InternalMessageInfo

func (m *SetNodeCountRequest) GetInfo() *ClusterInfo {
	if m != nil {
		return m.Info
	}
	return nil
}

func (m *SetNodeCountRequest) GetCount() *NodeCount {
	if m != nil {
		return m.Count
	}
	return nil
}

type SaveETCDSnapshotRequest struct {
	Info                 *ClusterInfo   `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"`
	DriverOptions        *DriverOptions `protobuf:"bytes,2,opt,name=driver_options,json=driverOptions,proto3" json:"driver_options,omitempty"`
	SnapshotName         string         `protobuf:"bytes,3,opt,name=SnapshotName,proto3" json:"SnapshotName,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *SaveETCDSnapshotRequest) Reset()         { *m = SaveETCDSnapshotRequest{} }
func (m *SaveETCDSnapshotRequest) String() string { return proto.CompactTextString(m) }
func (*SaveETCDSnapshotRequest) ProtoMessage()    {}
func (*SaveETCDSnapshotRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_81dfd49b5b303fb4, []int{14}
}

func (m *SaveETCDSnapshotRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SaveETCDSnapshotRequest.Unmarshal(m, b)
}
func (m *SaveETCDSnapshotRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SaveETCDSnapshotRequest.Marshal(b, m, deterministic)
}
func (m *SaveETCDSnapshotRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SaveETCDSnapshotRequest.Merge(m, src)
}
func (m *SaveETCDSnapshotRequest) XXX_Size() int {
	return xxx_messageInfo_SaveETCDSnapshotRequest.Size(m)
}
func (m *SaveETCDSnapshotRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_SaveETCDSnapshotRequest.DiscardUnknown(m)
}

var xxx_messageInfo_SaveETCDSnapshotRequest proto.InternalMessageInfo

func (m *SaveETCDSnapshotRequest) GetInfo() *ClusterInfo {
	if m != nil {
		return m.Info
	}
	return nil
}

func (m *SaveETCDSnapshotRequest) GetDriverOptions() *DriverOptions {
	if m != nil {
		return m.DriverOptions
	}
	return nil
}

func (m *SaveETCDSnapshotRequest) GetSnapshotName() string {
	if m != nil {
		return m.SnapshotName
	}
	return ""
}

type RestoreETCDSnapshotRequest struct {
	Info                 *ClusterInfo   `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"`
	DriverOptions        *DriverOptions `protobuf:"bytes,2,opt,name=driver_options,json=driverOptions,proto3" json:"driver_options,omitempty"`
	SnapshotName         string         `protobuf:"bytes,3,opt,name=SnapshotName,proto3" json:"SnapshotName,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *RestoreETCDSnapshotRequest) Reset()         { *m = RestoreETCDSnapshotRequest{} }
func (m *RestoreETCDSnapshotRequest) String() string { return proto.CompactTextString(m) }
func (*RestoreETCDSnapshotRequest) ProtoMessage()    {}
func (*RestoreETCDSnapshotRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_81dfd49b5b303fb4, []int{15}
}

func (m *RestoreETCDSnapshotRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RestoreETCDSnapshotRequest.Unmarshal(m, b)
}
func (m *RestoreETCDSnapshotRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RestoreETCDSnapshotRequest.Marshal(b, m, deterministic)
}
func (m *RestoreETCDSnapshotRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RestoreETCDSnapshotRequest.Merge(m, src)
}
func (m *RestoreETCDSnapshotRequest) XXX_Size() int {
	return xxx_messageInfo_RestoreETCDSnapshotRequest.Size(m)
}
func (m *RestoreETCDSnapshotRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_RestoreETCDSnapshotRequest.DiscardUnknown(m)
}

var xxx_messageInfo_RestoreETCDSnapshotRequest proto.InternalMessageInfo

func (m *RestoreETCDSnapshotRequest) GetInfo() *ClusterInfo {
	if m != nil {
		return m.Info
	}
	return nil
}

func (m *RestoreETCDSnapshotRequest) GetDriverOptions() *DriverOptions {
	if m != nil {
		return m.DriverOptions
	}
	return nil
}

func (m *RestoreETCDSnapshotRequest) GetSnapshotName() string {
	if m != nil {
		return m.SnapshotName
	}
	return ""
}

type RemoveETCDSnapshotRequest struct {
	Info                 *ClusterInfo   `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"`
	DriverOptions        *DriverOptions `protobuf:"bytes,2,opt,name=driver_options,json=driverOptions,proto3" json:"driver_options,omitempty"`
	SnapshotName         string         `protobuf:"bytes,3,opt,name=SnapshotName,proto3" json:"SnapshotName,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *RemoveETCDSnapshotRequest) Reset()         { *m = RemoveETCDSnapshotRequest{} }
func (m *RemoveETCDSnapshotRequest) String() string { return proto.CompactTextString(m) }
func (*RemoveETCDSnapshotRequest) ProtoMessage()    {}
func (*RemoveETCDSnapshotRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_81dfd49b5b303fb4, []int{16}
}

func (m *RemoveETCDSnapshotRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RemoveETCDSnapshotRequest.Unmarshal(m, b)
}
func (m *RemoveETCDSnapshotRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RemoveETCDSnapshotRequest.Marshal(b, m, deterministic)
}
func (m *RemoveETCDSnapshotRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RemoveETCDSnapshotRequest.Merge(m, src)
}
func (m *RemoveETCDSnapshotRequest) XXX_Size() int {
	return xxx_messageInfo_RemoveETCDSnapshotRequest.Size(m)
}
func (m *RemoveETCDSnapshotRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_RemoveETCDSnapshotRequest.DiscardUnknown(m)
}

var xxx_messageInfo_RemoveETCDSnapshotRequest proto.InternalMessageInfo

func (m *RemoveETCDSnapshotRequest) GetInfo() *ClusterInfo {
	if m != nil {
		return m.Info
	}
	return nil
}

func (m *RemoveETCDSnapshotRequest) GetDriverOptions() *DriverOptions {
	if m != nil {
		return m.DriverOptions
	}
	return nil
}

func (m *RemoveETCDSnapshotRequest) GetSnapshotName() string {
	if m != nil {
		return m.SnapshotName
	}
	return ""
}

type K8SCapabilities struct {
	L4LoadBalancer           *LoadBalancerCapabilities `protobuf:"bytes,1,opt,name=L4LoadBalancer,proto3" json:"L4LoadBalancer,omitempty"`
	IngressControllers       []*IngressCapabilities    `protobuf:"bytes,2,rep,name=IngressControllers,proto3" json:"IngressControllers,omitempty"`
	NodePoolScalingSupported bool                      `protobuf:"varint,3,opt,name=NodePoolScalingSupported,proto3" json:"NodePoolScalingSupported,omitempty"`
	NodePortRange            string                    `protobuf:"bytes,4,opt,name=NodePortRange,proto3" json:"NodePortRange,omitempty"`
	XXX_NoUnkeyedLiteral     struct{}                  `json:"-"`
	XXX_unrecognized         []byte                    `json:"-"`
	XXX_sizecache            int32                     `json:"-"`
}

func (m *K8SCapabilities) Reset()         { *m = K8SCapabilities{} }
func (m *K8SCapabilities) String() string { return proto.CompactTextString(m) }
func (*K8SCapabilities) ProtoMessage()    {}
func (*K8SCapabilities) Descriptor() ([]byte, []int) {
	return fileDescriptor_81dfd49b5b303fb4, []int{17}
}

func (m *K8SCapabilities) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_K8SCapabilities.Unmarshal(m, b)
}
func (m *K8SCapabilities) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_K8SCapabilities.Marshal(b, m, deterministic)
}
func (m *K8SCapabilities) XXX_Merge(src proto.Message) {
	xxx_messageInfo_K8SCapabilities.Merge(m, src)
}
func (m *K8SCapabilities) XXX_Size() int {
	return xxx_messageInfo_K8SCapabilities.Size(m)
}
func (m *K8SCapabilities) XXX_DiscardUnknown() {
	xxx_messageInfo_K8SCapabilities.DiscardUnknown(m)
}

var xxx_messageInfo_K8SCapabilities proto.InternalMessageInfo

func (m *K8SCapabilities) GetL4LoadBalancer() *LoadBalancerCapabilities {
	if m != nil {
		return m.L4LoadBalancer
	}
	return nil
}

func (m *K8SCapabilities) GetIngressControllers() []*IngressCapabilities {
	if m != nil {
		return m.IngressControllers
	}
	return nil
}

func (m *K8SCapabilities) GetNodePoolScalingSupported() bool {
	if m != nil {
		return m.NodePoolScalingSupported
	}
	return false
}

func (m *K8SCapabilities) GetNodePortRange() string {
	if m != nil {
		return m.NodePortRange
	}
	return ""
}

type LoadBalancerCapabilities struct {
	Enabled              bool     `protobuf:"varint,1,opt,name=Enabled,proto3" json:"Enabled,omitempty"`
	Provider             string   `protobuf:"bytes,2,opt,name=Provider,proto3" json:"Provider,omitempty"`
	ProtocolsSupported   []string `protobuf:"bytes,3,rep,name=ProtocolsSupported,proto3" json:"ProtocolsSupported,omitempty"`
	HealthCheckSupported bool     `protobuf:"varint,4,opt,name=HealthCheckSupported,proto3" json:"HealthCheckSupported,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *LoadBalancerCapabilities) Reset()         { *m = LoadBalancerCapabilities{} }
func (m *LoadBalancerCapabilities) String() string { return proto.CompactTextString(m) }
func (*LoadBalancerCapabilities) ProtoMessage()    {}
func (*LoadBalancerCapabilities) Descriptor() ([]byte, []int) {
	return fileDescriptor_81dfd49b5b303fb4, []int{18}
}

func (m *LoadBalancerCapabilities) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LoadBalancerCapabilities.Unmarshal(m, b)
}
func (m *LoadBalancerCapabilities) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LoadBalancerCapabilities.Marshal(b, m, deterministic)
}
func (m *LoadBalancerCapabilities) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LoadBalancerCapabilities.Merge(m, src)
}
func (m *LoadBalancerCapabilities) XXX_Size() int {
	return xxx_messageInfo_LoadBalancerCapabilities.Size(m)
}
func (m *LoadBalancerCapabilities) XXX_DiscardUnknown() {
	xxx_messageInfo_LoadBalancerCapabilities.DiscardUnknown(m)
}

var xxx_messageInfo_LoadBalancerCapabilities proto.InternalMessageInfo

func (m *LoadBalancerCapabilities) GetEnabled() bool {
	if m != nil {
		return m.Enabled
	}
	return false
}

func (m *LoadBalancerCapabilities) GetProvider() string {
	if m != nil {
		return m.Provider
	}
	return ""
}

func (m *LoadBalancerCapabilities) GetProtocolsSupported() []string {
	if m != nil {
		return m.ProtocolsSupported
	}
	return nil
}

func (m *LoadBalancerCapabilities) GetHealthCheckSupported() bool {
	if m != nil {
		return m.HealthCheckSupported
	}
	return false
}

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

func (m *IngressCapabilities) Reset()         { *m = IngressCapabilities{} }
func (m *IngressCapabilities) String() string { return proto.CompactTextString(m) }
func (*IngressCapabilities) ProtoMessage()    {}
func (*IngressCapabilities) Descriptor() ([]byte, []int) {
	return fileDescriptor_81dfd49b5b303fb4, []int{19}
}

func (m *IngressCapabilities) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_IngressCapabilities.Unmarshal(m, b)
}
func (m *IngressCapabilities) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_IngressCapabilities.Marshal(b, m, deterministic)
}
func (m *IngressCapabilities) XXX_Merge(src proto.Message) {
	xxx_messageInfo_IngressCapabilities.Merge(m, src)
}
func (m *IngressCapabilities) XXX_Size() int {
	return xxx_messageInfo_IngressCapabilities.Size(m)
}
func (m *IngressCapabilities) XXX_DiscardUnknown() {
	xxx_messageInfo_IngressCapabilities.DiscardUnknown(m)
}

var xxx_messageInfo_IngressCapabilities proto.InternalMessageInfo

func (m *IngressCapabilities) GetIngressProvider() string {
	if m != nil {
		return m.IngressProvider
	}
	return ""
}

func (m *IngressCapabilities) GetCustomDefaultBackend() bool {
	if m != nil {
		return m.CustomDefaultBackend
	}
	return false
}

func init() {
	proto.RegisterType((*Empty)(nil), "types.Empty")
	proto.RegisterType((*DriverFlags)(nil), "types.DriverFlags")
	proto.RegisterMapType((map[string]*Flag)(nil), "types.DriverFlags.OptionsEntry")
	proto.RegisterType((*Flag)(nil), "types.Flag")
	proto.RegisterType((*Default)(nil), "types.Default")
	proto.RegisterType((*DriverOptions)(nil), "types.DriverOptions")
	proto.RegisterMapType((map[string]bool)(nil), "types.DriverOptions.BoolOptionsEntry")
	proto.RegisterMapType((map[string]int64)(nil), "types.DriverOptions.IntOptionsEntry")
	proto.RegisterMapType((map[string]string)(nil), "types.DriverOptions.StringOptionsEntry")
	proto.RegisterMapType((map[string]*StringSlice)(nil), "types.DriverOptions.StringSliceOptionsEntry")
	proto.RegisterType((*StringSlice)(nil), "types.StringSlice")
	proto.RegisterType((*ClusterInfo)(nil), "types.ClusterInfo")
	proto.RegisterMapType((map[string]string)(nil), "types.ClusterInfo.MetadataEntry")
	proto.RegisterType((*KubernetesVersion)(nil), "types.KubernetesVersion")
	proto.RegisterType((*NodeCount)(nil), "types.NodeCount")
	proto.RegisterType((*Capabilities)(nil), "types.Capabilities")
	proto.RegisterMapType((map[int64]bool)(nil), "types.Capabilities.CapabilitiesEntry")
	proto.RegisterType((*CreateRequest)(nil), "types.CreateRequest")
	proto.RegisterType((*UpdateRequest)(nil), "types.UpdateRequest")
	proto.RegisterType((*SetVersionRequest)(nil), "types.SetVersionRequest")
	proto.RegisterType((*SetNodeCountRequest)(nil), "types.SetNodeCountRequest")
	proto.RegisterType((*SaveETCDSnapshotRequest)(nil), "types.SaveETCDSnapshotRequest")
	proto.RegisterType((*RestoreETCDSnapshotRequest)(nil), "types.RestoreETCDSnapshotRequest")
	proto.RegisterType((*RemoveETCDSnapshotRequest)(nil), "types.RemoveETCDSnapshotRequest")
	proto.RegisterType((*K8SCapabilities)(nil), "types.K8sCapabilities")
	proto.RegisterType((*LoadBalancerCapabilities)(nil), "types.LoadBalancerCapabilities")
	proto.RegisterType((*IngressCapabilities)(nil), "types.IngressCapabilities")
}

func init() { proto.RegisterFile("drivers.proto", fileDescriptor_81dfd49b5b303fb4) }

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

// DriverClient is the client API for Driver service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type DriverClient interface {
	Create(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*ClusterInfo, error)
	Update(ctx context.Context, in *UpdateRequest, opts ...grpc.CallOption) (*ClusterInfo, error)
	PostCheck(ctx context.Context, in *ClusterInfo, opts ...grpc.CallOption) (*ClusterInfo, error)
	Remove(ctx context.Context, in *ClusterInfo, opts ...grpc.CallOption) (*Empty, error)
	GetDriverCreateOptions(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*DriverFlags, error)
	GetDriverUpdateOptions(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*DriverFlags, error)
	GetVersion(ctx context.Context, in *ClusterInfo, opts ...grpc.CallOption) (*KubernetesVersion, error)
	SetVersion(ctx context.Context, in *SetVersionRequest, opts ...grpc.CallOption) (*Empty, error)
	GetNodeCount(ctx context.Context, in *ClusterInfo, opts ...grpc.CallOption) (*NodeCount, error)
	SetNodeCount(ctx context.Context, in *SetNodeCountRequest, opts ...grpc.CallOption) (*Empty, error)
	GetCapabilities(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Capabilities, error)
	ETCDSave(ctx context.Context, in *SaveETCDSnapshotRequest, opts ...grpc.CallOption) (*Empty, error)
	ETCDRestore(ctx context.Context, in *RestoreETCDSnapshotRequest, opts ...grpc.CallOption) (*ClusterInfo, error)
	ETCDRemoveSnapshot(ctx context.Context, in *RemoveETCDSnapshotRequest, opts ...grpc.CallOption) (*Empty, error)
	GetK8SCapabilities(ctx context.Context, in *DriverOptions, opts ...grpc.CallOption) (*K8SCapabilities, error)
	RemoveLegacyServiceAccount(ctx context.Context, in *ClusterInfo, opts ...grpc.CallOption) (*Empty, error)
}

type driverClient struct {
	cc *grpc.ClientConn
}

func NewDriverClient(cc *grpc.ClientConn) DriverClient {
	return &driverClient{cc}
}

func (c *driverClient) Create(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*ClusterInfo, error) {
	out := new(ClusterInfo)
	err := c.cc.Invoke(ctx, "/types.Driver/Create", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *driverClient) Update(ctx context.Context, in *UpdateRequest, opts ...grpc.CallOption) (*ClusterInfo, error) {
	out := new(ClusterInfo)
	err := c.cc.Invoke(ctx, "/types.Driver/Update", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *driverClient) PostCheck(ctx context.Context, in *ClusterInfo, opts ...grpc.CallOption) (*ClusterInfo, error) {
	out := new(ClusterInfo)
	err := c.cc.Invoke(ctx, "/types.Driver/PostCheck", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *driverClient) Remove(ctx context.Context, in *ClusterInfo, opts ...grpc.CallOption) (*Empty, error) {
	out := new(Empty)
	err := c.cc.Invoke(ctx, "/types.Driver/Remove", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *driverClient) GetDriverCreateOptions(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*DriverFlags, error) {
	out := new(DriverFlags)
	err := c.cc.Invoke(ctx, "/types.Driver/GetDriverCreateOptions", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *driverClient) GetDriverUpdateOptions(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*DriverFlags, error) {
	out := new(DriverFlags)
	err := c.cc.Invoke(ctx, "/types.Driver/GetDriverUpdateOptions", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *driverClient) GetVersion(ctx context.Context, in *ClusterInfo, opts ...grpc.CallOption) (*KubernetesVersion, error) {
	out := new(KubernetesVersion)
	err := c.cc.Invoke(ctx, "/types.Driver/GetVersion", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *driverClient) SetVersion(ctx context.Context, in *SetVersionRequest, opts ...grpc.CallOption) (*Empty, error) {
	out := new(Empty)
	err := c.cc.Invoke(ctx, "/types.Driver/SetVersion", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *driverClient) GetNodeCount(ctx context.Context, in *ClusterInfo, opts ...grpc.CallOption) (*NodeCount, error) {
	out := new(NodeCount)
	err := c.cc.Invoke(ctx, "/types.Driver/GetNodeCount", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *driverClient) SetNodeCount(ctx context.Context, in *SetNodeCountRequest, opts ...grpc.CallOption) (*Empty, error) {
	out := new(Empty)
	err := c.cc.Invoke(ctx, "/types.Driver/SetNodeCount", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *driverClient) GetCapabilities(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Capabilities, error) {
	out := new(Capabilities)
	err := c.cc.Invoke(ctx, "/types.Driver/GetCapabilities", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *driverClient) ETCDSave(ctx context.Context, in *SaveETCDSnapshotRequest, opts ...grpc.CallOption) (*Empty, error) {
	out := new(Empty)
	err := c.cc.Invoke(ctx, "/types.Driver/ETCDSave", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *driverClient) ETCDRestore(ctx context.Context, in *RestoreETCDSnapshotRequest, opts ...grpc.CallOption) (*ClusterInfo, error) {
	out := new(ClusterInfo)
	err := c.cc.Invoke(ctx, "/types.Driver/ETCDRestore", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *driverClient) ETCDRemoveSnapshot(ctx context.Context, in *RemoveETCDSnapshotRequest, opts ...grpc.CallOption) (*Empty, error) {
	out := new(Empty)
	err := c.cc.Invoke(ctx, "/types.Driver/ETCDRemoveSnapshot", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *driverClient) GetK8SCapabilities(ctx context.Context, in *DriverOptions, opts ...grpc.CallOption) (*K8SCapabilities, error) {
	out := new(K8SCapabilities)
	err := c.cc.Invoke(ctx, "/types.Driver/GetK8sCapabilities", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *driverClient) RemoveLegacyServiceAccount(ctx context.Context, in *ClusterInfo, opts ...grpc.CallOption) (*Empty, error) {
	out := new(Empty)
	err := c.cc.Invoke(ctx, "/types.Driver/RemoveLegacyServiceAccount", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// DriverServer is the server API for Driver service.
type DriverServer interface {
	Create(context.Context, *CreateRequest) (*ClusterInfo, error)
	Update(context.Context, *UpdateRequest) (*ClusterInfo, error)
	PostCheck(context.Context, *ClusterInfo) (*ClusterInfo, error)
	Remove(context.Context, *ClusterInfo) (*Empty, error)
	GetDriverCreateOptions(context.Context, *Empty) (*DriverFlags, error)
	GetDriverUpdateOptions(context.Context, *Empty) (*DriverFlags, error)
	GetVersion(context.Context, *ClusterInfo) (*KubernetesVersion, error)
	SetVersion(context.Context, *SetVersionRequest) (*Empty, error)
	GetNodeCount(context.Context, *ClusterInfo) (*NodeCount, error)
	SetNodeCount(context.Context, *SetNodeCountRequest) (*Empty, error)
	GetCapabilities(context.Context, *Empty) (*Capabilities, error)
	ETCDSave(context.Context, *SaveETCDSnapshotRequest) (*Empty, error)
	ETCDRestore(context.Context, *RestoreETCDSnapshotRequest) (*ClusterInfo, error)
	ETCDRemoveSnapshot(context.Context, *RemoveETCDSnapshotRequest) (*Empty, error)
	GetK8SCapabilities(context.Context, *DriverOptions) (*K8SCapabilities, error)
	RemoveLegacyServiceAccount(context.Context, *ClusterInfo) (*Empty, error)
}

func RegisterDriverServer(s *grpc.Server, srv DriverServer) {
	s.RegisterService(&_Driver_serviceDesc, srv)
}

func _Driver_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DriverServer).Create(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/types.Driver/Create",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DriverServer).Create(ctx, req.(*CreateRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Driver_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DriverServer).Update(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/types.Driver/Update",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DriverServer).Update(ctx, req.(*UpdateRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Driver_PostCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ClusterInfo)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DriverServer).PostCheck(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/types.Driver/PostCheck",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DriverServer).PostCheck(ctx, req.(*ClusterInfo))
	}
	return interceptor(ctx, in, info, handler)
}

func _Driver_Remove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ClusterInfo)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DriverServer).Remove(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/types.Driver/Remove",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DriverServer).Remove(ctx, req.(*ClusterInfo))
	}
	return interceptor(ctx, in, info, handler)
}

func _Driver_GetDriverCreateOptions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DriverServer).GetDriverCreateOptions(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/types.Driver/GetDriverCreateOptions",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DriverServer).GetDriverCreateOptions(ctx, req.(*Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _Driver_GetDriverUpdateOptions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DriverServer).GetDriverUpdateOptions(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/types.Driver/GetDriverUpdateOptions",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DriverServer).GetDriverUpdateOptions(ctx, req.(*Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _Driver_GetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ClusterInfo)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DriverServer).GetVersion(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/types.Driver/GetVersion",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DriverServer).GetVersion(ctx, req.(*ClusterInfo))
	}
	return interceptor(ctx, in, info, handler)
}

func _Driver_SetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetVersionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DriverServer).SetVersion(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/types.Driver/SetVersion",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DriverServer).SetVersion(ctx, req.(*SetVersionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Driver_GetNodeCount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ClusterInfo)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DriverServer).GetNodeCount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/types.Driver/GetNodeCount",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DriverServer).GetNodeCount(ctx, req.(*ClusterInfo))
	}
	return interceptor(ctx, in, info, handler)
}

func _Driver_SetNodeCount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetNodeCountRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DriverServer).SetNodeCount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/types.Driver/SetNodeCount",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DriverServer).SetNodeCount(ctx, req.(*SetNodeCountRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Driver_GetCapabilities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DriverServer).GetCapabilities(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/types.Driver/GetCapabilities",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DriverServer).GetCapabilities(ctx, req.(*Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _Driver_ETCDSave_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SaveETCDSnapshotRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DriverServer).ETCDSave(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/types.Driver/ETCDSave",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DriverServer).ETCDSave(ctx, req.(*SaveETCDSnapshotRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Driver_ETCDRestore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RestoreETCDSnapshotRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DriverServer).ETCDRestore(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/types.Driver/ETCDRestore",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DriverServer).ETCDRestore(ctx, req.(*RestoreETCDSnapshotRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Driver_ETCDRemoveSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RemoveETCDSnapshotRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DriverServer).ETCDRemoveSnapshot(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/types.Driver/ETCDRemoveSnapshot",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DriverServer).ETCDRemoveSnapshot(ctx, req.(*RemoveETCDSnapshotRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Driver_GetK8SCapabilities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DriverOptions)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DriverServer).GetK8SCapabilities(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/types.Driver/GetK8SCapabilities",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DriverServer).GetK8SCapabilities(ctx, req.(*DriverOptions))
	}
	return interceptor(ctx, in, info, handler)
}

func _Driver_RemoveLegacyServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ClusterInfo)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(DriverServer).RemoveLegacyServiceAccount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/types.Driver/RemoveLegacyServiceAccount",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(DriverServer).RemoveLegacyServiceAccount(ctx, req.(*ClusterInfo))
	}
	return interceptor(ctx, in, info, handler)
}

var _Driver_serviceDesc = grpc.ServiceDesc{
	ServiceName: "types.Driver",
	HandlerType: (*DriverServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Create",
			Handler:    _Driver_Create_Handler,
		},
		{
			MethodName: "Update",
			Handler:    _Driver_Update_Handler,
		},
		{
			MethodName: "PostCheck",
			Handler:    _Driver_PostCheck_Handler,
		},
		{
			MethodName: "Remove",
			Handler:    _Driver_Remove_Handler,
		},
		{
			MethodName: "GetDriverCreateOptions",
			Handler:    _Driver_GetDriverCreateOptions_Handler,
		},
		{
			MethodName: "GetDriverUpdateOptions",
			Handler:    _Driver_GetDriverUpdateOptions_Handler,
		},
		{
			MethodName: "GetVersion",
			Handler:    _Driver_GetVersion_Handler,
		},
		{
			MethodName: "SetVersion",
			Handler:    _Driver_SetVersion_Handler,
		},
		{
			MethodName: "GetNodeCount",
			Handler:    _Driver_GetNodeCount_Handler,
		},
		{
			MethodName: "SetNodeCount",
			Handler:    _Driver_SetNodeCount_Handler,
		},
		{
			MethodName: "GetCapabilities",
			Handler:    _Driver_GetCapabilities_Handler,
		},
		{
			MethodName: "ETCDSave",
			Handler:    _Driver_ETCDSave_Handler,
		},
		{
			MethodName: "ETCDRestore",
			Handler:    _Driver_ETCDRestore_Handler,
		},
		{
			MethodName: "ETCDRemoveSnapshot",
			Handler:    _Driver_ETCDRemoveSnapshot_Handler,
		},
		{
			MethodName: "GetK8sCapabilities",
			Handler:    _Driver_GetK8SCapabilities_Handler,
		},
		{
			MethodName: "RemoveLegacyServiceAccount",
			Handler:    _Driver_RemoveLegacyServiceAccount_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "drivers.proto",
}
