// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        v3.21.12
// source: yandex/cloud/backup/v1/resource.proto

package backup

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

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 ResourceType int32

const (
	ResourceType_RESOURCE_TYPE_UNSPECIFIED ResourceType = 0
	// Resource is Compute Cloud VM
	ResourceType_COMPUTE ResourceType = 1
	// Resource is baremetal server
	ResourceType_BMS ResourceType = 2
	// Resource is VM
	ResourceType_EXTERNAL_VM ResourceType = 3
	// Resource is server
	ResourceType_EXTERNAL_SERVER ResourceType = 4
)

// Enum value maps for ResourceType.
var (
	ResourceType_name = map[int32]string{
		0: "RESOURCE_TYPE_UNSPECIFIED",
		1: "COMPUTE",
		2: "BMS",
		3: "EXTERNAL_VM",
		4: "EXTERNAL_SERVER",
	}
	ResourceType_value = map[string]int32{
		"RESOURCE_TYPE_UNSPECIFIED": 0,
		"COMPUTE":                   1,
		"BMS":                       2,
		"EXTERNAL_VM":               3,
		"EXTERNAL_SERVER":           4,
	}
)

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

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

func (ResourceType) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_backup_v1_resource_proto_enumTypes[0].Descriptor()
}

func (ResourceType) Type() protoreflect.EnumType {
	return &file_yandex_cloud_backup_v1_resource_proto_enumTypes[0]
}

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

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

type Resource_Status int32

const (
	Resource_STATUS_UNSPECIFIED Resource_Status = 0
	// Compute Cloud instance is doing nothing right now.
	Resource_IDLE Resource_Status = 1
	// Compute Cloud instance is currently backing up itself.
	Resource_BACKUPING Resource_Status = 2
	// Compute Cloud instance is currently recovering itself.
	Resource_RECOVERING Resource_Status = 3
	// Compute Cloud instance is in failure state, check content of
	// `status_details` field for more information.
	Resource_FAILED Resource_Status = 4
	// Unspecified state, check `status_details` field
	// for more information.
	Resource_OTHER Resource_Status = 5
)

// Enum value maps for Resource_Status.
var (
	Resource_Status_name = map[int32]string{
		0: "STATUS_UNSPECIFIED",
		1: "IDLE",
		2: "BACKUPING",
		3: "RECOVERING",
		4: "FAILED",
		5: "OTHER",
	}
	Resource_Status_value = map[string]int32{
		"STATUS_UNSPECIFIED": 0,
		"IDLE":               1,
		"BACKUPING":          2,
		"RECOVERING":         3,
		"FAILED":             4,
		"OTHER":              5,
	}
)

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

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

func (Resource_Status) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_backup_v1_resource_proto_enumTypes[1].Descriptor()
}

func (Resource_Status) Type() protoreflect.EnumType {
	return &file_yandex_cloud_backup_v1_resource_proto_enumTypes[1]
}

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

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

type Resource_InitStatus int32

const (
	Resource_INIT_STATUS_UNSPECIFIED Resource_InitStatus = 0
	// Registration of instance in cloud backups have started.
	Resource_REGISTERING Resource_InitStatus = 1
	// Instance is registered in cloud backups.
	Resource_REGISTRED Resource_InitStatus = 2
	// Instance registration failed.
	Resource_FAILED_REGISTRATION Resource_InitStatus = 3
	// Instance is deleted from cloud backup service.
	Resource_DELETED Resource_InitStatus = 4
)

// Enum value maps for Resource_InitStatus.
var (
	Resource_InitStatus_name = map[int32]string{
		0: "INIT_STATUS_UNSPECIFIED",
		1: "REGISTERING",
		2: "REGISTRED",
		3: "FAILED_REGISTRATION",
		4: "DELETED",
	}
	Resource_InitStatus_value = map[string]int32{
		"INIT_STATUS_UNSPECIFIED": 0,
		"REGISTERING":             1,
		"REGISTRED":               2,
		"FAILED_REGISTRATION":     3,
		"DELETED":                 4,
	}
)

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

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

func (Resource_InitStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_backup_v1_resource_proto_enumTypes[2].Descriptor()
}

func (Resource_InitStatus) Type() protoreflect.EnumType {
	return &file_yandex_cloud_backup_v1_resource_proto_enumTypes[2]
}

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

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

type Task_Type int32

const (
	Task_TYPE_UNSPECIFIED Task_Type = 0
	Task_BACKUP           Task_Type = 1
	Task_RETENTION        Task_Type = 2
	Task_RECOVERY         Task_Type = 3
	Task_APPLY_POLICY     Task_Type = 4
	Task_REVOKE_POLICY    Task_Type = 5
)

// Enum value maps for Task_Type.
var (
	Task_Type_name = map[int32]string{
		0: "TYPE_UNSPECIFIED",
		1: "BACKUP",
		2: "RETENTION",
		3: "RECOVERY",
		4: "APPLY_POLICY",
		5: "REVOKE_POLICY",
	}
	Task_Type_value = map[string]int32{
		"TYPE_UNSPECIFIED": 0,
		"BACKUP":           1,
		"RETENTION":        2,
		"RECOVERY":         3,
		"APPLY_POLICY":     4,
		"REVOKE_POLICY":    5,
	}
)

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

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

func (Task_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_backup_v1_resource_proto_enumTypes[3].Descriptor()
}

func (Task_Type) Type() protoreflect.EnumType {
	return &file_yandex_cloud_backup_v1_resource_proto_enumTypes[3]
}

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

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

// Status of task.
type Task_Status int32

const (
	Task_STATUS_UNSPECIFIED Task_Status = 0
	Task_ENQUEUED           Task_Status = 1
	Task_ASSIGNED           Task_Status = 2
	Task_STARTED            Task_Status = 3
	Task_PAUSED             Task_Status = 4
	Task_COMPLETED          Task_Status = 5
)

// Enum value maps for Task_Status.
var (
	Task_Status_name = map[int32]string{
		0: "STATUS_UNSPECIFIED",
		1: "ENQUEUED",
		2: "ASSIGNED",
		3: "STARTED",
		4: "PAUSED",
		5: "COMPLETED",
	}
	Task_Status_value = map[string]int32{
		"STATUS_UNSPECIFIED": 0,
		"ENQUEUED":           1,
		"ASSIGNED":           2,
		"STARTED":            3,
		"PAUSED":             4,
		"COMPLETED":          5,
	}
)

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

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

func (Task_Status) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_backup_v1_resource_proto_enumTypes[4].Descriptor()
}

func (Task_Status) Type() protoreflect.EnumType {
	return &file_yandex_cloud_backup_v1_resource_proto_enumTypes[4]
}

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

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

// Result code of task
type Task_Code int32

const (
	Task_CODE_UNSPECIFIED Task_Code = 0
	Task_OK               Task_Code = 1
	Task_ERROR            Task_Code = 2
	Task_WARNING          Task_Code = 3
	Task_CANCELLED        Task_Code = 4
	Task_ABANDONED        Task_Code = 5
	Task_TIMEDOUT         Task_Code = 6
)

// Enum value maps for Task_Code.
var (
	Task_Code_name = map[int32]string{
		0: "CODE_UNSPECIFIED",
		1: "OK",
		2: "ERROR",
		3: "WARNING",
		4: "CANCELLED",
		5: "ABANDONED",
		6: "TIMEDOUT",
	}
	Task_Code_value = map[string]int32{
		"CODE_UNSPECIFIED": 0,
		"OK":               1,
		"ERROR":            2,
		"WARNING":          3,
		"CANCELLED":        4,
		"ABANDONED":        5,
		"TIMEDOUT":         6,
	}
)

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

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

func (Task_Code) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_backup_v1_resource_proto_enumTypes[5].Descriptor()
}

func (Task_Code) Type() protoreflect.EnumType {
	return &file_yandex_cloud_backup_v1_resource_proto_enumTypes[5]
}

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

// Deprecated: Use Task_Code.Descriptor instead.
func (Task_Code) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_backup_v1_resource_proto_rawDescGZIP(), []int{4, 2}
}

type TenantInfo struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Folder ID
	FolderId string `protobuf:"bytes,1,opt,name=folder_id,json=folderId,proto3" json:"folder_id,omitempty"`
	// Personal tenant id from backup provider
	PersonalTenantId string `protobuf:"bytes,2,opt,name=personal_tenant_id,json=personalTenantId,proto3" json:"personal_tenant_id,omitempty"`
	// User id from provider
	UserId        string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TenantInfo) Reset() {
	*x = TenantInfo{}
	mi := &file_yandex_cloud_backup_v1_resource_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TenantInfo) ProtoMessage() {}

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

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

func (x *TenantInfo) GetFolderId() string {
	if x != nil {
		return x.FolderId
	}
	return ""
}

func (x *TenantInfo) GetPersonalTenantId() string {
	if x != nil {
		return x.PersonalTenantId
	}
	return ""
}

func (x *TenantInfo) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

type AgentInfo struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	CurrentVersion string                 `protobuf:"bytes,1,opt,name=current_version,json=currentVersion,proto3" json:"current_version,omitempty"`
	LatestVersion  string                 `protobuf:"bytes,2,opt,name=latest_version,json=latestVersion,proto3" json:"latest_version,omitempty"`
	CanUpdate      bool                   `protobuf:"varint,3,opt,name=can_update,json=canUpdate,proto3" json:"can_update,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *AgentInfo) Reset() {
	*x = AgentInfo{}
	mi := &file_yandex_cloud_backup_v1_resource_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AgentInfo) ProtoMessage() {}

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

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

func (x *AgentInfo) GetCurrentVersion() string {
	if x != nil {
		return x.CurrentVersion
	}
	return ""
}

func (x *AgentInfo) GetLatestVersion() string {
	if x != nil {
		return x.LatestVersion
	}
	return ""
}

func (x *AgentInfo) GetCanUpdate() bool {
	if x != nil {
		return x.CanUpdate
	}
	return false
}

type Resource struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Compute Cloud instance ID.
	ComputeInstanceId string                 `protobuf:"bytes,1,opt,name=compute_instance_id,json=computeInstanceId,proto3" json:"compute_instance_id,omitempty"`
	CreatedAt         *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt         *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// If this field is true, it means that instance is online.
	Online bool `protobuf:"varint,4,opt,name=online,proto3" json:"online,omitempty"`
	// If this field is true, it means that backup is enabled to instance.
	Enabled bool            `protobuf:"varint,5,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Status  Resource_Status `protobuf:"varint,6,opt,name=status,proto3,enum=yandex.cloud.backup.v1.Resource_Status" json:"status,omitempty"`
	// If status value is one of `OTHER` or `FAILED`,
	// detailed info might be stored here.
	StatusDetails string `protobuf:"bytes,7,opt,name=status_details,json=statusDetails,proto3" json:"status_details,omitempty"`
	// In case status is one of `BACKUPING` or `RECOVERING`,
	// progress value might be found here.
	StatusProgress int64                  `protobuf:"varint,8,opt,name=status_progress,json=statusProgress,proto3" json:"status_progress,omitempty"`
	LastBackupTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=last_backup_time,json=lastBackupTime,proto3" json:"last_backup_time,omitempty"`
	NextBackupTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=next_backup_time,json=nextBackupTime,proto3" json:"next_backup_time,omitempty"`
	// Resource ID is used to identify Compute Cloud instance in backup service.
	ResourceId string `protobuf:"bytes,11,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
	// Status `is_active` shows whether current Compute Cloud instance controls Cloud Backup resource.
	// If status `is_active` is false it means Compute Cloud instance is not able to manipulate
	// Cloud Backup resource.
	IsActive bool `protobuf:"varint,12,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
	// Status of resource initialization in cloud backup service.
	InitStatus Resource_InitStatus `protobuf:"varint,13,opt,name=init_status,json=initStatus,proto3,enum=yandex.cloud.backup.v1.Resource_InitStatus" json:"init_status,omitempty"`
	// Metadata to provide details about instance registration process
	// if status is FAILED_REGISTRATION or REGISTERING
	Metadata string `protobuf:"bytes,14,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// Type of resource. Could be compute VM or baremetal server.
	Type ResourceType `protobuf:"varint,15,opt,name=type,proto3,enum=yandex.cloud.backup.v1.ResourceType" json:"type,omitempty"`
	// Additional info about tenant which resource belongs to
	TenantInfo *TenantInfo `protobuf:"bytes,16,opt,name=tenant_info,json=tenantInfo,proto3" json:"tenant_info,omitempty"`
	// Additional Info about agent version
	AgentInfo     *AgentInfo `protobuf:"bytes,18,opt,name=agent_info,json=agentInfo,proto3" json:"agent_info,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Resource) Reset() {
	*x = Resource{}
	mi := &file_yandex_cloud_backup_v1_resource_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Resource) ProtoMessage() {}

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

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

func (x *Resource) GetComputeInstanceId() string {
	if x != nil {
		return x.ComputeInstanceId
	}
	return ""
}

func (x *Resource) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *Resource) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

func (x *Resource) GetOnline() bool {
	if x != nil {
		return x.Online
	}
	return false
}

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

func (x *Resource) GetStatus() Resource_Status {
	if x != nil {
		return x.Status
	}
	return Resource_STATUS_UNSPECIFIED
}

func (x *Resource) GetStatusDetails() string {
	if x != nil {
		return x.StatusDetails
	}
	return ""
}

func (x *Resource) GetStatusProgress() int64 {
	if x != nil {
		return x.StatusProgress
	}
	return 0
}

func (x *Resource) GetLastBackupTime() *timestamppb.Timestamp {
	if x != nil {
		return x.LastBackupTime
	}
	return nil
}

func (x *Resource) GetNextBackupTime() *timestamppb.Timestamp {
	if x != nil {
		return x.NextBackupTime
	}
	return nil
}

func (x *Resource) GetResourceId() string {
	if x != nil {
		return x.ResourceId
	}
	return ""
}

func (x *Resource) GetIsActive() bool {
	if x != nil {
		return x.IsActive
	}
	return false
}

func (x *Resource) GetInitStatus() Resource_InitStatus {
	if x != nil {
		return x.InitStatus
	}
	return Resource_INIT_STATUS_UNSPECIFIED
}

func (x *Resource) GetMetadata() string {
	if x != nil {
		return x.Metadata
	}
	return ""
}

func (x *Resource) GetType() ResourceType {
	if x != nil {
		return x.Type
	}
	return ResourceType_RESOURCE_TYPE_UNSPECIFIED
}

func (x *Resource) GetTenantInfo() *TenantInfo {
	if x != nil {
		return x.TenantInfo
	}
	return nil
}

func (x *Resource) GetAgentInfo() *AgentInfo {
	if x != nil {
		return x.AgentInfo
	}
	return nil
}

type Progress struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Current       int64                  `protobuf:"varint,1,opt,name=current,proto3" json:"current,omitempty"`
	Total         int64                  `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Progress) Reset() {
	*x = Progress{}
	mi := &file_yandex_cloud_backup_v1_resource_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Progress) ProtoMessage() {}

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

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

func (x *Progress) GetCurrent() int64 {
	if x != nil {
		return x.Current
	}
	return 0
}

func (x *Progress) GetTotal() int64 {
	if x != nil {
		return x.Total
	}
	return 0
}

type Task struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Task ID.
	Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Shows whether the task is cancellable.
	// Note: task cancellation is not supported yet.
	Cancellable bool `protobuf:"varint,2,opt,name=cancellable,proto3" json:"cancellable,omitempty"`
	// Policy ID.
	PolicyId string `protobuf:"bytes,3,opt,name=policy_id,json=policyId,proto3" json:"policy_id,omitempty"`
	// Type of the task.
	Type Task_Type `protobuf:"varint,4,opt,name=type,proto3,enum=yandex.cloud.backup.v1.Task_Type" json:"type,omitempty"`
	// Task progress.
	Progress *Progress `protobuf:"bytes,5,opt,name=progress,proto3" json:"progress,omitempty"`
	// Task status.
	Status      Task_Status            `protobuf:"varint,6,opt,name=status,proto3,enum=yandex.cloud.backup.v1.Task_Status" json:"status,omitempty"`
	EnqueuedAt  *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=enqueued_at,json=enqueuedAt,proto3" json:"enqueued_at,omitempty"`
	StartedAt   *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
	UpdatedAt   *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	CompletedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"`
	// Compute Cloud instance ID.
	ComputeInstanceId string `protobuf:"bytes,11,opt,name=compute_instance_id,json=computeInstanceId,proto3" json:"compute_instance_id,omitempty"`
	// Task result code.
	ResultCode Task_Code `protobuf:"varint,12,opt,name=result_code,json=resultCode,proto3,enum=yandex.cloud.backup.v1.Task_Code" json:"result_code,omitempty"`
	// Task error message if task finished with not OK code
	Error         string `protobuf:"bytes,13,opt,name=error,proto3" json:"error,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Task) Reset() {
	*x = Task{}
	mi := &file_yandex_cloud_backup_v1_resource_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Task) ProtoMessage() {}

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

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

func (x *Task) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *Task) GetCancellable() bool {
	if x != nil {
		return x.Cancellable
	}
	return false
}

func (x *Task) GetPolicyId() string {
	if x != nil {
		return x.PolicyId
	}
	return ""
}

func (x *Task) GetType() Task_Type {
	if x != nil {
		return x.Type
	}
	return Task_TYPE_UNSPECIFIED
}

func (x *Task) GetProgress() *Progress {
	if x != nil {
		return x.Progress
	}
	return nil
}

func (x *Task) GetStatus() Task_Status {
	if x != nil {
		return x.Status
	}
	return Task_STATUS_UNSPECIFIED
}

func (x *Task) GetEnqueuedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.EnqueuedAt
	}
	return nil
}

func (x *Task) GetStartedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.StartedAt
	}
	return nil
}

func (x *Task) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

func (x *Task) GetCompletedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CompletedAt
	}
	return nil
}

func (x *Task) GetComputeInstanceId() string {
	if x != nil {
		return x.ComputeInstanceId
	}
	return ""
}

func (x *Task) GetResultCode() Task_Code {
	if x != nil {
		return x.ResultCode
	}
	return Task_CODE_UNSPECIFIED
}

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

var File_yandex_cloud_backup_v1_resource_proto protoreflect.FileDescriptor

const file_yandex_cloud_backup_v1_resource_proto_rawDesc = "" +
	"\n" +
	"%yandex/cloud/backup/v1/resource.proto\x12\x16yandex.cloud.backup.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"p\n" +
	"\n" +
	"TenantInfo\x12\x1b\n" +
	"\tfolder_id\x18\x01 \x01(\tR\bfolderId\x12,\n" +
	"\x12personal_tenant_id\x18\x02 \x01(\tR\x10personalTenantId\x12\x17\n" +
	"\auser_id\x18\x03 \x01(\tR\x06userId\"z\n" +
	"\tAgentInfo\x12'\n" +
	"\x0fcurrent_version\x18\x01 \x01(\tR\x0ecurrentVersion\x12%\n" +
	"\x0elatest_version\x18\x02 \x01(\tR\rlatestVersion\x12\x1d\n" +
	"\n" +
	"can_update\x18\x03 \x01(\bR\tcanUpdate\"\xc1\b\n" +
	"\bResource\x12.\n" +
	"\x13compute_instance_id\x18\x01 \x01(\tR\x11computeInstanceId\x129\n" +
	"\n" +
	"created_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
	"\n" +
	"updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x16\n" +
	"\x06online\x18\x04 \x01(\bR\x06online\x12\x18\n" +
	"\aenabled\x18\x05 \x01(\bR\aenabled\x12?\n" +
	"\x06status\x18\x06 \x01(\x0e2'.yandex.cloud.backup.v1.Resource.StatusR\x06status\x12%\n" +
	"\x0estatus_details\x18\a \x01(\tR\rstatusDetails\x12'\n" +
	"\x0fstatus_progress\x18\b \x01(\x03R\x0estatusProgress\x12D\n" +
	"\x10last_backup_time\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\x0elastBackupTime\x12D\n" +
	"\x10next_backup_time\x18\n" +
	" \x01(\v2\x1a.google.protobuf.TimestampR\x0enextBackupTime\x12\x1f\n" +
	"\vresource_id\x18\v \x01(\tR\n" +
	"resourceId\x12\x1b\n" +
	"\tis_active\x18\f \x01(\bR\bisActive\x12L\n" +
	"\vinit_status\x18\r \x01(\x0e2+.yandex.cloud.backup.v1.Resource.InitStatusR\n" +
	"initStatus\x12\x1a\n" +
	"\bmetadata\x18\x0e \x01(\tR\bmetadata\x128\n" +
	"\x04type\x18\x0f \x01(\x0e2$.yandex.cloud.backup.v1.ResourceTypeR\x04type\x12C\n" +
	"\vtenant_info\x18\x10 \x01(\v2\".yandex.cloud.backup.v1.TenantInfoR\n" +
	"tenantInfo\x12@\n" +
	"\n" +
	"agent_info\x18\x12 \x01(\v2!.yandex.cloud.backup.v1.AgentInfoR\tagentInfo\"`\n" +
	"\x06Status\x12\x16\n" +
	"\x12STATUS_UNSPECIFIED\x10\x00\x12\b\n" +
	"\x04IDLE\x10\x01\x12\r\n" +
	"\tBACKUPING\x10\x02\x12\x0e\n" +
	"\n" +
	"RECOVERING\x10\x03\x12\n" +
	"\n" +
	"\x06FAILED\x10\x04\x12\t\n" +
	"\x05OTHER\x10\x05\"o\n" +
	"\n" +
	"InitStatus\x12\x1b\n" +
	"\x17INIT_STATUS_UNSPECIFIED\x10\x00\x12\x0f\n" +
	"\vREGISTERING\x10\x01\x12\r\n" +
	"\tREGISTRED\x10\x02\x12\x17\n" +
	"\x13FAILED_REGISTRATION\x10\x03\x12\v\n" +
	"\aDELETED\x10\x04J\x04\b\x11\x10\x12\":\n" +
	"\bProgress\x12\x18\n" +
	"\acurrent\x18\x01 \x01(\x03R\acurrent\x12\x14\n" +
	"\x05total\x18\x02 \x01(\x03R\x05total\"\xbf\a\n" +
	"\x04Task\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x03R\x02id\x12 \n" +
	"\vcancellable\x18\x02 \x01(\bR\vcancellable\x12\x1b\n" +
	"\tpolicy_id\x18\x03 \x01(\tR\bpolicyId\x125\n" +
	"\x04type\x18\x04 \x01(\x0e2!.yandex.cloud.backup.v1.Task.TypeR\x04type\x12<\n" +
	"\bprogress\x18\x05 \x01(\v2 .yandex.cloud.backup.v1.ProgressR\bprogress\x12;\n" +
	"\x06status\x18\x06 \x01(\x0e2#.yandex.cloud.backup.v1.Task.StatusR\x06status\x12;\n" +
	"\venqueued_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"enqueuedAt\x129\n" +
	"\n" +
	"started_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x129\n" +
	"\n" +
	"updated_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12=\n" +
	"\fcompleted_at\x18\n" +
	" \x01(\v2\x1a.google.protobuf.TimestampR\vcompletedAt\x12.\n" +
	"\x13compute_instance_id\x18\v \x01(\tR\x11computeInstanceId\x12B\n" +
	"\vresult_code\x18\f \x01(\x0e2!.yandex.cloud.backup.v1.Task.CodeR\n" +
	"resultCode\x12\x14\n" +
	"\x05error\x18\r \x01(\tR\x05error\"j\n" +
	"\x04Type\x12\x14\n" +
	"\x10TYPE_UNSPECIFIED\x10\x00\x12\n" +
	"\n" +
	"\x06BACKUP\x10\x01\x12\r\n" +
	"\tRETENTION\x10\x02\x12\f\n" +
	"\bRECOVERY\x10\x03\x12\x10\n" +
	"\fAPPLY_POLICY\x10\x04\x12\x11\n" +
	"\rREVOKE_POLICY\x10\x05\"d\n" +
	"\x06Status\x12\x16\n" +
	"\x12STATUS_UNSPECIFIED\x10\x00\x12\f\n" +
	"\bENQUEUED\x10\x01\x12\f\n" +
	"\bASSIGNED\x10\x02\x12\v\n" +
	"\aSTARTED\x10\x03\x12\n" +
	"\n" +
	"\x06PAUSED\x10\x04\x12\r\n" +
	"\tCOMPLETED\x10\x05\"h\n" +
	"\x04Code\x12\x14\n" +
	"\x10CODE_UNSPECIFIED\x10\x00\x12\x06\n" +
	"\x02OK\x10\x01\x12\t\n" +
	"\x05ERROR\x10\x02\x12\v\n" +
	"\aWARNING\x10\x03\x12\r\n" +
	"\tCANCELLED\x10\x04\x12\r\n" +
	"\tABANDONED\x10\x05\x12\f\n" +
	"\bTIMEDOUT\x10\x06*i\n" +
	"\fResourceType\x12\x1d\n" +
	"\x19RESOURCE_TYPE_UNSPECIFIED\x10\x00\x12\v\n" +
	"\aCOMPUTE\x10\x01\x12\a\n" +
	"\x03BMS\x10\x02\x12\x0f\n" +
	"\vEXTERNAL_VM\x10\x03\x12\x13\n" +
	"\x0fEXTERNAL_SERVER\x10\x04B_\n" +
	"\x1ayandex.cloud.api.backup.v1ZAgithub.com/yandex-cloud/go-genproto/yandex/cloud/backup/v1;backupb\x06proto3"

var (
	file_yandex_cloud_backup_v1_resource_proto_rawDescOnce sync.Once
	file_yandex_cloud_backup_v1_resource_proto_rawDescData []byte
)

func file_yandex_cloud_backup_v1_resource_proto_rawDescGZIP() []byte {
	file_yandex_cloud_backup_v1_resource_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_backup_v1_resource_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_yandex_cloud_backup_v1_resource_proto_rawDesc), len(file_yandex_cloud_backup_v1_resource_proto_rawDesc)))
	})
	return file_yandex_cloud_backup_v1_resource_proto_rawDescData
}

var file_yandex_cloud_backup_v1_resource_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
var file_yandex_cloud_backup_v1_resource_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
var file_yandex_cloud_backup_v1_resource_proto_goTypes = []any{
	(ResourceType)(0),             // 0: yandex.cloud.backup.v1.ResourceType
	(Resource_Status)(0),          // 1: yandex.cloud.backup.v1.Resource.Status
	(Resource_InitStatus)(0),      // 2: yandex.cloud.backup.v1.Resource.InitStatus
	(Task_Type)(0),                // 3: yandex.cloud.backup.v1.Task.Type
	(Task_Status)(0),              // 4: yandex.cloud.backup.v1.Task.Status
	(Task_Code)(0),                // 5: yandex.cloud.backup.v1.Task.Code
	(*TenantInfo)(nil),            // 6: yandex.cloud.backup.v1.TenantInfo
	(*AgentInfo)(nil),             // 7: yandex.cloud.backup.v1.AgentInfo
	(*Resource)(nil),              // 8: yandex.cloud.backup.v1.Resource
	(*Progress)(nil),              // 9: yandex.cloud.backup.v1.Progress
	(*Task)(nil),                  // 10: yandex.cloud.backup.v1.Task
	(*timestamppb.Timestamp)(nil), // 11: google.protobuf.Timestamp
}
var file_yandex_cloud_backup_v1_resource_proto_depIdxs = []int32{
	11, // 0: yandex.cloud.backup.v1.Resource.created_at:type_name -> google.protobuf.Timestamp
	11, // 1: yandex.cloud.backup.v1.Resource.updated_at:type_name -> google.protobuf.Timestamp
	1,  // 2: yandex.cloud.backup.v1.Resource.status:type_name -> yandex.cloud.backup.v1.Resource.Status
	11, // 3: yandex.cloud.backup.v1.Resource.last_backup_time:type_name -> google.protobuf.Timestamp
	11, // 4: yandex.cloud.backup.v1.Resource.next_backup_time:type_name -> google.protobuf.Timestamp
	2,  // 5: yandex.cloud.backup.v1.Resource.init_status:type_name -> yandex.cloud.backup.v1.Resource.InitStatus
	0,  // 6: yandex.cloud.backup.v1.Resource.type:type_name -> yandex.cloud.backup.v1.ResourceType
	6,  // 7: yandex.cloud.backup.v1.Resource.tenant_info:type_name -> yandex.cloud.backup.v1.TenantInfo
	7,  // 8: yandex.cloud.backup.v1.Resource.agent_info:type_name -> yandex.cloud.backup.v1.AgentInfo
	3,  // 9: yandex.cloud.backup.v1.Task.type:type_name -> yandex.cloud.backup.v1.Task.Type
	9,  // 10: yandex.cloud.backup.v1.Task.progress:type_name -> yandex.cloud.backup.v1.Progress
	4,  // 11: yandex.cloud.backup.v1.Task.status:type_name -> yandex.cloud.backup.v1.Task.Status
	11, // 12: yandex.cloud.backup.v1.Task.enqueued_at:type_name -> google.protobuf.Timestamp
	11, // 13: yandex.cloud.backup.v1.Task.started_at:type_name -> google.protobuf.Timestamp
	11, // 14: yandex.cloud.backup.v1.Task.updated_at:type_name -> google.protobuf.Timestamp
	11, // 15: yandex.cloud.backup.v1.Task.completed_at:type_name -> google.protobuf.Timestamp
	5,  // 16: yandex.cloud.backup.v1.Task.result_code:type_name -> yandex.cloud.backup.v1.Task.Code
	17, // [17:17] is the sub-list for method output_type
	17, // [17:17] is the sub-list for method input_type
	17, // [17:17] is the sub-list for extension type_name
	17, // [17:17] is the sub-list for extension extendee
	0,  // [0:17] is the sub-list for field type_name
}

func init() { file_yandex_cloud_backup_v1_resource_proto_init() }
func file_yandex_cloud_backup_v1_resource_proto_init() {
	if File_yandex_cloud_backup_v1_resource_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_yandex_cloud_backup_v1_resource_proto_rawDesc), len(file_yandex_cloud_backup_v1_resource_proto_rawDesc)),
			NumEnums:      6,
			NumMessages:   5,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_yandex_cloud_backup_v1_resource_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_backup_v1_resource_proto_depIdxs,
		EnumInfos:         file_yandex_cloud_backup_v1_resource_proto_enumTypes,
		MessageInfos:      file_yandex_cloud_backup_v1_resource_proto_msgTypes,
	}.Build()
	File_yandex_cloud_backup_v1_resource_proto = out.File
	file_yandex_cloud_backup_v1_resource_proto_goTypes = nil
	file_yandex_cloud_backup_v1_resource_proto_depIdxs = nil
}
