import _m0 from 'protobufjs/minimal'; export declare const protobufPackage = "yandex.cloud.backup.v1"; export declare enum ResourceType { RESOURCE_TYPE_UNSPECIFIED = 0, /** COMPUTE - Resource is Compute Cloud VM */ COMPUTE = 1, /** BMS - Resource is baremetal server */ BMS = 2, UNRECOGNIZED = -1 } export declare function resourceTypeFromJSON(object: any): ResourceType; export declare function resourceTypeToJSON(object: ResourceType): string; export interface TenantInfo { /** Folder ID */ folderId: string; /** Personal tenant id from backup provider */ personalTenantId: string; /** User id from provider */ userId: string; } export interface AgentInfo { currentVersion: string; latestVersion: string; canUpdate: boolean; } export interface Resource { /** Compute Cloud instance ID. */ computeInstanceId: string; createdAt?: Date; updatedAt?: Date; /** If this field is true, it means that instance is online. */ online: boolean; /** If this field is true, it means that backup is enabled to instance. */ enabled: boolean; status: Resource_Status; /** * If status value is one of `OTHER` or `FAILED`, * detailed info might be stored here. */ statusDetails: string; /** * In case status is one of `BACKUPING` or `RECOVERING`, * progress value might be found here. */ statusProgress: number; lastBackupTime?: Date; nextBackupTime?: Date; /** Resource ID is used to identify Compute Cloud instance in backup service. */ resourceId: string; /** * 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: boolean; /** Status of resource initialization in cloud backup service. */ initStatus: Resource_InitStatus; /** * Metadata to provide details about instance registration process * if status is FAILED_REGISTRATION or REGISTERING */ metadata: string; /** Type of resource. Could be compute VM or baremetal server. */ type: ResourceType; /** Additional info about tenant which resource belongs to */ tenantInfo?: TenantInfo; /** Additional Info about agent version */ agentInfo?: AgentInfo; } export declare enum Resource_Status { STATUS_UNSPECIFIED = 0, /** IDLE - Compute Cloud instance is doing nothing right now. */ IDLE = 1, /** BACKUPING - Compute Cloud instance is currently backing up itself. */ BACKUPING = 2, /** RECOVERING - Compute Cloud instance is currently recovering itself. */ RECOVERING = 3, /** * FAILED - Compute Cloud instance is in failure state, check content of * `status_details` field for more information. */ FAILED = 4, /** * OTHER - Unspecified state, check `status_details` field * for more information. */ OTHER = 5, UNRECOGNIZED = -1 } export declare function resource_StatusFromJSON(object: any): Resource_Status; export declare function resource_StatusToJSON(object: Resource_Status): string; export declare enum Resource_InitStatus { INIT_STATUS_UNSPECIFIED = 0, /** REGISTERING - Registration of instance in cloud backups have started. */ REGISTERING = 1, /** REGISTRED - Instance is registered in cloud backups. */ REGISTRED = 2, /** FAILED_REGISTRATION - Instance registration failed. */ FAILED_REGISTRATION = 3, /** DELETED - Instance is deleted from cloud backup service. */ DELETED = 4, UNRECOGNIZED = -1 } export declare function resource_InitStatusFromJSON(object: any): Resource_InitStatus; export declare function resource_InitStatusToJSON(object: Resource_InitStatus): string; export interface Progress { current: number; total: number; } export interface Task { /** Task ID. */ id: number; /** * Shows whether the task is cancellable. * Note: task cancellation is not supported yet. */ cancellable: boolean; /** Policy ID. */ policyId: string; /** Type of the task. */ type: Task_Type; /** Task progress. */ progress?: Progress; /** Task status. */ status: Task_Status; enqueuedAt?: Date; startedAt?: Date; updatedAt?: Date; completedAt?: Date; /** Compute Cloud instance ID. */ computeInstanceId: string; /** Task result code. */ resultCode: Task_Code; /** Task error message if task finished with not OK code */ error: string; } export declare enum Task_Type { TYPE_UNSPECIFIED = 0, BACKUP = 1, RETENTION = 2, RECOVERY = 3, APPLY_POLICY = 4, REVOKE_POLICY = 5, UNRECOGNIZED = -1 } export declare function task_TypeFromJSON(object: any): Task_Type; export declare function task_TypeToJSON(object: Task_Type): string; /** Status of task. */ export declare enum Task_Status { STATUS_UNSPECIFIED = 0, ENQUEUED = 1, ASSIGNED = 2, STARTED = 3, PAUSED = 4, COMPLETED = 5, UNRECOGNIZED = -1 } export declare function task_StatusFromJSON(object: any): Task_Status; export declare function task_StatusToJSON(object: Task_Status): string; /** Result code of task */ export declare enum Task_Code { CODE_UNSPECIFIED = 0, OK = 1, ERROR = 2, WARNING = 3, CANCELLED = 4, ABANDONED = 5, TIMEDOUT = 6, UNRECOGNIZED = -1 } export declare function task_CodeFromJSON(object: any): Task_Code; export declare function task_CodeToJSON(object: Task_Code): string; export declare const TenantInfo: { encode(message: TenantInfo, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): TenantInfo; fromJSON(object: any): TenantInfo; toJSON(message: TenantInfo): unknown; fromPartial, never>>(object: I): TenantInfo; }; export declare const AgentInfo: { encode(message: AgentInfo, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): AgentInfo; fromJSON(object: any): AgentInfo; toJSON(message: AgentInfo): unknown; fromPartial, never>>(object: I): AgentInfo; }; export declare const Resource: { encode(message: Resource, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Resource; fromJSON(object: any): Resource; toJSON(message: Resource): unknown; fromPartial, never>) | undefined; agentInfo?: ({ currentVersion?: string | undefined; latestVersion?: string | undefined; canUpdate?: boolean | undefined; } & { currentVersion?: string | undefined; latestVersion?: string | undefined; canUpdate?: boolean | undefined; } & Record, never>) | undefined; } & Record, never>>(object: I): Resource; }; export declare const Progress: { encode(message: Progress, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Progress; fromJSON(object: any): Progress; toJSON(message: Progress): unknown; fromPartial, never>>(object: I): Progress; }; export declare const Task: { encode(message: Task, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Task; fromJSON(object: any): Task; toJSON(message: Task): unknown; fromPartial, never>) | undefined; status?: Task_Status | undefined; enqueuedAt?: Date | undefined; startedAt?: Date | undefined; updatedAt?: Date | undefined; completedAt?: Date | undefined; computeInstanceId?: string | undefined; resultCode?: Task_Code | undefined; error?: string | undefined; } & Record, never>>(object: I): Task; }; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & Record>, never>; export {};