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

/*
Package kv is a generated protocol buffer package.

It is generated from these files:
	types.proto

It has these top-level messages:
	Configuration
	VersionMetadata
	KeyMetadata
	Version
	UpgradeInfo
*/
package kv

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

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

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

type Configuration struct {
	MaxVersions uint32 `protobuf:"varint,1,opt,name=max_versions,json=maxVersions" json:"max_versions,omitempty"`
	CasRequired bool   `protobuf:"varint,2,opt,name=cas_required,json=casRequired" json:"cas_required,omitempty"`
}

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

func (m *Configuration) GetMaxVersions() uint32 {
	if m != nil {
		return m.MaxVersions
	}
	return 0
}

func (m *Configuration) GetCasRequired() bool {
	if m != nil {
		return m.CasRequired
	}
	return false
}

type VersionMetadata struct {
	// CreatedTime is when the version was created.
	CreatedTime *google_protobuf.Timestamp `protobuf:"bytes,1,opt,name=created_time,json=createdTime" json:"created_time,omitempty"`
	// DeletionTime is the time this version becomes invalid.
	// Set to Now() to delete the version before the configured
	// delete time.
	DeletionTime *google_protobuf.Timestamp `protobuf:"bytes,2,opt,name=deletion_time,json=deletionTime" json:"deletion_time,omitempty"`
	// Destroyed is used to specify this version is
	// a has been removed and the underlying data deleted.
	Destroyed bool `protobuf:"varint,3,opt,name=destroyed" json:"destroyed,omitempty"`
}

func (m *VersionMetadata) Reset()                    { *m = VersionMetadata{} }
func (m *VersionMetadata) String() string            { return proto.CompactTextString(m) }
func (*VersionMetadata) ProtoMessage()               {}
func (*VersionMetadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }

func (m *VersionMetadata) GetCreatedTime() *google_protobuf.Timestamp {
	if m != nil {
		return m.CreatedTime
	}
	return nil
}

func (m *VersionMetadata) GetDeletionTime() *google_protobuf.Timestamp {
	if m != nil {
		return m.DeletionTime
	}
	return nil
}

func (m *VersionMetadata) GetDestroyed() bool {
	if m != nil {
		return m.Destroyed
	}
	return false
}

type KeyMetadata struct {
	// Key is the key for this entry
	Key string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
	// Versions is the map of versionID -> VersionMetadata.
	// Useful when listing all versions.
	Versions map[uint64]*VersionMetadata `protobuf:"bytes,2,rep,name=versions" json:"versions,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// CurrentVersion is the latest version of the value
	CurrentVersion uint64 `protobuf:"varint,3,opt,name=current_version,json=currentVersion" json:"current_version,omitempty"`
	// OldestVersion is the oldest version of the value.
	OldestVersion uint64 `protobuf:"varint,4,opt,name=oldest_version,json=oldestVersion" json:"oldest_version,omitempty"`
	// Created time is when the metadata was created.
	CreatedTime *google_protobuf.Timestamp `protobuf:"bytes,5,opt,name=created_time,json=createdTime" json:"created_time,omitempty"`
	// Updated time was the last time the metadata version
	// was updated.
	UpdatedTime *google_protobuf.Timestamp `protobuf:"bytes,6,opt,name=updated_time,json=updatedTime" json:"updated_time,omitempty"`
	// MaxVersions specifies how many versions to keep around.
	// If empty value, defaults to the configured Max
	// for the mount.
	MaxVersions uint32 `protobuf:"varint,7,opt,name=max_versions,json=maxVersions" json:"max_versions,omitempty"`
	// CasRequired specifies if the cas parameter is
	// required for this key
	CasRequired bool `protobuf:"varint,8,opt,name=cas_required,json=casRequired" json:"cas_required,omitempty"`
}

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

func (m *KeyMetadata) GetKey() string {
	if m != nil {
		return m.Key
	}
	return ""
}

func (m *KeyMetadata) GetVersions() map[uint64]*VersionMetadata {
	if m != nil {
		return m.Versions
	}
	return nil
}

func (m *KeyMetadata) GetCurrentVersion() uint64 {
	if m != nil {
		return m.CurrentVersion
	}
	return 0
}

func (m *KeyMetadata) GetOldestVersion() uint64 {
	if m != nil {
		return m.OldestVersion
	}
	return 0
}

func (m *KeyMetadata) GetCreatedTime() *google_protobuf.Timestamp {
	if m != nil {
		return m.CreatedTime
	}
	return nil
}

func (m *KeyMetadata) GetUpdatedTime() *google_protobuf.Timestamp {
	if m != nil {
		return m.UpdatedTime
	}
	return nil
}

func (m *KeyMetadata) GetMaxVersions() uint32 {
	if m != nil {
		return m.MaxVersions
	}
	return 0
}

func (m *KeyMetadata) GetCasRequired() bool {
	if m != nil {
		return m.CasRequired
	}
	return false
}

type Version struct {
	// Data is a JSON object with string keys that
	// represents the user supplied data.
	Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	// CreatedTime is when the version was created.
	CreatedTime *google_protobuf.Timestamp `protobuf:"bytes,2,opt,name=created_time,json=createdTime" json:"created_time,omitempty"`
	// DeletionTime is the time this version becomes invalid.
	// Set to Now() to delete the version before the configured
	// deletion time.
	DeletionTime *google_protobuf.Timestamp `protobuf:"bytes,3,opt,name=deletion_time,json=deletionTime" json:"deletion_time,omitempty"`
}

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

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

func (m *Version) GetCreatedTime() *google_protobuf.Timestamp {
	if m != nil {
		return m.CreatedTime
	}
	return nil
}

func (m *Version) GetDeletionTime() *google_protobuf.Timestamp {
	if m != nil {
		return m.DeletionTime
	}
	return nil
}

type UpgradeInfo struct {
	// Started time is when the upgrade was started.
	StartedTime *google_protobuf.Timestamp `protobuf:"bytes,1,opt,name=started_time,json=startedTime" json:"started_time,omitempty"`
	// done is set to true once the backend has been successfully
	// upgraded.
	Done bool `protobuf:"varint,2,opt,name=done" json:"done,omitempty"`
}

func (m *UpgradeInfo) Reset()                    { *m = UpgradeInfo{} }
func (m *UpgradeInfo) String() string            { return proto.CompactTextString(m) }
func (*UpgradeInfo) ProtoMessage()               {}
func (*UpgradeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }

func (m *UpgradeInfo) GetStartedTime() *google_protobuf.Timestamp {
	if m != nil {
		return m.StartedTime
	}
	return nil
}

func (m *UpgradeInfo) GetDone() bool {
	if m != nil {
		return m.Done
	}
	return false
}

func init() {
	proto.RegisterType((*Configuration)(nil), "kv.Configuration")
	proto.RegisterType((*VersionMetadata)(nil), "kv.VersionMetadata")
	proto.RegisterType((*KeyMetadata)(nil), "kv.KeyMetadata")
	proto.RegisterType((*Version)(nil), "kv.Version")
	proto.RegisterType((*UpgradeInfo)(nil), "kv.UpgradeInfo")
}

func init() { proto.RegisterFile("types.proto", fileDescriptor0) }

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