mirror of
https://github.com/kopia/kopia.git
synced 2025-12-23 22:57:50 -05:00
fix(ui): revert omitzero changes (#5035)
- Revert "chore(ci): enable modernize:omitzero linter setting (#4981)" reverts06845c750b- Revert "refactor(general): omitzero JSON tag in policy structs (#4910)" reverts033b4b1d5e- Revert "refactor(general): `omitzero` JSON tag (#4907)" reverts5bc467e2ca- Ref: #5006
This commit is contained in:
@@ -80,6 +80,9 @@ linters:
|
||||
- (*go.uber.org/zap.SugaredLogger).With
|
||||
misspell:
|
||||
locale: US
|
||||
modernize:
|
||||
disable:
|
||||
- omitzero
|
||||
wsl_v5:
|
||||
allow-whole-block: true
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ type Options struct {
|
||||
RCloneExe string `json:"rcloneExe,omitempty"` // path to rclone executable
|
||||
RCloneArgs []string `json:"rcloneArgs,omitempty"` // additional rclone arguments
|
||||
RCloneEnv []string `json:"rcloneEnv,omitempty"` // additional rclone environment variables
|
||||
StartupTimeout jsonencoding.Duration `json:"startupTimeout,omitzero"` // time to wait for rclone to start
|
||||
StartupTimeout jsonencoding.Duration `json:"startupTimeout,omitempty"` // time to wait for rclone to start
|
||||
Debug bool `json:"debug,omitempty"` // log rclone output
|
||||
NoWaitForTransfers bool `json:"noWaitForTransfers,omitempty"` // when set to true, don't wait for transfers to finish when closing
|
||||
EmbeddedConfig string `json:"embeddedConfig,omitempty"`
|
||||
|
||||
@@ -63,10 +63,10 @@ func (f *ContentFormat) SupportsPasswordChange() bool {
|
||||
// MutableParameters represents parameters of the content manager that can be mutated after the repository
|
||||
// is created.
|
||||
type MutableParameters struct {
|
||||
Version Version `json:"version,omitempty"` // version number, must be "1", "2" or "3"
|
||||
MaxPackSize int `json:"maxPackSize,omitempty"` // maximum size of a pack object
|
||||
IndexVersion int `json:"indexVersion,omitempty"` // force particular index format version (1,2,..)
|
||||
EpochParameters epoch.Parameters `json:"epochParameters,omitzero"` // epoch manager parameters
|
||||
Version Version `json:"version,omitempty"` // version number, must be "1", "2" or "3"
|
||||
MaxPackSize int `json:"maxPackSize,omitempty"` // maximum size of a pack object
|
||||
IndexVersion int `json:"indexVersion,omitempty"` // force particular index format version (1,2,..)
|
||||
EpochParameters epoch.Parameters `json:"epochParameters,omitempty"` // epoch manager parameters
|
||||
}
|
||||
|
||||
// Validate validates the parameters.
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
// repository.
|
||||
type UpgradeLockIntent struct {
|
||||
OwnerID string `json:"ownerID,omitempty"`
|
||||
CreationTime time.Time `json:"creationTime"`
|
||||
AdvanceNoticeDuration time.Duration `json:"advanceNoticeDuration"`
|
||||
IODrainTimeout time.Duration `json:"ioDrainTimeout"`
|
||||
StatusPollInterval time.Duration `json:"statusPollInterval"`
|
||||
CreationTime time.Time `json:"creationTime,omitempty"`
|
||||
AdvanceNoticeDuration time.Duration `json:"advanceNoticeDuration,omitempty"`
|
||||
IODrainTimeout time.Duration `json:"ioDrainTimeout,omitempty"`
|
||||
StatusPollInterval time.Duration `json:"statusPollInterval,omitempty"`
|
||||
Message string `json:"message,omitempty"`
|
||||
MaxPermittedClockDrift time.Duration `json:"maxPermittedClockDrift,omitempty"`
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
type IndirectObjectEntry struct {
|
||||
Start int64 `json:"s,omitempty"`
|
||||
Length int64 `json:"l,omitempty"`
|
||||
Object ID `json:"o"`
|
||||
Object ID `json:"o,omitempty"`
|
||||
}
|
||||
|
||||
func (i *IndirectObjectEntry) endOffset() int64 {
|
||||
|
||||
@@ -126,7 +126,7 @@ type DirEntry struct {
|
||||
ModTime fs.UTCTimestamp `json:"mtime,omitempty"`
|
||||
UserID uint32 `json:"uid,omitempty"`
|
||||
GroupID uint32 `json:"gid,omitempty"`
|
||||
ObjectID object.ID `json:"obj"`
|
||||
ObjectID object.ID `json:"obj,omitempty"`
|
||||
DirSummary *fs.DirectorySummary `json:"summ,omitempty"`
|
||||
}
|
||||
|
||||
@@ -187,8 +187,8 @@ func (m *Manifest) Clone() *Manifest {
|
||||
type StorageStats struct {
|
||||
// amount of new unique data in this snapshot that wasn't there before.
|
||||
// note that this depends on ordering of snapshots.
|
||||
NewData StorageUsageDetails `json:"newData"`
|
||||
RunningTotal StorageUsageDetails `json:"runningTotal"`
|
||||
NewData StorageUsageDetails `json:"newData,omitempty"`
|
||||
RunningTotal StorageUsageDetails `json:"runningTotal,omitempty"`
|
||||
}
|
||||
|
||||
// StorageUsageDetails provides details about snapshot storage usage.
|
||||
|
||||
@@ -5,18 +5,18 @@
|
||||
// ActionsPolicy describes actions to be invoked when taking snapshots.
|
||||
type ActionsPolicy struct {
|
||||
// command runs once before and after the folder it's attached to (not inherited).
|
||||
BeforeFolder *ActionCommand `json:"beforeFolder,omitzero"`
|
||||
AfterFolder *ActionCommand `json:"afterFolder,omitzero"`
|
||||
BeforeFolder *ActionCommand `json:"beforeFolder,omitempty"`
|
||||
AfterFolder *ActionCommand `json:"afterFolder,omitempty"`
|
||||
|
||||
// commands run once before and after each snapshot root (can be inherited).
|
||||
BeforeSnapshotRoot *ActionCommand `json:"beforeSnapshotRoot,omitzero"`
|
||||
AfterSnapshotRoot *ActionCommand `json:"afterSnapshotRoot,omitzero"`
|
||||
BeforeSnapshotRoot *ActionCommand `json:"beforeSnapshotRoot,omitempty"`
|
||||
AfterSnapshotRoot *ActionCommand `json:"afterSnapshotRoot,omitempty"`
|
||||
}
|
||||
|
||||
// ActionsPolicyDefinition specifies which policy definition provided the value of a particular field.
|
||||
type ActionsPolicyDefinition struct {
|
||||
BeforeSnapshotRoot snapshot.SourceInfo `json:"beforeSnapshotRoot,omitzero"`
|
||||
AfterSnapshotRoot snapshot.SourceInfo `json:"afterSnapshotRoot,omitzero"`
|
||||
BeforeSnapshotRoot snapshot.SourceInfo `json:"beforeSnapshotRoot,omitempty"`
|
||||
AfterSnapshotRoot snapshot.SourceInfo `json:"afterSnapshotRoot,omitempty"`
|
||||
}
|
||||
|
||||
// ActionCommand configures a action command.
|
||||
|
||||
@@ -11,32 +11,32 @@
|
||||
|
||||
// CompressionPolicy specifies compression policy.
|
||||
type CompressionPolicy struct {
|
||||
CompressorName compression.Name `json:"compressorName,omitzero"`
|
||||
CompressorName compression.Name `json:"compressorName,omitempty"`
|
||||
OnlyCompress []string `json:"onlyCompress,omitempty"`
|
||||
NoParentOnlyCompress bool `json:"noParentOnlyCompress,omitzero"`
|
||||
NoParentOnlyCompress bool `json:"noParentOnlyCompress,omitempty"`
|
||||
NeverCompress []string `json:"neverCompress,omitempty"`
|
||||
NoParentNeverCompress bool `json:"noParentNeverCompress,omitzero"`
|
||||
MinSize int64 `json:"minSize,omitzero"`
|
||||
MaxSize int64 `json:"maxSize,omitzero"`
|
||||
NoParentNeverCompress bool `json:"noParentNeverCompress,omitempty"`
|
||||
MinSize int64 `json:"minSize,omitempty"`
|
||||
MaxSize int64 `json:"maxSize,omitempty"`
|
||||
}
|
||||
|
||||
// MetadataCompressionPolicy specifies compression policy for metadata.
|
||||
type MetadataCompressionPolicy struct {
|
||||
CompressorName compression.Name `json:"compressorName,omitzero"`
|
||||
CompressorName compression.Name `json:"compressorName,omitempty"`
|
||||
}
|
||||
|
||||
// CompressionPolicyDefinition specifies which policy definition provided the value of a particular field.
|
||||
type CompressionPolicyDefinition struct {
|
||||
CompressorName snapshot.SourceInfo `json:"compressorName,omitzero"`
|
||||
OnlyCompress snapshot.SourceInfo `json:"onlyCompress,omitempty"` //nolint:modernize
|
||||
NeverCompress snapshot.SourceInfo `json:"neverCompress,omitempty"` //nolint:modernize
|
||||
MinSize snapshot.SourceInfo `json:"minSize,omitzero"`
|
||||
MaxSize snapshot.SourceInfo `json:"maxSize,omitzero"`
|
||||
CompressorName snapshot.SourceInfo `json:"compressorName,omitempty"`
|
||||
OnlyCompress snapshot.SourceInfo `json:"onlyCompress,omitempty"`
|
||||
NeverCompress snapshot.SourceInfo `json:"neverCompress,omitempty"`
|
||||
MinSize snapshot.SourceInfo `json:"minSize,omitempty"`
|
||||
MaxSize snapshot.SourceInfo `json:"maxSize,omitempty"`
|
||||
}
|
||||
|
||||
// MetadataCompressionPolicyDefinition specifies which policy definition provided the value of a particular field.
|
||||
type MetadataCompressionPolicyDefinition struct {
|
||||
CompressorName snapshot.SourceInfo `json:"compressorName,omitzero"`
|
||||
CompressorName snapshot.SourceInfo `json:"compressorName,omitempty"`
|
||||
}
|
||||
|
||||
// CompressorForFile returns compression name to be used for compressing a given file according to policy, using attributes such as name or size.
|
||||
|
||||
@@ -5,20 +5,20 @@
|
||||
// ErrorHandlingPolicy controls error handling behavior when taking snapshots.
|
||||
type ErrorHandlingPolicy struct {
|
||||
// IgnoreFileErrors controls whether or not snapshot operation should fail when a file throws an error on being read
|
||||
IgnoreFileErrors *OptionalBool `json:"ignoreFileErrors,omitzero"`
|
||||
IgnoreFileErrors *OptionalBool `json:"ignoreFileErrors,omitempty"`
|
||||
|
||||
// IgnoreDirectoryErrors controls whether or not snapshot operation should fail when a directory throws an error on being read or opened
|
||||
IgnoreDirectoryErrors *OptionalBool `json:"ignoreDirectoryErrors,omitzero"`
|
||||
IgnoreDirectoryErrors *OptionalBool `json:"ignoreDirectoryErrors,omitempty"`
|
||||
|
||||
// IgnoreUnknownTypes controls whether or not snapshot operation should fail when it encounters a directory entry of an unknown type.
|
||||
IgnoreUnknownTypes *OptionalBool `json:"ignoreUnknownTypes,omitzero"`
|
||||
IgnoreUnknownTypes *OptionalBool `json:"ignoreUnknownTypes,omitempty"`
|
||||
}
|
||||
|
||||
// ErrorHandlingPolicyDefinition specifies which policy definition provided the value of a particular field.
|
||||
type ErrorHandlingPolicyDefinition struct {
|
||||
IgnoreFileErrors snapshot.SourceInfo `json:"ignoreFileErrors,omitzero"`
|
||||
IgnoreDirectoryErrors snapshot.SourceInfo `json:"ignoreDirectoryErrors,omitzero"`
|
||||
IgnoreUnknownTypes snapshot.SourceInfo `json:"ignoreUnknownTypes,omitzero"`
|
||||
IgnoreFileErrors snapshot.SourceInfo `json:"ignoreFileErrors,omitempty"`
|
||||
IgnoreDirectoryErrors snapshot.SourceInfo `json:"ignoreDirectoryErrors,omitempty"`
|
||||
IgnoreUnknownTypes snapshot.SourceInfo `json:"ignoreUnknownTypes,omitempty"`
|
||||
}
|
||||
|
||||
// Merge applies default values from the provided policy.
|
||||
|
||||
@@ -5,23 +5,23 @@
|
||||
// FilesPolicy describes files to be ignored when taking snapshots.
|
||||
type FilesPolicy struct {
|
||||
IgnoreRules []string `json:"ignore,omitempty"`
|
||||
NoParentIgnoreRules bool `json:"noParentIgnore,omitzero"`
|
||||
NoParentIgnoreRules bool `json:"noParentIgnore,omitempty"`
|
||||
DotIgnoreFiles []string `json:"ignoreDotFiles,omitempty"`
|
||||
NoParentDotIgnoreFiles bool `json:"noParentDotFiles,omitzero"`
|
||||
IgnoreCacheDirectories *OptionalBool `json:"ignoreCacheDirs,omitzero"`
|
||||
MaxFileSize int64 `json:"maxFileSize,omitzero"`
|
||||
OneFileSystem *OptionalBool `json:"oneFileSystem,omitzero"`
|
||||
NoParentDotIgnoreFiles bool `json:"noParentDotFiles,omitempty"`
|
||||
IgnoreCacheDirectories *OptionalBool `json:"ignoreCacheDirs,omitempty"`
|
||||
MaxFileSize int64 `json:"maxFileSize,omitempty"`
|
||||
OneFileSystem *OptionalBool `json:"oneFileSystem,omitempty"`
|
||||
}
|
||||
|
||||
// FilesPolicyDefinition specifies which policy definition provided the value of a particular field.
|
||||
type FilesPolicyDefinition struct {
|
||||
IgnoreRules snapshot.SourceInfo `json:"ignore,omitempty"` //nolint:modernize
|
||||
NoParentIgnoreRules snapshot.SourceInfo `json:"noParentIgnore,omitzero"`
|
||||
DotIgnoreFiles snapshot.SourceInfo `json:"ignoreDotFiles,omitempty"` //nolint:modernize
|
||||
NoParentDotIgnoreFiles snapshot.SourceInfo `json:"noParentDotFiles,omitzero"`
|
||||
IgnoreCacheDirectories snapshot.SourceInfo `json:"ignoreCacheDirs,omitzero"`
|
||||
MaxFileSize snapshot.SourceInfo `json:"maxFileSize,omitzero"`
|
||||
OneFileSystem snapshot.SourceInfo `json:"oneFileSystem,omitzero"`
|
||||
IgnoreRules snapshot.SourceInfo `json:"ignore,omitempty"`
|
||||
NoParentIgnoreRules snapshot.SourceInfo `json:"noParentIgnore,omitempty"`
|
||||
DotIgnoreFiles snapshot.SourceInfo `json:"ignoreDotFiles,omitempty"`
|
||||
NoParentDotIgnoreFiles snapshot.SourceInfo `json:"noParentDotFiles,omitempty"`
|
||||
IgnoreCacheDirectories snapshot.SourceInfo `json:"ignoreCacheDirs,omitempty"`
|
||||
MaxFileSize snapshot.SourceInfo `json:"maxFileSize,omitempty"`
|
||||
OneFileSystem snapshot.SourceInfo `json:"oneFileSystem,omitempty"`
|
||||
}
|
||||
|
||||
// Merge applies default values from the provided policy.
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
|
||||
// DirLoggingPolicy represents the policy for logging directory information when snapshotting.
|
||||
type DirLoggingPolicy struct {
|
||||
Snapshotted *LogDetail `json:"snapshotted,omitzero"`
|
||||
Ignored *LogDetail `json:"ignored,omitzero"`
|
||||
Snapshotted *LogDetail `json:"snapshotted,omitempty"`
|
||||
Ignored *LogDetail `json:"ignored,omitempty"`
|
||||
}
|
||||
|
||||
// DirLoggingPolicyDefinition specifies which policy definition provided the value of a particular field.
|
||||
type DirLoggingPolicyDefinition struct {
|
||||
Snapshotted snapshot.SourceInfo `json:"snapshotted,omitzero"`
|
||||
Ignored snapshot.SourceInfo `json:"ignored,omitzero"`
|
||||
Snapshotted snapshot.SourceInfo `json:"snapshotted,omitempty"`
|
||||
Ignored snapshot.SourceInfo `json:"ignored,omitempty"`
|
||||
}
|
||||
|
||||
// Merge merges the provided directory logging policy.
|
||||
@@ -22,18 +22,18 @@ func (p *DirLoggingPolicy) Merge(src DirLoggingPolicy, def *DirLoggingPolicyDefi
|
||||
|
||||
// EntryLoggingPolicy represents the policy for logging entry information when snapshotting.
|
||||
type EntryLoggingPolicy struct {
|
||||
Snapshotted *LogDetail `json:"snapshotted,omitzero"`
|
||||
Ignored *LogDetail `json:"ignored,omitzero"`
|
||||
CacheHit *LogDetail `json:"cacheHit,omitzero"`
|
||||
CacheMiss *LogDetail `json:"cacheMiss,omitzero"`
|
||||
Snapshotted *LogDetail `json:"snapshotted,omitempty"`
|
||||
Ignored *LogDetail `json:"ignored,omitempty"`
|
||||
CacheHit *LogDetail `json:"cacheHit,omitempty"`
|
||||
CacheMiss *LogDetail `json:"cacheMiss,omitempty"`
|
||||
}
|
||||
|
||||
// EntryLoggingPolicyDefinition specifies which policy definition provided the value of a particular field.
|
||||
type EntryLoggingPolicyDefinition struct {
|
||||
Snapshotted snapshot.SourceInfo `json:"snapshotted,omitzero"`
|
||||
Ignored snapshot.SourceInfo `json:"ignored,omitzero"`
|
||||
CacheHit snapshot.SourceInfo `json:"cacheHit,omitzero"`
|
||||
CacheMiss snapshot.SourceInfo `json:"cacheMiss,omitzero"`
|
||||
Snapshotted snapshot.SourceInfo `json:"snapshotted,omitempty"`
|
||||
Ignored snapshot.SourceInfo `json:"ignored,omitempty"`
|
||||
CacheHit snapshot.SourceInfo `json:"cacheHit,omitempty"`
|
||||
CacheMiss snapshot.SourceInfo `json:"cacheMiss,omitempty"`
|
||||
}
|
||||
|
||||
// Merge merges the provided entry logging policy.
|
||||
@@ -46,14 +46,14 @@ func (p *EntryLoggingPolicy) Merge(src EntryLoggingPolicy, def *EntryLoggingPoli
|
||||
|
||||
// LoggingPolicy describes policy for emitting logs during snapshots.
|
||||
type LoggingPolicy struct {
|
||||
Directories DirLoggingPolicy `json:"directories,omitzero"`
|
||||
Entries EntryLoggingPolicy `json:"entries,omitzero"`
|
||||
Directories DirLoggingPolicy `json:"directories,omitempty"`
|
||||
Entries EntryLoggingPolicy `json:"entries,omitempty"`
|
||||
}
|
||||
|
||||
// LoggingPolicyDefinition specifies which policy definition provided the value of a particular field.
|
||||
type LoggingPolicyDefinition struct {
|
||||
Directories DirLoggingPolicyDefinition `json:"directories,omitzero"`
|
||||
Entries EntryLoggingPolicyDefinition `json:"entries,omitzero"`
|
||||
Directories DirLoggingPolicyDefinition `json:"directories,omitempty"`
|
||||
Entries EntryLoggingPolicyDefinition `json:"entries,omitempty"`
|
||||
}
|
||||
|
||||
// Merge applies default values from the provided policy.
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
|
||||
// OSSnapshotPolicy describes settings for OS-level snapshots.
|
||||
type OSSnapshotPolicy struct {
|
||||
VolumeShadowCopy VolumeShadowCopyPolicy `json:"volumeShadowCopy,omitzero"`
|
||||
VolumeShadowCopy VolumeShadowCopyPolicy `json:"volumeShadowCopy,omitempty"`
|
||||
}
|
||||
|
||||
// OSSnapshotPolicyDefinition specifies which policy definition provided the value of a particular field.
|
||||
type OSSnapshotPolicyDefinition struct {
|
||||
VolumeShadowCopy VolumeShadowCopyPolicyDefinition `json:"volumeShadowCopy,omitzero"`
|
||||
VolumeShadowCopy VolumeShadowCopyPolicyDefinition `json:"volumeShadowCopy,omitempty"`
|
||||
}
|
||||
|
||||
// Merge applies default values from the provided policy.
|
||||
@@ -20,13 +20,13 @@ func (p *OSSnapshotPolicy) Merge(src OSSnapshotPolicy, def *OSSnapshotPolicyDefi
|
||||
// VolumeShadowCopyPolicy describes settings for Windows Volume Shadow Copy
|
||||
// snapshots.
|
||||
type VolumeShadowCopyPolicy struct {
|
||||
Enable *OSSnapshotMode `json:"enable,omitzero"`
|
||||
Enable *OSSnapshotMode `json:"enable,omitempty"`
|
||||
}
|
||||
|
||||
// VolumeShadowCopyPolicyDefinition specifies which policy definition provided
|
||||
// the value of a particular field.
|
||||
type VolumeShadowCopyPolicyDefinition struct {
|
||||
Enable snapshot.SourceInfo `json:"enable,omitzero"`
|
||||
Enable snapshot.SourceInfo `json:"enable,omitempty"`
|
||||
}
|
||||
|
||||
// Merge applies default values from the provided policy.
|
||||
|
||||
@@ -22,34 +22,34 @@ type TargetWithPolicy struct {
|
||||
// Policy describes snapshot policy for a single source.
|
||||
type Policy struct {
|
||||
Labels map[string]string `json:"-"`
|
||||
RetentionPolicy RetentionPolicy `json:"retention,omitzero"`
|
||||
FilesPolicy FilesPolicy `json:"files,omitzero"`
|
||||
ErrorHandlingPolicy ErrorHandlingPolicy `json:"errorHandling,omitzero"`
|
||||
SchedulingPolicy SchedulingPolicy `json:"scheduling,omitzero"`
|
||||
CompressionPolicy CompressionPolicy `json:"compression,omitzero"`
|
||||
MetadataCompressionPolicy MetadataCompressionPolicy `json:"metadataCompression,omitzero"`
|
||||
SplitterPolicy SplitterPolicy `json:"splitter,omitzero"`
|
||||
Actions ActionsPolicy `json:"actions,omitzero"`
|
||||
OSSnapshotPolicy OSSnapshotPolicy `json:"osSnapshots,omitzero"`
|
||||
LoggingPolicy LoggingPolicy `json:"logging,omitzero"`
|
||||
UploadPolicy UploadPolicy `json:"upload,omitzero"`
|
||||
RetentionPolicy RetentionPolicy `json:"retention,omitempty"`
|
||||
FilesPolicy FilesPolicy `json:"files,omitempty"`
|
||||
ErrorHandlingPolicy ErrorHandlingPolicy `json:"errorHandling,omitempty"`
|
||||
SchedulingPolicy SchedulingPolicy `json:"scheduling,omitempty"`
|
||||
CompressionPolicy CompressionPolicy `json:"compression,omitempty"`
|
||||
MetadataCompressionPolicy MetadataCompressionPolicy `json:"metadataCompression,omitempty"`
|
||||
SplitterPolicy SplitterPolicy `json:"splitter,omitempty"`
|
||||
Actions ActionsPolicy `json:"actions,omitempty"`
|
||||
OSSnapshotPolicy OSSnapshotPolicy `json:"osSnapshots,omitempty"`
|
||||
LoggingPolicy LoggingPolicy `json:"logging,omitempty"`
|
||||
UploadPolicy UploadPolicy `json:"upload,omitempty"`
|
||||
NoParent bool `json:"noParent,omitempty"`
|
||||
}
|
||||
|
||||
// Definition corresponds 1:1 to Policy and each field specifies the snapshot.SourceInfo
|
||||
// where a particular policy field was specified.
|
||||
type Definition struct {
|
||||
RetentionPolicy RetentionPolicyDefinition `json:"retention,omitzero"`
|
||||
FilesPolicy FilesPolicyDefinition `json:"files,omitzero"`
|
||||
ErrorHandlingPolicy ErrorHandlingPolicyDefinition `json:"errorHandling,omitzero"`
|
||||
SchedulingPolicy SchedulingPolicyDefinition `json:"scheduling,omitzero"`
|
||||
CompressionPolicy CompressionPolicyDefinition `json:"compression,omitzero"`
|
||||
MetadataCompressionPolicy MetadataCompressionPolicyDefinition `json:"metadataCompression,omitzero"`
|
||||
SplitterPolicy SplitterPolicyDefinition `json:"splitter,omitzero"`
|
||||
Actions ActionsPolicyDefinition `json:"actions,omitzero"`
|
||||
OSSnapshotPolicy OSSnapshotPolicyDefinition `json:"osSnapshots,omitzero"`
|
||||
LoggingPolicy LoggingPolicyDefinition `json:"logging,omitzero"`
|
||||
UploadPolicy UploadPolicyDefinition `json:"upload,omitzero"`
|
||||
RetentionPolicy RetentionPolicyDefinition `json:"retention,omitempty"`
|
||||
FilesPolicy FilesPolicyDefinition `json:"files,omitempty"`
|
||||
ErrorHandlingPolicy ErrorHandlingPolicyDefinition `json:"errorHandling,omitempty"`
|
||||
SchedulingPolicy SchedulingPolicyDefinition `json:"scheduling,omitempty"`
|
||||
CompressionPolicy CompressionPolicyDefinition `json:"compression,omitempty"`
|
||||
MetadataCompressionPolicy MetadataCompressionPolicyDefinition `json:"metadataCompression,omitempty"`
|
||||
SplitterPolicy SplitterPolicyDefinition `json:"splitter,omitempty"`
|
||||
Actions ActionsPolicyDefinition `json:"actions,omitempty"`
|
||||
OSSnapshotPolicy OSSnapshotPolicyDefinition `json:"osSnapshots,omitempty"`
|
||||
LoggingPolicy LoggingPolicyDefinition `json:"logging,omitempty"`
|
||||
UploadPolicy UploadPolicyDefinition `json:"upload,omitempty"`
|
||||
}
|
||||
|
||||
func (p *Policy) String() string {
|
||||
|
||||
@@ -21,24 +21,24 @@
|
||||
|
||||
// RetentionPolicy describes snapshot retention policy.
|
||||
type RetentionPolicy struct {
|
||||
KeepLatest *OptionalInt `json:"keepLatest,omitzero"`
|
||||
KeepHourly *OptionalInt `json:"keepHourly,omitzero"`
|
||||
KeepDaily *OptionalInt `json:"keepDaily,omitzero"`
|
||||
KeepWeekly *OptionalInt `json:"keepWeekly,omitzero"`
|
||||
KeepMonthly *OptionalInt `json:"keepMonthly,omitzero"`
|
||||
KeepAnnual *OptionalInt `json:"keepAnnual,omitzero"`
|
||||
IgnoreIdenticalSnapshots *OptionalBool `json:"ignoreIdenticalSnapshots,omitzero"`
|
||||
KeepLatest *OptionalInt `json:"keepLatest,omitempty"`
|
||||
KeepHourly *OptionalInt `json:"keepHourly,omitempty"`
|
||||
KeepDaily *OptionalInt `json:"keepDaily,omitempty"`
|
||||
KeepWeekly *OptionalInt `json:"keepWeekly,omitempty"`
|
||||
KeepMonthly *OptionalInt `json:"keepMonthly,omitempty"`
|
||||
KeepAnnual *OptionalInt `json:"keepAnnual,omitempty"`
|
||||
IgnoreIdenticalSnapshots *OptionalBool `json:"ignoreIdenticalSnapshots,omitempty"`
|
||||
}
|
||||
|
||||
// RetentionPolicyDefinition specifies which policy definition provided the value of a particular field.
|
||||
type RetentionPolicyDefinition struct {
|
||||
KeepLatest snapshot.SourceInfo `json:"keepLatest,omitzero"`
|
||||
KeepHourly snapshot.SourceInfo `json:"keepHourly,omitzero"`
|
||||
KeepDaily snapshot.SourceInfo `json:"keepDaily,omitzero"`
|
||||
KeepWeekly snapshot.SourceInfo `json:"keepWeekly,omitzero"`
|
||||
KeepMonthly snapshot.SourceInfo `json:"keepMonthly,omitzero"`
|
||||
KeepAnnual snapshot.SourceInfo `json:"keepAnnual,omitzero"`
|
||||
IgnoreIdenticalSnapshots snapshot.SourceInfo `json:"ignoreIdenticalSnapshots,omitzero"`
|
||||
KeepLatest snapshot.SourceInfo `json:"keepLatest,omitempty"`
|
||||
KeepHourly snapshot.SourceInfo `json:"keepHourly,omitempty"`
|
||||
KeepDaily snapshot.SourceInfo `json:"keepDaily,omitempty"`
|
||||
KeepWeekly snapshot.SourceInfo `json:"keepWeekly,omitempty"`
|
||||
KeepMonthly snapshot.SourceInfo `json:"keepMonthly,omitempty"`
|
||||
KeepAnnual snapshot.SourceInfo `json:"keepAnnual,omitempty"`
|
||||
IgnoreIdenticalSnapshots snapshot.SourceInfo `json:"ignoreIdenticalSnapshots,omitempty"`
|
||||
}
|
||||
|
||||
// ComputeRetentionReasons computes the reasons why each snapshot is retained, based on
|
||||
|
||||
@@ -63,21 +63,21 @@ func SortAndDedupeTimesOfDay(tod []TimeOfDay) []TimeOfDay {
|
||||
|
||||
// SchedulingPolicy describes policy for scheduling snapshots.
|
||||
type SchedulingPolicy struct {
|
||||
IntervalSeconds int64 `json:"intervalSeconds,omitzero"`
|
||||
IntervalSeconds int64 `json:"intervalSeconds,omitempty"`
|
||||
TimesOfDay []TimeOfDay `json:"timeOfDay,omitempty"`
|
||||
NoParentTimesOfDay bool `json:"noParentTimeOfDay,omitzero"`
|
||||
NoParentTimesOfDay bool `json:"noParentTimeOfDay,omitempty"`
|
||||
Manual bool `json:"manual,omitempty"`
|
||||
Cron []string `json:"cron,omitempty"`
|
||||
Manual bool `json:"manual,omitzero"`
|
||||
RunMissed *OptionalBool `json:"runMissed,omitzero"`
|
||||
RunMissed *OptionalBool `json:"runMissed,omitempty"`
|
||||
}
|
||||
|
||||
// SchedulingPolicyDefinition specifies which policy definition provided the value of a particular field.
|
||||
type SchedulingPolicyDefinition struct {
|
||||
IntervalSeconds snapshot.SourceInfo `json:"intervalSeconds,omitzero"`
|
||||
TimesOfDay snapshot.SourceInfo `json:"timeOfDay,omitempty"` //nolint:modernize
|
||||
Cron snapshot.SourceInfo `json:"cron,omitempty"` //nolint:modernize
|
||||
Manual snapshot.SourceInfo `json:"manual,omitzero"`
|
||||
RunMissed snapshot.SourceInfo `json:"runMissed,omitzero"`
|
||||
IntervalSeconds snapshot.SourceInfo `json:"intervalSeconds,omitempty"`
|
||||
TimesOfDay snapshot.SourceInfo `json:"timeOfDay,omitempty"`
|
||||
Cron snapshot.SourceInfo `json:"cron,omitempty"`
|
||||
Manual snapshot.SourceInfo `json:"manual,omitempty"`
|
||||
RunMissed snapshot.SourceInfo `json:"runMissed,omitempty"`
|
||||
}
|
||||
|
||||
// defaultRunMissed is the value for RunMissed.
|
||||
|
||||
@@ -7,12 +7,12 @@
|
||||
|
||||
// SplitterPolicy specifies compression policy.
|
||||
type SplitterPolicy struct {
|
||||
Algorithm string `json:"algorithm,omitzero"`
|
||||
Algorithm string `json:"algorithm,omitempty"`
|
||||
}
|
||||
|
||||
// SplitterPolicyDefinition specifies which policy definition provided the value of a particular field.
|
||||
type SplitterPolicyDefinition struct {
|
||||
Algorithm snapshot.SourceInfo `json:"algorithm,omitzero"`
|
||||
Algorithm snapshot.SourceInfo `json:"algorithm,omitempty"`
|
||||
}
|
||||
|
||||
// SplitterForFile returns splitter algorithm.
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
// UploadPolicy describes policy to apply when uploading snapshots.
|
||||
type UploadPolicy struct {
|
||||
MaxParallelSnapshots *OptionalInt `json:"maxParallelSnapshots,omitzero"`
|
||||
MaxParallelFileReads *OptionalInt `json:"maxParallelFileReads,omitzero"`
|
||||
ParallelUploadAboveSize *OptionalInt64 `json:"parallelUploadAboveSize,omitzero"`
|
||||
MaxParallelSnapshots *OptionalInt `json:"maxParallelSnapshots,omitempty"`
|
||||
MaxParallelFileReads *OptionalInt `json:"maxParallelFileReads,omitempty"`
|
||||
ParallelUploadAboveSize *OptionalInt64 `json:"parallelUploadAboveSize,omitempty"`
|
||||
}
|
||||
|
||||
// UploadPolicyDefinition specifies which policy definition provided the value of a particular field.
|
||||
type UploadPolicyDefinition struct {
|
||||
MaxParallelSnapshots snapshot.SourceInfo `json:"maxParallelSnapshots,omitzero"`
|
||||
MaxParallelFileReads snapshot.SourceInfo `json:"maxParallelFileReads,omitzero"`
|
||||
ParallelUploadAboveSize snapshot.SourceInfo `json:"parallelUploadAboveSize,omitzero"`
|
||||
MaxParallelSnapshots snapshot.SourceInfo `json:"maxParallelSnapshots,omitempty"`
|
||||
MaxParallelFileReads snapshot.SourceInfo `json:"maxParallelFileReads,omitempty"`
|
||||
ParallelUploadAboveSize snapshot.SourceInfo `json:"parallelUploadAboveSize,omitempty"`
|
||||
}
|
||||
|
||||
// Merge applies default values from the provided policy.
|
||||
|
||||
Reference in New Issue
Block a user