UNPKG

skysync-cli

Version:

SkySync Command Line Interface

150 lines (149 loc) 4.14 kB
import { IEntityIdentifier, IAuditedEntity } from './base'; import { TimeOfDay, TimeInterval } from './time'; import { JobScheduler } from './scheduler'; import { JobCategory } from './jobCategories'; export declare enum JobScheduleMode { Automatic = "auto", Manual = "manual" } export declare enum JobStatus { AwaitingUser = "awaiting-user", Cancelled = "cancel", Complete = "complete", Deleted = "deleted", Failed = "failed", Idle = "idle", NotComplete = "not-complete", Paused = "paused", Resumed = "resume", Running = "running", Started = "start", Success = "success", Warn = "warn", FailedToStart = "failed-to-start" } export declare enum JobHealth { Unavailable = "unavailable", Healthy = "healthy", Unhealthy = "unhealthy", Inactive = "inactive" } export declare enum JobExecutionStatus { Running = "running", Failing = "failing", Failed = "failed", Completed = "completed", Cancelled = "cancelled", FailedToStart = "failed_to_start", Warning = "warn", NoChangesPerformed = "no_changes" } export declare enum JobResetType { InspectFiltered = "inspect_filtered", InspectShared = "inspect_shared", InspectAll = "inspect_all", Stats = "stats", Permissions = "permissions", Soft = "soft", Hard = "hard", Full = "full" } export declare enum ItemInspectionPolicy { None = "none", Filtered = "filtered", Shared = "shared", All = "all" } export interface RetentionDuration { type?: string; count?: number; } export interface RetentionOptions { duration?: RetentionDuration; purge_empty?: boolean; } export interface JobStopPolicy { policy?: 'never' | 'on_success' | 'on_failure'; on_success?: number; on_failure?: number; completions?: number; failures?: number; executions?: number; } export interface JobSchedule { mode?: JobScheduleMode; start_date?: number; end_date?: number; start_window?: TimeOfDay; end_window?: TimeOfDay; repeat_count?: number; repeat_interval?: TimeInterval; days?: string[]; run_at?: TimeOfDay; max_execution?: TimeInterval; } export interface Job extends IEntityIdentifier<string>, IAuditedEntity { parent_id?: string; kind?: string; name?: string; description?: string; category?: JobCategory; scheduler?: JobScheduler; schedule?: JobSchedule; stop_policy?: JobStopPolicy; priority?: number; status?: JobStatus; health?: JobHealth; execute_on?: number; previous_execution: JobExecution; execution: JobExecution; retention?: RetentionOptions; disabled?: boolean; } export interface JobExecutionFileStatistics { bytes?: number; versions?: number; files?: number; [name: string]: number; } export interface JobExecutionStatistics { existing?: JobExecutionFileStatistics; 'new'?: JobExecutionFileStatistics; pending?: JobExecutionFileStatistics; folders?: number; flagged?: number; revisions?: number; ignored?: number; rate_limits?: number; [name: string]: any; } export interface JobFailureStatistics { warnings?: number; failures?: number; [name: string]: number; } export interface JobExecutionStatisticsSet { destination?: JobExecutionStatistics; source?: JobExecutionStatistics; errors?: JobFailureStatistics; [name: string]: any; } export declare enum JobExecutionPhase { Pending = "pending", Initializing = "initialize", DeterminingChanges = "changes", Executing = "executing", Finalizing = "finalize", Complete = "complete" } export interface JobExecution extends IEntityIdentifier<number> { job_id?: string; progress?: number; phase?: JobExecutionPhase; start_time?: number; end_time?: number; duration?: TimeInterval; status?: JobExecutionStatus; node_address?: string; stats?: JobExecutionStatisticsSet; }