// silence the protobuf compiler warning by setting the default

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.32.0
// 	protoc        v4.25.3
// source: lxd/migration/migrate.proto

package migration

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type MigrationFSType int32

const (
	MigrationFSType_RSYNC           MigrationFSType = 0
	MigrationFSType_BTRFS           MigrationFSType = 1
	MigrationFSType_ZFS             MigrationFSType = 2
	MigrationFSType_RBD             MigrationFSType = 3
	MigrationFSType_BLOCK_AND_RSYNC MigrationFSType = 4
	MigrationFSType_RBD_AND_RSYNC   MigrationFSType = 5
)

// Enum value maps for MigrationFSType.
var (
	MigrationFSType_name = map[int32]string{
		0: "RSYNC",
		1: "BTRFS",
		2: "ZFS",
		3: "RBD",
		4: "BLOCK_AND_RSYNC",
		5: "RBD_AND_RSYNC",
	}
	MigrationFSType_value = map[string]int32{
		"RSYNC":           0,
		"BTRFS":           1,
		"ZFS":             2,
		"RBD":             3,
		"BLOCK_AND_RSYNC": 4,
		"RBD_AND_RSYNC":   5,
	}
)

func (x MigrationFSType) Enum() *MigrationFSType {
	p := new(MigrationFSType)
	*p = x
	return p
}

func (x MigrationFSType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (MigrationFSType) Descriptor() protoreflect.EnumDescriptor {
	return file_lxd_migration_migrate_proto_enumTypes[0].Descriptor()
}

func (MigrationFSType) Type() protoreflect.EnumType {
	return &file_lxd_migration_migrate_proto_enumTypes[0]
}

func (x MigrationFSType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Do not use.
func (x *MigrationFSType) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = MigrationFSType(num)
	return nil
}

// Deprecated: Use MigrationFSType.Descriptor instead.
func (MigrationFSType) EnumDescriptor() ([]byte, []int) {
	return file_lxd_migration_migrate_proto_rawDescGZIP(), []int{0}
}

type CRIUType int32

const (
	CRIUType_CRIU_RSYNC CRIUType = 0
	CRIUType_PHAUL      CRIUType = 1
	CRIUType_NONE       CRIUType = 2
	CRIUType_VM_QEMU    CRIUType = 3
)

// Enum value maps for CRIUType.
var (
	CRIUType_name = map[int32]string{
		0: "CRIU_RSYNC",
		1: "PHAUL",
		2: "NONE",
		3: "VM_QEMU",
	}
	CRIUType_value = map[string]int32{
		"CRIU_RSYNC": 0,
		"PHAUL":      1,
		"NONE":       2,
		"VM_QEMU":    3,
	}
)

func (x CRIUType) Enum() *CRIUType {
	p := new(CRIUType)
	*p = x
	return p
}

func (x CRIUType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (CRIUType) Descriptor() protoreflect.EnumDescriptor {
	return file_lxd_migration_migrate_proto_enumTypes[1].Descriptor()
}

func (CRIUType) Type() protoreflect.EnumType {
	return &file_lxd_migration_migrate_proto_enumTypes[1]
}

func (x CRIUType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Do not use.
func (x *CRIUType) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = CRIUType(num)
	return nil
}

// Deprecated: Use CRIUType.Descriptor instead.
func (CRIUType) EnumDescriptor() ([]byte, []int) {
	return file_lxd_migration_migrate_proto_rawDescGZIP(), []int{1}
}

type IDMapType struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Isuid    *bool  `protobuf:"varint,1,req,name=isuid" json:"isuid,omitempty"`
	Isgid    *bool  `protobuf:"varint,2,req,name=isgid" json:"isgid,omitempty"`
	Hostid   *int32 `protobuf:"varint,3,req,name=hostid" json:"hostid,omitempty"`
	Nsid     *int32 `protobuf:"varint,4,req,name=nsid" json:"nsid,omitempty"`
	Maprange *int32 `protobuf:"varint,5,req,name=maprange" json:"maprange,omitempty"`
}

func (x *IDMapType) Reset() {
	*x = IDMapType{}
	if protoimpl.UnsafeEnabled {
		mi := &file_lxd_migration_migrate_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *IDMapType) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*IDMapType) ProtoMessage() {}

func (x *IDMapType) ProtoReflect() protoreflect.Message {
	mi := &file_lxd_migration_migrate_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use IDMapType.ProtoReflect.Descriptor instead.
func (*IDMapType) Descriptor() ([]byte, []int) {
	return file_lxd_migration_migrate_proto_rawDescGZIP(), []int{0}
}

func (x *IDMapType) GetIsuid() bool {
	if x != nil && x.Isuid != nil {
		return *x.Isuid
	}
	return false
}

func (x *IDMapType) GetIsgid() bool {
	if x != nil && x.Isgid != nil {
		return *x.Isgid
	}
	return false
}

func (x *IDMapType) GetHostid() int32 {
	if x != nil && x.Hostid != nil {
		return *x.Hostid
	}
	return 0
}

func (x *IDMapType) GetNsid() int32 {
	if x != nil && x.Nsid != nil {
		return *x.Nsid
	}
	return 0
}

func (x *IDMapType) GetMaprange() int32 {
	if x != nil && x.Maprange != nil {
		return *x.Maprange
	}
	return 0
}

type Config struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Key   *string `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
	Value *string `protobuf:"bytes,2,req,name=value" json:"value,omitempty"`
}

func (x *Config) Reset() {
	*x = Config{}
	if protoimpl.UnsafeEnabled {
		mi := &file_lxd_migration_migrate_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Config) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Config) ProtoMessage() {}

func (x *Config) ProtoReflect() protoreflect.Message {
	mi := &file_lxd_migration_migrate_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Config.ProtoReflect.Descriptor instead.
func (*Config) Descriptor() ([]byte, []int) {
	return file_lxd_migration_migrate_proto_rawDescGZIP(), []int{1}
}

func (x *Config) GetKey() string {
	if x != nil && x.Key != nil {
		return *x.Key
	}
	return ""
}

func (x *Config) GetValue() string {
	if x != nil && x.Value != nil {
		return *x.Value
	}
	return ""
}

type Device struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name   *string   `protobuf:"bytes,1,req,name=name" json:"name,omitempty"`
	Config []*Config `protobuf:"bytes,2,rep,name=config" json:"config,omitempty"`
}

func (x *Device) Reset() {
	*x = Device{}
	if protoimpl.UnsafeEnabled {
		mi := &file_lxd_migration_migrate_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Device) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Device) ProtoMessage() {}

func (x *Device) ProtoReflect() protoreflect.Message {
	mi := &file_lxd_migration_migrate_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Device.ProtoReflect.Descriptor instead.
func (*Device) Descriptor() ([]byte, []int) {
	return file_lxd_migration_migrate_proto_rawDescGZIP(), []int{2}
}

func (x *Device) GetName() string {
	if x != nil && x.Name != nil {
		return *x.Name
	}
	return ""
}

func (x *Device) GetConfig() []*Config {
	if x != nil {
		return x.Config
	}
	return nil
}

type Snapshot struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name         *string   `protobuf:"bytes,1,req,name=name" json:"name,omitempty"`
	LocalConfig  []*Config `protobuf:"bytes,2,rep,name=localConfig" json:"localConfig,omitempty"`
	Profiles     []string  `protobuf:"bytes,3,rep,name=profiles" json:"profiles,omitempty"`
	Ephemeral    *bool     `protobuf:"varint,4,req,name=ephemeral" json:"ephemeral,omitempty"`
	LocalDevices []*Device `protobuf:"bytes,5,rep,name=localDevices" json:"localDevices,omitempty"`
	Architecture *int32    `protobuf:"varint,6,req,name=architecture" json:"architecture,omitempty"`
	Stateful     *bool     `protobuf:"varint,7,req,name=stateful" json:"stateful,omitempty"`
	CreationDate *int64    `protobuf:"varint,8,opt,name=creation_date,json=creationDate" json:"creation_date,omitempty"`
	LastUsedDate *int64    `protobuf:"varint,9,opt,name=last_used_date,json=lastUsedDate" json:"last_used_date,omitempty"`
	ExpiryDate   *int64    `protobuf:"varint,10,opt,name=expiry_date,json=expiryDate" json:"expiry_date,omitempty"`
}

func (x *Snapshot) Reset() {
	*x = Snapshot{}
	if protoimpl.UnsafeEnabled {
		mi := &file_lxd_migration_migrate_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Snapshot) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Snapshot) ProtoMessage() {}

func (x *Snapshot) ProtoReflect() protoreflect.Message {
	mi := &file_lxd_migration_migrate_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Snapshot.ProtoReflect.Descriptor instead.
func (*Snapshot) Descriptor() ([]byte, []int) {
	return file_lxd_migration_migrate_proto_rawDescGZIP(), []int{3}
}

func (x *Snapshot) GetName() string {
	if x != nil && x.Name != nil {
		return *x.Name
	}
	return ""
}

func (x *Snapshot) GetLocalConfig() []*Config {
	if x != nil {
		return x.LocalConfig
	}
	return nil
}

func (x *Snapshot) GetProfiles() []string {
	if x != nil {
		return x.Profiles
	}
	return nil
}

func (x *Snapshot) GetEphemeral() bool {
	if x != nil && x.Ephemeral != nil {
		return *x.Ephemeral
	}
	return false
}

func (x *Snapshot) GetLocalDevices() []*Device {
	if x != nil {
		return x.LocalDevices
	}
	return nil
}

func (x *Snapshot) GetArchitecture() int32 {
	if x != nil && x.Architecture != nil {
		return *x.Architecture
	}
	return 0
}

func (x *Snapshot) GetStateful() bool {
	if x != nil && x.Stateful != nil {
		return *x.Stateful
	}
	return false
}

func (x *Snapshot) GetCreationDate() int64 {
	if x != nil && x.CreationDate != nil {
		return *x.CreationDate
	}
	return 0
}

func (x *Snapshot) GetLastUsedDate() int64 {
	if x != nil && x.LastUsedDate != nil {
		return *x.LastUsedDate
	}
	return 0
}

func (x *Snapshot) GetExpiryDate() int64 {
	if x != nil && x.ExpiryDate != nil {
		return *x.ExpiryDate
	}
	return 0
}

type RsyncFeatures struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Xattrs        *bool `protobuf:"varint,1,opt,name=xattrs" json:"xattrs,omitempty"`
	Delete        *bool `protobuf:"varint,2,opt,name=delete" json:"delete,omitempty"`
	Compress      *bool `protobuf:"varint,3,opt,name=compress" json:"compress,omitempty"`
	Bidirectional *bool `protobuf:"varint,4,opt,name=bidirectional" json:"bidirectional,omitempty"`
}

func (x *RsyncFeatures) Reset() {
	*x = RsyncFeatures{}
	if protoimpl.UnsafeEnabled {
		mi := &file_lxd_migration_migrate_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RsyncFeatures) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RsyncFeatures) ProtoMessage() {}

func (x *RsyncFeatures) ProtoReflect() protoreflect.Message {
	mi := &file_lxd_migration_migrate_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RsyncFeatures.ProtoReflect.Descriptor instead.
func (*RsyncFeatures) Descriptor() ([]byte, []int) {
	return file_lxd_migration_migrate_proto_rawDescGZIP(), []int{4}
}

func (x *RsyncFeatures) GetXattrs() bool {
	if x != nil && x.Xattrs != nil {
		return *x.Xattrs
	}
	return false
}

func (x *RsyncFeatures) GetDelete() bool {
	if x != nil && x.Delete != nil {
		return *x.Delete
	}
	return false
}

func (x *RsyncFeatures) GetCompress() bool {
	if x != nil && x.Compress != nil {
		return *x.Compress
	}
	return false
}

func (x *RsyncFeatures) GetBidirectional() bool {
	if x != nil && x.Bidirectional != nil {
		return *x.Bidirectional
	}
	return false
}

type ZfsFeatures struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Compress        *bool `protobuf:"varint,1,opt,name=compress" json:"compress,omitempty"`
	MigrationHeader *bool `protobuf:"varint,2,opt,name=migration_header,json=migrationHeader" json:"migration_header,omitempty"`
	HeaderZvols     *bool `protobuf:"varint,3,opt,name=header_zvols,json=headerZvols" json:"header_zvols,omitempty"`
}

func (x *ZfsFeatures) Reset() {
	*x = ZfsFeatures{}
	if protoimpl.UnsafeEnabled {
		mi := &file_lxd_migration_migrate_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ZfsFeatures) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ZfsFeatures) ProtoMessage() {}

func (x *ZfsFeatures) ProtoReflect() protoreflect.Message {
	mi := &file_lxd_migration_migrate_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ZfsFeatures.ProtoReflect.Descriptor instead.
func (*ZfsFeatures) Descriptor() ([]byte, []int) {
	return file_lxd_migration_migrate_proto_rawDescGZIP(), []int{5}
}

func (x *ZfsFeatures) GetCompress() bool {
	if x != nil && x.Compress != nil {
		return *x.Compress
	}
	return false
}

func (x *ZfsFeatures) GetMigrationHeader() bool {
	if x != nil && x.MigrationHeader != nil {
		return *x.MigrationHeader
	}
	return false
}

func (x *ZfsFeatures) GetHeaderZvols() bool {
	if x != nil && x.HeaderZvols != nil {
		return *x.HeaderZvols
	}
	return false
}

type BtrfsFeatures struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	MigrationHeader      *bool `protobuf:"varint,1,opt,name=migration_header,json=migrationHeader" json:"migration_header,omitempty"`
	HeaderSubvolumes     *bool `protobuf:"varint,2,opt,name=header_subvolumes,json=headerSubvolumes" json:"header_subvolumes,omitempty"`
	HeaderSubvolumeUuids *bool `protobuf:"varint,3,opt,name=header_subvolume_uuids,json=headerSubvolumeUuids" json:"header_subvolume_uuids,omitempty"`
}

func (x *BtrfsFeatures) Reset() {
	*x = BtrfsFeatures{}
	if protoimpl.UnsafeEnabled {
		mi := &file_lxd_migration_migrate_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BtrfsFeatures) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BtrfsFeatures) ProtoMessage() {}

func (x *BtrfsFeatures) ProtoReflect() protoreflect.Message {
	mi := &file_lxd_migration_migrate_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BtrfsFeatures.ProtoReflect.Descriptor instead.
func (*BtrfsFeatures) Descriptor() ([]byte, []int) {
	return file_lxd_migration_migrate_proto_rawDescGZIP(), []int{6}
}

func (x *BtrfsFeatures) GetMigrationHeader() bool {
	if x != nil && x.MigrationHeader != nil {
		return *x.MigrationHeader
	}
	return false
}

func (x *BtrfsFeatures) GetHeaderSubvolumes() bool {
	if x != nil && x.HeaderSubvolumes != nil {
		return *x.HeaderSubvolumes
	}
	return false
}

func (x *BtrfsFeatures) GetHeaderSubvolumeUuids() bool {
	if x != nil && x.HeaderSubvolumeUuids != nil {
		return *x.HeaderSubvolumeUuids
	}
	return false
}

type MigrationHeader struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Fs                 *MigrationFSType `protobuf:"varint,1,req,name=fs,enum=migration.MigrationFSType" json:"fs,omitempty"`
	Criu               *CRIUType        `protobuf:"varint,2,opt,name=criu,enum=migration.CRIUType" json:"criu,omitempty"`
	Idmap              []*IDMapType     `protobuf:"bytes,3,rep,name=idmap" json:"idmap,omitempty"`
	SnapshotNames      []string         `protobuf:"bytes,4,rep,name=snapshotNames" json:"snapshotNames,omitempty"`
	Snapshots          []*Snapshot      `protobuf:"bytes,5,rep,name=snapshots" json:"snapshots,omitempty"`
	Predump            *bool            `protobuf:"varint,7,opt,name=predump" json:"predump,omitempty"`
	RsyncFeatures      *RsyncFeatures   `protobuf:"bytes,8,opt,name=rsyncFeatures" json:"rsyncFeatures,omitempty"`
	Refresh            *bool            `protobuf:"varint,9,opt,name=refresh" json:"refresh,omitempty"`
	ZfsFeatures        *ZfsFeatures     `protobuf:"bytes,10,opt,name=zfsFeatures" json:"zfsFeatures,omitempty"`
	VolumeSize         *int64           `protobuf:"varint,11,opt,name=volumeSize" json:"volumeSize,omitempty"`
	BtrfsFeatures      *BtrfsFeatures   `protobuf:"bytes,12,opt,name=btrfsFeatures" json:"btrfsFeatures,omitempty"`
	IndexHeaderVersion *uint32          `protobuf:"varint,13,opt,name=indexHeaderVersion" json:"indexHeaderVersion,omitempty"`
}

func (x *MigrationHeader) Reset() {
	*x = MigrationHeader{}
	if protoimpl.UnsafeEnabled {
		mi := &file_lxd_migration_migrate_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MigrationHeader) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MigrationHeader) ProtoMessage() {}

func (x *MigrationHeader) ProtoReflect() protoreflect.Message {
	mi := &file_lxd_migration_migrate_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MigrationHeader.ProtoReflect.Descriptor instead.
func (*MigrationHeader) Descriptor() ([]byte, []int) {
	return file_lxd_migration_migrate_proto_rawDescGZIP(), []int{7}
}

func (x *MigrationHeader) GetFs() MigrationFSType {
	if x != nil && x.Fs != nil {
		return *x.Fs
	}
	return MigrationFSType_RSYNC
}

func (x *MigrationHeader) GetCriu() CRIUType {
	if x != nil && x.Criu != nil {
		return *x.Criu
	}
	return CRIUType_CRIU_RSYNC
}

func (x *MigrationHeader) GetIdmap() []*IDMapType {
	if x != nil {
		return x.Idmap
	}
	return nil
}

func (x *MigrationHeader) GetSnapshotNames() []string {
	if x != nil {
		return x.SnapshotNames
	}
	return nil
}

func (x *MigrationHeader) GetSnapshots() []*Snapshot {
	if x != nil {
		return x.Snapshots
	}
	return nil
}

func (x *MigrationHeader) GetPredump() bool {
	if x != nil && x.Predump != nil {
		return *x.Predump
	}
	return false
}

func (x *MigrationHeader) GetRsyncFeatures() *RsyncFeatures {
	if x != nil {
		return x.RsyncFeatures
	}
	return nil
}

func (x *MigrationHeader) GetRefresh() bool {
	if x != nil && x.Refresh != nil {
		return *x.Refresh
	}
	return false
}

func (x *MigrationHeader) GetZfsFeatures() *ZfsFeatures {
	if x != nil {
		return x.ZfsFeatures
	}
	return nil
}

func (x *MigrationHeader) GetVolumeSize() int64 {
	if x != nil && x.VolumeSize != nil {
		return *x.VolumeSize
	}
	return 0
}

func (x *MigrationHeader) GetBtrfsFeatures() *BtrfsFeatures {
	if x != nil {
		return x.BtrfsFeatures
	}
	return nil
}

func (x *MigrationHeader) GetIndexHeaderVersion() uint32 {
	if x != nil && x.IndexHeaderVersion != nil {
		return *x.IndexHeaderVersion
	}
	return 0
}

type MigrationControl struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Success *bool `protobuf:"varint,1,req,name=success" json:"success,omitempty"`
	// optional failure message if sending a failure
	Message *string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
}

func (x *MigrationControl) Reset() {
	*x = MigrationControl{}
	if protoimpl.UnsafeEnabled {
		mi := &file_lxd_migration_migrate_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MigrationControl) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MigrationControl) ProtoMessage() {}

func (x *MigrationControl) ProtoReflect() protoreflect.Message {
	mi := &file_lxd_migration_migrate_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MigrationControl.ProtoReflect.Descriptor instead.
func (*MigrationControl) Descriptor() ([]byte, []int) {
	return file_lxd_migration_migrate_proto_rawDescGZIP(), []int{8}
}

func (x *MigrationControl) GetSuccess() bool {
	if x != nil && x.Success != nil {
		return *x.Success
	}
	return false
}

func (x *MigrationControl) GetMessage() string {
	if x != nil && x.Message != nil {
		return *x.Message
	}
	return ""
}

type MigrationSync struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	FinalPreDump *bool `protobuf:"varint,1,req,name=finalPreDump" json:"finalPreDump,omitempty"`
}

func (x *MigrationSync) Reset() {
	*x = MigrationSync{}
	if protoimpl.UnsafeEnabled {
		mi := &file_lxd_migration_migrate_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MigrationSync) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MigrationSync) ProtoMessage() {}

func (x *MigrationSync) ProtoReflect() protoreflect.Message {
	mi := &file_lxd_migration_migrate_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MigrationSync.ProtoReflect.Descriptor instead.
func (*MigrationSync) Descriptor() ([]byte, []int) {
	return file_lxd_migration_migrate_proto_rawDescGZIP(), []int{9}
}

func (x *MigrationSync) GetFinalPreDump() bool {
	if x != nil && x.FinalPreDump != nil {
		return *x.FinalPreDump
	}
	return false
}

var File_lxd_migration_migrate_proto protoreflect.FileDescriptor

var file_lxd_migration_migrate_proto_rawDesc = []byte{
	0x0a, 0x1b, 0x6c, 0x78, 0x64, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f,
	0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x6d,
	0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7f, 0x0a, 0x09, 0x49, 0x44, 0x4d, 0x61,
	0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x75, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x02, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69,
	0x73, 0x67, 0x69, 0x64, 0x18, 0x02, 0x20, 0x02, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x67, 0x69,
	0x64, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x69, 0x64, 0x18, 0x03, 0x20, 0x02, 0x28,
	0x05, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x73, 0x69,
	0x64, 0x18, 0x04, 0x20, 0x02, 0x28, 0x05, 0x52, 0x04, 0x6e, 0x73, 0x69, 0x64, 0x12, 0x1a, 0x0a,
	0x08, 0x6d, 0x61, 0x70, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x02, 0x28, 0x05, 0x52,
	0x08, 0x6d, 0x61, 0x70, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x30, 0x0a, 0x06, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09,
	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
	0x20, 0x02, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x47, 0x0a, 0x06, 0x44,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
	0x02, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x06, 0x63, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x69, 0x67, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x22, 0xf0, 0x02, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f,
	0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x69, 0x67,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x6c,
	0x6f, 0x63, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72,
	0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72,
	0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65,
	0x72, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x02, 0x28, 0x08, 0x52, 0x09, 0x65, 0x70, 0x68, 0x65, 0x6d,
	0x65, 0x72, 0x61, 0x6c, 0x12, 0x35, 0x0a, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x69, 0x67,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0c, 0x6c,
	0x6f, 0x63, 0x61, 0x6c, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x61,
	0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x02, 0x28,
	0x05, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12,
	0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x18, 0x07, 0x20, 0x02, 0x28,
	0x08, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x63,
	0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65,
	0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x64, 0x61,
	0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x73,
	0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79,
	0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x65, 0x78, 0x70,
	0x69, 0x72, 0x79, 0x44, 0x61, 0x74, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x0d, 0x72, 0x73, 0x79, 0x6e,
	0x63, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x78, 0x61, 0x74,
	0x74, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x78, 0x61, 0x74, 0x74, 0x72,
	0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d,
	0x70, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x6f, 0x6d,
	0x70, 0x72, 0x65, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x69, 0x64, 0x69, 0x72, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x62, 0x69,
	0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x22, 0x77, 0x0a, 0x0b, 0x7a,
	0x66, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f,
	0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x6f,
	0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x0f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65,
	0x72, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x7a, 0x76, 0x6f, 0x6c,
	0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5a,
	0x76, 0x6f, 0x6c, 0x73, 0x22, 0x9d, 0x01, 0x0a, 0x0d, 0x62, 0x74, 0x72, 0x66, 0x73, 0x46, 0x65,
	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x0f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65,
	0x72, 0x12, 0x2b, 0x0a, 0x11, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x62, 0x76,
	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x68, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x53, 0x75, 0x62, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x12, 0x34,
	0x0a, 0x16, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x62, 0x76, 0x6f, 0x6c, 0x75,
	0x6d, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14,
	0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x75, 0x62, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x55,
	0x75, 0x69, 0x64, 0x73, 0x22, 0xa9, 0x04, 0x0a, 0x0f, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x02, 0x66, 0x73, 0x18, 0x01,
	0x20, 0x02, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x53, 0x54, 0x79, 0x70, 0x65,
	0x52, 0x02, 0x66, 0x73, 0x12, 0x27, 0x0a, 0x04, 0x63, 0x72, 0x69, 0x75, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43,
	0x52, 0x49, 0x55, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x63, 0x72, 0x69, 0x75, 0x12, 0x2a, 0x0a,
	0x05, 0x69, 0x64, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d,
	0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x44, 0x4d, 0x61, 0x70, 0x54, 0x79,
	0x70, 0x65, 0x52, 0x05, 0x69, 0x64, 0x6d, 0x61, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x6e, 0x61,
	0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12,
	0x31, 0x0a, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53,
	0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f,
	0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x64, 0x75, 0x6d, 0x70, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x65, 0x64, 0x75, 0x6d, 0x70, 0x12, 0x3e, 0x0a, 0x0d,
	0x72, 0x73, 0x79, 0x6e, 0x63, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
	0x72, 0x73, 0x79, 0x6e, 0x63, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x0d, 0x72,
	0x73, 0x79, 0x6e, 0x63, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07,
	0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72,
	0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x38, 0x0a, 0x0b, 0x7a, 0x66, 0x73, 0x46, 0x65, 0x61,
	0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x69,
	0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x7a, 0x66, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75,
	0x72, 0x65, 0x73, 0x52, 0x0b, 0x7a, 0x66, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
	0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x0b,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x69, 0x7a, 0x65,
	0x12, 0x3e, 0x0a, 0x0d, 0x62, 0x74, 0x72, 0x66, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
	0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x2e, 0x62, 0x74, 0x72, 0x66, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
	0x73, 0x52, 0x0d, 0x62, 0x74, 0x72, 0x66, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
	0x12, 0x2e, 0x0a, 0x12, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56,
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x69, 0x6e,
	0x64, 0x65, 0x78, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x22, 0x46, 0x0a, 0x10, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e,
	0x74, 0x72, 0x6f, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18,
	0x01, 0x20, 0x02, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18,
	0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x33, 0x0a, 0x0d, 0x4d, 0x69, 0x67, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x69, 0x6e,
	0x61, 0x6c, 0x50, 0x72, 0x65, 0x44, 0x75, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x02, 0x28, 0x08, 0x52,
	0x0c, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x65, 0x44, 0x75, 0x6d, 0x70, 0x2a, 0x61, 0x0a,
	0x0f, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x53, 0x54, 0x79, 0x70, 0x65,
	0x12, 0x09, 0x0a, 0x05, 0x52, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x42,
	0x54, 0x52, 0x46, 0x53, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x5a, 0x46, 0x53, 0x10, 0x02, 0x12,
	0x07, 0x0a, 0x03, 0x52, 0x42, 0x44, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x42, 0x4c, 0x4f, 0x43,
	0x4b, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x52, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x04, 0x12, 0x11, 0x0a,
	0x0d, 0x52, 0x42, 0x44, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x52, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x05,
	0x2a, 0x3c, 0x0a, 0x08, 0x43, 0x52, 0x49, 0x55, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a,
	0x43, 0x52, 0x49, 0x55, 0x5f, 0x52, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05,
	0x50, 0x48, 0x41, 0x55, 0x4c, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10,
	0x02, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x4d, 0x5f, 0x51, 0x45, 0x4d, 0x55, 0x10, 0x03, 0x42, 0x0f,
	0x5a, 0x0d, 0x6c, 0x78, 0x64, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
}

var (
	file_lxd_migration_migrate_proto_rawDescOnce sync.Once
	file_lxd_migration_migrate_proto_rawDescData = file_lxd_migration_migrate_proto_rawDesc
)

func file_lxd_migration_migrate_proto_rawDescGZIP() []byte {
	file_lxd_migration_migrate_proto_rawDescOnce.Do(func() {
		file_lxd_migration_migrate_proto_rawDescData = protoimpl.X.CompressGZIP(file_lxd_migration_migrate_proto_rawDescData)
	})
	return file_lxd_migration_migrate_proto_rawDescData
}

var file_lxd_migration_migrate_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_lxd_migration_migrate_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
var file_lxd_migration_migrate_proto_goTypes = []interface{}{
	(MigrationFSType)(0),     // 0: migration.MigrationFSType
	(CRIUType)(0),            // 1: migration.CRIUType
	(*IDMapType)(nil),        // 2: migration.IDMapType
	(*Config)(nil),           // 3: migration.Config
	(*Device)(nil),           // 4: migration.Device
	(*Snapshot)(nil),         // 5: migration.Snapshot
	(*RsyncFeatures)(nil),    // 6: migration.rsyncFeatures
	(*ZfsFeatures)(nil),      // 7: migration.zfsFeatures
	(*BtrfsFeatures)(nil),    // 8: migration.btrfsFeatures
	(*MigrationHeader)(nil),  // 9: migration.MigrationHeader
	(*MigrationControl)(nil), // 10: migration.MigrationControl
	(*MigrationSync)(nil),    // 11: migration.MigrationSync
}
var file_lxd_migration_migrate_proto_depIdxs = []int32{
	3,  // 0: migration.Device.config:type_name -> migration.Config
	3,  // 1: migration.Snapshot.localConfig:type_name -> migration.Config
	4,  // 2: migration.Snapshot.localDevices:type_name -> migration.Device
	0,  // 3: migration.MigrationHeader.fs:type_name -> migration.MigrationFSType
	1,  // 4: migration.MigrationHeader.criu:type_name -> migration.CRIUType
	2,  // 5: migration.MigrationHeader.idmap:type_name -> migration.IDMapType
	5,  // 6: migration.MigrationHeader.snapshots:type_name -> migration.Snapshot
	6,  // 7: migration.MigrationHeader.rsyncFeatures:type_name -> migration.rsyncFeatures
	7,  // 8: migration.MigrationHeader.zfsFeatures:type_name -> migration.zfsFeatures
	8,  // 9: migration.MigrationHeader.btrfsFeatures:type_name -> migration.btrfsFeatures
	10, // [10:10] is the sub-list for method output_type
	10, // [10:10] is the sub-list for method input_type
	10, // [10:10] is the sub-list for extension type_name
	10, // [10:10] is the sub-list for extension extendee
	0,  // [0:10] is the sub-list for field type_name
}

func init() { file_lxd_migration_migrate_proto_init() }
func file_lxd_migration_migrate_proto_init() {
	if File_lxd_migration_migrate_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_lxd_migration_migrate_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*IDMapType); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_lxd_migration_migrate_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Config); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_lxd_migration_migrate_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Device); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_lxd_migration_migrate_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Snapshot); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_lxd_migration_migrate_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RsyncFeatures); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_lxd_migration_migrate_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ZfsFeatures); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_lxd_migration_migrate_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BtrfsFeatures); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_lxd_migration_migrate_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MigrationHeader); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_lxd_migration_migrate_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MigrationControl); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_lxd_migration_migrate_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MigrationSync); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_lxd_migration_migrate_proto_rawDesc,
			NumEnums:      2,
			NumMessages:   10,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_lxd_migration_migrate_proto_goTypes,
		DependencyIndexes: file_lxd_migration_migrate_proto_depIdxs,
		EnumInfos:         file_lxd_migration_migrate_proto_enumTypes,
		MessageInfos:      file_lxd_migration_migrate_proto_msgTypes,
	}.Build()
	File_lxd_migration_migrate_proto = out.File
	file_lxd_migration_migrate_proto_rawDesc = nil
	file_lxd_migration_migrate_proto_goTypes = nil
	file_lxd_migration_migrate_proto_depIdxs = nil
}
