/
sync_policy_extended.go
170 lines (116 loc) · 9.86 KB
/
sync_policy_extended.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
/*
* Isilon SDK
*
* Isilon SDK - Language bindings for the OneFS API
*
* API version: 5
* Contact: sdk@isilon.com
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
*/
package isi_sdk_8_1_0
type SyncPolicyExtended struct {
// If set to true, SyncIQ will perform failback configuration tasks during the next job run, rather than waiting to perform those tasks during the failback process. Performing these tasks ahead of time will increase the speed of failback operations.
AcceleratedFailback bool `json:"accelerated_failback"`
// If 'copy', source files will be copied to the target cluster. If 'sync', the target directory will be made an image of the source directory: Files and directories that have been deleted on the source, have been moved within the target directory, or no longer match the selection criteria will be deleted from the target directory.
Action string `json:"action"`
// NOTE: This field should not be changed without the help of Isilon support. Enable/disable UDP-based data transfer.
BurstMode bool `json:"burst_mode"`
// If true, retain previous source snapshot and incremental repstate, both of which are required for changelist creation.
Changelist bool `json:"changelist"`
// If true, the sync target performs cyclic redundancy checks (CRC) on the data as it is received.
CheckIntegrity bool `json:"check_integrity"`
// If set to deny, replicates all CloudPools smartlinks to the target cluster as smartlinks; if the target cluster does not support the smartlinks, the job will fail. If set to force, replicates all smartlinks to the target cluster as regular files. If set to allow, SyncIQ will attempt to replicate smartlinks to the target cluster as smartlinks; if the target cluster does not support the smartlinks, SyncIQ will replicate the smartlinks as regular files.
CloudDeepCopy string `json:"cloud_deep_copy"`
// NOTE: This field should not be changed without the help of Isilon support. If true, the most recent run of this policy encountered an error and this policy will not start any more scheduled jobs until this field is manually set back to 'false'.
Conflicted bool `json:"conflicted"`
// User-assigned description of this sync policy.
Description string `json:"description"`
// NOTE: This field should not be changed without the help of Isilon support. If true, the 7.2+ file splitting capability will be disabled.
DisableFileSplit bool `json:"disable_file_split"`
// NOTE: This field should not be changed without the help of Isilon support. Enable/disable sync failover/failback.
DisableFofb bool `json:"disable_fofb"`
// NOTE: This field should not be changed without the help of Isilon support. Enable/disable the 6.5+ STF based data transfer and uses only treewalk.
DisableStf bool `json:"disable_stf"`
// If true, jobs will be automatically run based on this policy, according to its schedule.
Enabled bool `json:"enabled"`
// NOTE: This field should not be changed without the help of Isilon support. Continue sending files even with the corrupted filesystem.
ExpectedDataloss bool `json:"expected_dataloss"`
// A file matching pattern, organized as an OR'ed set of AND'ed file criteria, for example ((a AND b) OR (x AND y)) used to define a set of files with specific properties. Policies of type 'sync' cannot use 'path' or time criteria in their matching patterns, but policies of type 'copy' can use all listed criteria.
FileMatchingPattern *SyncJobPolicyFileMatchingPattern `json:"file_matching_pattern"`
// NOTE: This field should not be changed without the help of Isilon support. Determines whether data is sent only through the subnet and pool specified in the \"source_network\" field. This option can be useful if there are multiple interfaces for the given source subnet. If you enable this option, the net.inet.ip.choose_ifa_by_ipsrc sysctl should be set.
ForceInterface bool `json:"force_interface"`
// This field is false if the policy is in its initial sync state and true otherwise. Setting this field to false will reset the policy's sync state.
HasSyncState bool `json:"has_sync_state"`
// The system ID given to this sync policy.
Id string `json:"id"`
// If --schedule is set to When-Source-Modified, the duration to wait after a modification is made before starting a job (default is 0 seconds).
JobDelay int32 `json:"job_delay,omitempty"`
// This is the state of the most recent job for this policy.
LastJobState string `json:"last_job_state"`
// The most recent time a job was started for this policy. Value is null if the policy has never been run.
LastStarted int32 `json:"last_started,omitempty"`
// Timestamp of last known successfully completed synchronization. Value is null if the policy has never completed successfully.
LastSuccess int32 `json:"last_success,omitempty"`
// Severity an event must reach before it is logged.
LogLevel string `json:"log_level"`
// If true, the system will log any files or directories that are deleted due to a sync.
LogRemovedFiles bool `json:"log_removed_files"`
// User-assigned name of this sync policy.
Name string `json:"name"`
// This is the next time a job is scheduled to run for this policy in Unix epoch seconds. This field is null if the job is not scheduled.
NextRun int32 `json:"next_run,omitempty"`
// Indicates if a password is set for accessing the target cluster. Password value is not shown with GET.
PasswordSet bool `json:"password_set"`
// Determines the priority level of a policy. Policies with higher priority will have precedence to run over lower priority policies. Valid range is [0, 1]. Default is 0.
Priority int32 `json:"priority"`
// Length of time (in seconds) a policy report will be stored.
ReportMaxAge int32 `json:"report_max_age"`
// Maximum number of policy reports that will be stored on the system.
ReportMaxCount int32 `json:"report_max_count"`
// If you specify true, and you specify a SmartConnect zone in the \"target_host\" field, replication policies will connect only to nodes in the specified SmartConnect zone. If you specify false, replication policies are not restricted to specific nodes on the target cluster.
RestrictTargetNetwork bool `json:"restrict_target_network"`
// If --schedule is set to a time/date, an alert is created if the specified RPO for this policy is exceeded. The default value is 0, which will not generate RPO alerts.
RpoAlert int32 `json:"rpo_alert,omitempty"`
// The schedule on which new jobs will be run for this policy.
Schedule string `json:"schedule"`
// Skip DNS lookup of target IPs.
SkipLookup bool `json:"skip_lookup"`
// If true and --schedule is set to a time/date, the policy will not run if no changes have been made to the contents of the source directory since the last job successfully completed.
SkipWhenSourceUnmodified bool `json:"skip_when_source_unmodified"`
// If true, snapshot-triggered syncs will include snapshots taken before policy creation time (requires --schedule when-snapshot-taken).
SnapshotSyncExisting bool `json:"snapshot_sync_existing"`
// The naming pattern that a snapshot must match to trigger a sync when the schedule is when-snapshot-taken (default is \"*\").
SnapshotSyncPattern string `json:"snapshot_sync_pattern"`
// Directories that will be excluded from the sync. Modifying this field will result in a full synchronization of all data.
SourceExcludeDirectories []string `json:"source_exclude_directories"`
// Directories that will be included in the sync. Modifying this field will result in a full synchronization of all data.
SourceIncludeDirectories []string `json:"source_include_directories"`
// Restricts replication policies on the local cluster to running on the specified subnet and pool.
SourceNetwork *SyncPolicySourceNetwork `json:"source_network,omitempty"`
// The root directory on the source cluster the files will be synced from. Modifying this field will result in a full synchronization of all data.
SourceRootPath string `json:"source_root_path"`
// If true, archival snapshots of the source data will be taken on the source cluster before a sync.
SourceSnapshotArchive bool `json:"source_snapshot_archive"`
// The length of time in seconds to keep snapshots on the source cluster.
SourceSnapshotExpiration int32 `json:"source_snapshot_expiration"`
// The name pattern for snapshots taken on the source cluster before a sync.
SourceSnapshotPattern string `json:"source_snapshot_pattern"`
// If true, the target creates diffs against the original sync.
TargetCompareInitialSync bool `json:"target_compare_initial_sync"`
// If true, target cluster will detect if files have been changed on the target by legacy tree walk syncs.
TargetDetectModifications bool `json:"target_detect_modifications"`
// Hostname or IP address of sync target cluster. Modifying the target cluster host can result in the policy being unrunnable if the new target does not match the current target association.
TargetHost string `json:"target_host"`
// Absolute filesystem path on the target cluster for the sync destination.
TargetPath string `json:"target_path"`
// The alias of the snapshot taken on the target cluster after the sync completes. A value of @DEFAULT will reset this field to the default creation value.
TargetSnapshotAlias string `json:"target_snapshot_alias"`
// If true, archival snapshots of the target data will be taken on the target cluster after successful sync completions.
TargetSnapshotArchive bool `json:"target_snapshot_archive"`
// The length of time in seconds to keep snapshots on the target cluster.
TargetSnapshotExpiration int32 `json:"target_snapshot_expiration"`
// The name pattern for snapshots taken on the target cluster after the sync completes. A value of @DEFAULT will reset this field to the default creation value.
TargetSnapshotPattern string `json:"target_snapshot_pattern"`
// The number of worker threads on a node performing a sync.
WorkersPerNode int32 `json:"workers_per_node"`
}