comet_backup_ruby_sdk 2.8.0 → 2.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -0
  3. data/Gemfile.lock +1 -1
  4. data/comet_backup_ruby_sdk.gemspec +1 -1
  5. data/lib/comet/definitions.rb +165 -42
  6. data/lib/comet/models/azure_destination_location.rb +2 -0
  7. data/lib/comet/models/b2destination_location.rb +2 -0
  8. data/lib/comet/models/backup_job_advanced_options.rb +3 -0
  9. data/lib/comet/models/backup_job_detail.rb +1 -0
  10. data/lib/comet/models/backup_job_progress.rb +4 -1
  11. data/lib/comet/models/backup_rule_config.rb +4 -0
  12. data/lib/comet/models/branding_options.rb +2 -0
  13. data/lib/comet/models/comet_destination_location.rb +1 -0
  14. data/lib/comet/models/constellation_check_report.rb +2 -0
  15. data/lib/comet/models/content_measurement.rb +2 -0
  16. data/lib/comet/models/content_measurement_component.rb +12 -0
  17. data/lib/comet/models/default_email_report_policy.rb +4 -0
  18. data/lib/comet/models/destination_config.rb +35 -1
  19. data/lib/comet/models/destination_location.rb +33 -1
  20. data/lib/comet/models/destination_statistics.rb +2 -0
  21. data/lib/comet/models/device_config.rb +1 -0
  22. data/lib/comet/models/file_option.rb +132 -0
  23. data/lib/comet/models/ftpdestination_location.rb +5 -1
  24. data/lib/comet/models/local_destination_location.rb +5 -0
  25. data/lib/comet/models/mac_oscode_sign_properties.rb +1 -0
  26. data/lib/comet/models/mssqllogin_args.rb +2 -0
  27. data/lib/comet/models/my_sqlconnection.rb +2 -0
  28. data/lib/comet/models/office_365custom_setting.rb +3 -0
  29. data/lib/comet/models/office_365custom_setting_v2.rb +9 -0
  30. data/lib/comet/models/organization.rb +85 -70
  31. data/lib/comet/models/restore_job_advanced_options.rb +1 -0
  32. data/lib/comet/models/search_result_file_info.rb +39 -17
  33. data/lib/comet/models/self_backup_export_options.rb +3 -0
  34. data/lib/comet/models/self_backup_target.rb +4 -0
  35. data/lib/comet/models/server_config_options.rb +23 -0
  36. data/lib/comet/models/session_options.rb +2 -0
  37. data/lib/comet/models/sftpdestination_location.rb +7 -0
  38. data/lib/comet/models/size_measurement.rb +3 -0
  39. data/lib/comet/models/source_basic_info.rb +1 -0
  40. data/lib/comet/models/source_config.rb +6 -4
  41. data/lib/comet/models/source_include_pattern.rb +5 -0
  42. data/lib/comet/models/spanned_destination_location.rb +11 -0
  43. data/lib/comet/models/sshconnection.rb +6 -0
  44. data/lib/comet/models/stored_object.rb +7 -0
  45. data/lib/comet/models/streamable_event.rb +42 -0
  46. data/lib/comet/models/user_profile_config.rb +9 -0
  47. data/lib/comet/models/user_profile_fragment.rb +1 -0
  48. data/lib/comet/models/web_interface_branding_properties.rb +2 -0
  49. data/lib/comet/models/webhook_option.rb +35 -16
  50. data/lib/comet_backup_ruby_sdk.rb +1 -0
  51. metadata +3 -2
@@ -12,38 +12,41 @@ module Comet
12
12
  # Organization is a typed class wrapper around the underlying Comet Server API data structure.
13
13
  class Organization
14
14
 
15
- # @type [String] name
16
- attr_accessor :name
17
-
18
- # @type [Array<String>] hosts
19
- attr_accessor :hosts
20
-
21
- # @type [Comet::SoftwareBuildRoleOptions] software_build_role
22
- attr_accessor :software_build_role
15
+ # @type [Hash{String => Comet::FileOption}] audit_file_options
16
+ attr_accessor :audit_file_options
23
17
 
24
18
  # @type [Comet::BrandingOptions] branding
25
19
  attr_accessor :branding
26
20
 
27
- # @type [Array<Comet::RemoteStorageOption>] remote_storage
28
- attr_accessor :remote_storage
29
-
30
21
  # @type [Comet::ConstellationRoleOptions] constellation_role
31
22
  attr_accessor :constellation_role
32
23
 
33
- # @type [Hash{String => Comet::WebhookOption}] webhook_options
34
- attr_accessor :webhook_options
35
-
36
- # @type [Array<Comet::PSAConfig>] psaconfigs
37
- attr_accessor :psaconfigs
38
-
39
24
  # @type [Comet::EmailOptions] email
40
25
  attr_accessor :email
41
26
 
27
+ # @type [Array<String>] experimental_options
28
+ attr_accessor :experimental_options
29
+
30
+ # @type [Array<String>] hosts
31
+ attr_accessor :hosts
32
+
33
+ # @type [String] name
34
+ attr_accessor :name
35
+
42
36
  # @type [Boolean] is_suspended
43
37
  attr_accessor :is_suspended
44
38
 
45
- # @type [Array<String>] experimental_options
46
- attr_accessor :experimental_options
39
+ # @type [Array<Comet::PSAConfig>] psaconfigs
40
+ attr_accessor :psaconfigs
41
+
42
+ # @type [Array<Comet::RemoteStorageOption>] remote_storage
43
+ attr_accessor :remote_storage
44
+
45
+ # @type [Comet::SoftwareBuildRoleOptions] software_build_role
46
+ attr_accessor :software_build_role
47
+
48
+ # @type [Hash{String => Comet::WebhookOption}] webhook_options
49
+ attr_accessor :webhook_options
47
50
 
48
51
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
49
52
  attr_accessor :unknown_json_fields
@@ -53,16 +56,17 @@ module Comet
53
56
  end
54
57
 
55
58
  def clear
56
- @name = ''
57
- @hosts = []
58
- @software_build_role = Comet::SoftwareBuildRoleOptions.new
59
+ @audit_file_options = {}
59
60
  @branding = Comet::BrandingOptions.new
60
- @remote_storage = []
61
61
  @constellation_role = Comet::ConstellationRoleOptions.new
62
- @webhook_options = {}
63
- @psaconfigs = []
64
62
  @email = Comet::EmailOptions.new
65
63
  @experimental_options = []
64
+ @hosts = []
65
+ @name = ''
66
+ @psaconfigs = []
67
+ @remote_storage = []
68
+ @software_build_role = Comet::SoftwareBuildRoleOptions.new
69
+ @webhook_options = {}
66
70
  @unknown_json_fields = {}
67
71
  end
68
72
 
@@ -79,10 +83,36 @@ module Comet
79
83
 
80
84
  obj.each do |k, v|
81
85
  case k
82
- when 'Name'
83
- raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
86
+ when 'AuditFileOptions'
87
+ @audit_file_options = {}
88
+ if v.nil?
89
+ @audit_file_options = {}
90
+ else
91
+ v.each do |k1, v1|
92
+ @audit_file_options[k1] = Comet::FileOption.new
93
+ @audit_file_options[k1].from_hash(v1)
94
+ end
95
+ end
96
+ when 'Branding'
97
+ @branding = Comet::BrandingOptions.new
98
+ @branding.from_hash(v)
99
+ when 'ConstellationRole'
100
+ @constellation_role = Comet::ConstellationRoleOptions.new
101
+ @constellation_role.from_hash(v)
102
+ when 'Email'
103
+ @email = Comet::EmailOptions.new
104
+ @email.from_hash(v)
105
+ when 'ExperimentalOptions'
106
+ if v.nil?
107
+ @experimental_options = []
108
+ else
109
+ @experimental_options = Array.new(v.length)
110
+ v.each_with_index do |v1, i1|
111
+ raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
84
112
 
85
- @name = v
113
+ @experimental_options[i1] = v1
114
+ end
115
+ end
86
116
  when 'Hosts'
87
117
  if v.nil?
88
118
  @hosts = []
@@ -94,12 +124,22 @@ module Comet
94
124
  @hosts[i1] = v1
95
125
  end
96
126
  end
97
- when 'SoftwareBuildRole'
98
- @software_build_role = Comet::SoftwareBuildRoleOptions.new
99
- @software_build_role.from_hash(v)
100
- when 'Branding'
101
- @branding = Comet::BrandingOptions.new
102
- @branding.from_hash(v)
127
+ when 'Name'
128
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
129
+
130
+ @name = v
131
+ when 'IsSuspended'
132
+ @is_suspended = v
133
+ when 'PSAConfigs'
134
+ if v.nil?
135
+ @psaconfigs = []
136
+ else
137
+ @psaconfigs = Array.new(v.length)
138
+ v.each_with_index do |v1, i1|
139
+ @psaconfigs[i1] = Comet::PSAConfig.new
140
+ @psaconfigs[i1].from_hash(v1)
141
+ end
142
+ end
103
143
  when 'RemoteStorage'
104
144
  if v.nil?
105
145
  @remote_storage = []
@@ -110,9 +150,9 @@ module Comet
110
150
  @remote_storage[i1].from_hash(v1)
111
151
  end
112
152
  end
113
- when 'ConstellationRole'
114
- @constellation_role = Comet::ConstellationRoleOptions.new
115
- @constellation_role.from_hash(v)
153
+ when 'SoftwareBuildRole'
154
+ @software_build_role = Comet::SoftwareBuildRoleOptions.new
155
+ @software_build_role.from_hash(v)
116
156
  when 'WebhookOptions'
117
157
  @webhook_options = {}
118
158
  if v.nil?
@@ -123,32 +163,6 @@ module Comet
123
163
  @webhook_options[k1].from_hash(v1)
124
164
  end
125
165
  end
126
- when 'PSAConfigs'
127
- if v.nil?
128
- @psaconfigs = []
129
- else
130
- @psaconfigs = Array.new(v.length)
131
- v.each_with_index do |v1, i1|
132
- @psaconfigs[i1] = Comet::PSAConfig.new
133
- @psaconfigs[i1].from_hash(v1)
134
- end
135
- end
136
- when 'Email'
137
- @email = Comet::EmailOptions.new
138
- @email.from_hash(v)
139
- when 'IsSuspended'
140
- @is_suspended = v
141
- when 'ExperimentalOptions'
142
- if v.nil?
143
- @experimental_options = []
144
- else
145
- @experimental_options = Array.new(v.length)
146
- v.each_with_index do |v1, i1|
147
- raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
148
-
149
- @experimental_options[i1] = v1
150
- end
151
- end
152
166
  else
153
167
  @unknown_json_fields[k] = v
154
168
  end
@@ -158,19 +172,20 @@ module Comet
158
172
  # @return [Hash] The complete object as a Ruby hash
159
173
  def to_hash
160
174
  ret = {}
161
- ret['Name'] = @name
162
- ret['Hosts'] = @hosts
163
- ret['SoftwareBuildRole'] = @software_build_role
175
+ ret['AuditFileOptions'] = @audit_file_options
164
176
  ret['Branding'] = @branding
165
- ret['RemoteStorage'] = @remote_storage
166
177
  ret['ConstellationRole'] = @constellation_role
167
- ret['WebhookOptions'] = @webhook_options
168
- ret['PSAConfigs'] = @psaconfigs
169
178
  ret['Email'] = @email
170
- ret['IsSuspended'] = @is_suspended
171
179
  unless @experimental_options.nil?
172
180
  ret['ExperimentalOptions'] = @experimental_options
173
181
  end
182
+ ret['Hosts'] = @hosts
183
+ ret['Name'] = @name
184
+ ret['IsSuspended'] = @is_suspended
185
+ ret['PSAConfigs'] = @psaconfigs
186
+ ret['RemoteStorage'] = @remote_storage
187
+ ret['SoftwareBuildRole'] = @software_build_role
188
+ ret['WebhookOptions'] = @webhook_options
174
189
  @unknown_json_fields.each do |k, v|
175
190
  ret[k] = v
176
191
  end
@@ -12,6 +12,7 @@ module Comet
12
12
  # RestoreJobAdvancedOptions is a typed class wrapper around the underlying Comet Server API data structure.
13
13
  class RestoreJobAdvancedOptions
14
14
 
15
+ # One of the RESTORETYPE_ constants
15
16
  # @type [Number] type
16
17
  attr_accessor :type
17
18
 
@@ -10,29 +10,41 @@ require 'json'
10
10
  module Comet
11
11
 
12
12
  # SearchResultFileInfo is a typed class wrapper around the underlying Comet Server API data structure.
13
+ # SearchResultFileInfo describes a single result entry when searching for files within a Storage
14
+ # Vault snapshot.
13
15
  class SearchResultFileInfo
14
16
 
17
+ # Path to the file within the selected snapshot, using forwardslash (/) separators
15
18
  # @type [String] path
16
19
  attr_accessor :path
17
20
 
21
+ # Filename
18
22
  # @type [String] name
19
23
  attr_accessor :name
20
24
 
25
+ # One of the STOREDOBJECTTYPE_ constants
21
26
  # @type [String] type
22
27
  attr_accessor :type
23
28
 
24
29
  # @type [String] mode
25
30
  attr_accessor :mode
26
31
 
27
- # @type [String] mtime
28
- attr_accessor :mtime
32
+ # Timestamp in RFC3339 format with subsecond precision and time zone offset. See the Golang
33
+ # time.RFC3339Nano for more information.
34
+ # @type [String] mod_time
35
+ attr_accessor :mod_time
29
36
 
30
- # @type [String] atime
31
- attr_accessor :atime
37
+ # Timestamp in RFC3339 format with subsecond precision and time zone offset. See the Golang
38
+ # time.RFC3339Nano for more information.
39
+ # @type [String] access_time
40
+ attr_accessor :access_time
32
41
 
33
- # @type [String] ctime
34
- attr_accessor :ctime
42
+ # Timestamp in RFC3339 format with subsecond precision and time zone offset. See the Golang
43
+ # time.RFC3339Nano for more information.
44
+ # @type [String] change_time
45
+ attr_accessor :change_time
35
46
 
47
+ # Bytes
36
48
  # @type [Number] size
37
49
  attr_accessor :size
38
50
 
@@ -48,9 +60,9 @@ module Comet
48
60
  @name = ''
49
61
  @type = ''
50
62
  @mode = ''
51
- @mtime = ''
52
- @atime = ''
53
- @ctime = ''
63
+ @mod_time = ''
64
+ @access_time = ''
65
+ @change_time = ''
54
66
  @size = 0
55
67
  @unknown_json_fields = {}
56
68
  end
@@ -87,15 +99,15 @@ module Comet
87
99
  when 'mtime'
88
100
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
89
101
 
90
- @mtime = v
102
+ @mod_time = v
91
103
  when 'atime'
92
104
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
93
105
 
94
- @atime = v
106
+ @access_time = v
95
107
  when 'ctime'
96
108
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
97
109
 
98
- @ctime = v
110
+ @change_time = v
99
111
  when 'size'
100
112
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
101
113
 
@@ -112,11 +124,21 @@ module Comet
112
124
  ret['path'] = @path
113
125
  ret['name'] = @name
114
126
  ret['type'] = @type
115
- ret['mode'] = @mode
116
- ret['mtime'] = @mtime
117
- ret['atime'] = @atime
118
- ret['ctime'] = @ctime
119
- ret['size'] = @size
127
+ unless @mode.nil?
128
+ ret['mode'] = @mode
129
+ end
130
+ unless @mod_time.nil?
131
+ ret['mtime'] = @mod_time
132
+ end
133
+ unless @access_time.nil?
134
+ ret['atime'] = @access_time
135
+ end
136
+ unless @change_time.nil?
137
+ ret['ctime'] = @change_time
138
+ end
139
+ unless @size.nil?
140
+ ret['size'] = @size
141
+ end
120
142
  @unknown_json_fields.each do |k, v|
121
143
  ret[k] = v
122
144
  end
@@ -21,9 +21,12 @@ module Comet
21
21
  # @type [Number] encryption_key_format
22
22
  attr_accessor :encryption_key_format
23
23
 
24
+ # One of the COMPRESS_LVL_ constants
24
25
  # @type [Number] compression
25
26
  attr_accessor :compression
26
27
 
28
+ # The jobs database is often the largest component of the Server Self-Backup archive. By excluding
29
+ # it, you could run the Server Self-Backup more often.
27
30
  # @type [Boolean] exclude_jobs_db
28
31
  attr_accessor :exclude_jobs_db
29
32
 
@@ -15,6 +15,7 @@ module Comet
15
15
  # @type [Array<Comet::ScheduleConfig>] schedule
16
16
  attr_accessor :schedule
17
17
 
18
+ # Timezone in IANA format
18
19
  # @type [String] schedule_timezone
19
20
  attr_accessor :schedule_timezone
20
21
 
@@ -30,9 +31,12 @@ module Comet
30
31
  # @type [Number] encryption_key_format
31
32
  attr_accessor :encryption_key_format
32
33
 
34
+ # One of the COMPRESS_LVL_ constants
33
35
  # @type [Number] compression
34
36
  attr_accessor :compression
35
37
 
38
+ # The jobs database is often the largest component of the Server Self-Backup archive. By excluding
39
+ # it, you could run the Server Self-Backup more often.
36
40
  # @type [Boolean] exclude_jobs_db
37
41
  attr_accessor :exclude_jobs_db
38
42
 
@@ -35,6 +35,7 @@ module Comet
35
35
  # @type [Comet::EmailOptions] email
36
36
  attr_accessor :email
37
37
 
38
+ # An array of GUIDs that can enable additional early-access functionality
38
39
  # @type [Array<String>] experimental_options
39
40
  attr_accessor :experimental_options
40
41
 
@@ -47,18 +48,22 @@ module Comet
47
48
  # @type [Comet::LicenseOptions] license
48
49
  attr_accessor :license
49
50
 
51
+ # Configure ip, port, and SSL settings for this self-hosted Comet Server.
50
52
  # @type [Array<Comet::HTTPConnectorOptions>] listen_addresses
51
53
  attr_accessor :listen_addresses
52
54
 
55
+ # Tenants
53
56
  # @type [Hash{String => Comet::Organization}] organizations
54
57
  attr_accessor :organizations
55
58
 
56
59
  # @type [Array<Comet::PSAConfig>] psaconfigs
57
60
  attr_accessor :psaconfigs
58
61
 
62
+ # Automatically create backup zip files of this Comet Server's configuration
59
63
  # @type [Comet::SelfBackupOptions] self_backup
60
64
  attr_accessor :self_backup
61
65
 
66
+ # Control how long admin accounts can remain logged in to the Comet Server web interface
62
67
  # @type [Comet::SessionOptions] session_settings
63
68
  attr_accessor :session_settings
64
69
 
@@ -68,12 +73,18 @@ module Comet
68
73
  # @type [Comet::StorageRoleOptions] storage_role
69
74
  attr_accessor :storage_role
70
75
 
76
+ # If true, the X-Forwarded-For header will be trusted for the purposes of IP allowlisting. This
77
+ # should only be enabled when you explicitly configure Comet Server behind a reverse proxy,
78
+ # otherwise it could allow malicious users to bypass the IP allowlist.
71
79
  # @type [Boolean] trust_xforwarded_for
72
80
  attr_accessor :trust_xforwarded_for
73
81
 
74
82
  # @type [Hash{String => Comet::WebhookOption}] webhook_options
75
83
  attr_accessor :webhook_options
76
84
 
85
+ # @type [Hash{String => Comet::FileOption}] audit_file_options
86
+ attr_accessor :audit_file_options
87
+
77
88
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
78
89
  attr_accessor :unknown_json_fields
79
90
 
@@ -100,6 +111,7 @@ module Comet
100
111
  @software_build_role = Comet::SoftwareBuildRoleOptions.new
101
112
  @storage_role = Comet::StorageRoleOptions.new
102
113
  @webhook_options = {}
114
+ @audit_file_options = {}
103
115
  @unknown_json_fields = {}
104
116
  end
105
117
 
@@ -222,6 +234,16 @@ module Comet
222
234
  @webhook_options[k1].from_hash(v1)
223
235
  end
224
236
  end
237
+ when 'AuditFileOptions'
238
+ @audit_file_options = {}
239
+ if v.nil?
240
+ @audit_file_options = {}
241
+ else
242
+ v.each do |k1, v1|
243
+ @audit_file_options[k1] = Comet::FileOption.new
244
+ @audit_file_options[k1].from_hash(v1)
245
+ end
246
+ end
225
247
  else
226
248
  @unknown_json_fields[k] = v
227
249
  end
@@ -254,6 +276,7 @@ module Comet
254
276
  ret['StorageRole'] = @storage_role
255
277
  ret['TrustXForwardedFor'] = @trust_xforwarded_for
256
278
  ret['WebhookOptions'] = @webhook_options
279
+ ret['AuditFileOptions'] = @audit_file_options
257
280
  @unknown_json_fields.each do |k, v|
258
281
  ret[k] = v
259
282
  end
@@ -12,6 +12,8 @@ module Comet
12
12
  # SessionOptions is a typed class wrapper around the underlying Comet Server API data structure.
13
13
  class SessionOptions
14
14
 
15
+ # The number of seconds, after which an administrator should be automatically logged out of the
16
+ # Comet Server web interface. If zero, will be replaced with DEFAULT_SESSIONTIMEOUT.
15
17
  # @type [Number] expired_in_seconds
16
18
  attr_accessor :expired_in_seconds
17
19
 
@@ -18,6 +18,7 @@ module Comet
18
18
  # @type [String] sftpusername
19
19
  attr_accessor :sftpusername
20
20
 
21
+ # The directory on the SFTP server in which data is stored.
21
22
  # @type [String] sftpremote_path
22
23
  attr_accessor :sftpremote_path
23
24
 
@@ -25,15 +26,21 @@ module Comet
25
26
  # @type [Number] sftpauth_mode
26
27
  attr_accessor :sftpauth_mode
27
28
 
29
+ # For use with DESTINATION_SFTP_AUTHMODE_PASSWORD only: the SSH password to connect with
28
30
  # @type [String] sftppassword
29
31
  attr_accessor :sftppassword
30
32
 
33
+ # For use with DESTINATION_SFTP_AUTHMODE_PRIVATEKEY only: the SSH private key to connect with, in
34
+ # OpenSSH format.
31
35
  # @type [String] sftpprivate_key
32
36
  attr_accessor :sftpprivate_key
33
37
 
38
+ # If true, then the SFTPCustomAuth_KnownHostsFile will be used to verify the remote SSH server's
39
+ # host key, using Trust On First Use (TOFU).
34
40
  # @type [Boolean] sftpcustom_auth__use_known_hosts_file
35
41
  attr_accessor :sftpcustom_auth__use_known_hosts_file
36
42
 
43
+ # If SFTPCustomAuth_UseKnownHostFile is true, the path to the SSH known_hosts file.
37
44
  # @type [String] sftpcustom_auth__known_hosts_file
38
45
  attr_accessor :sftpcustom_auth__known_hosts_file
39
46
 
@@ -12,12 +12,15 @@ module Comet
12
12
  # SizeMeasurement is a typed class wrapper around the underlying Comet Server API data structure.
13
13
  class SizeMeasurement
14
14
 
15
+ # Bytes
15
16
  # @type [Number] size
16
17
  attr_accessor :size
17
18
 
19
+ # Unix timestamp in seconds
18
20
  # @type [Number] measure_started
19
21
  attr_accessor :measure_started
20
22
 
23
+ # Unix timestamp in seconds
21
24
  # @type [Number] measure_completed
22
25
  attr_accessor :measure_completed
23
26
 
@@ -18,6 +18,7 @@ module Comet
18
18
  # @type [Number] o365account_count
19
19
  attr_accessor :o365account_count
20
20
 
21
+ # Bytes
21
22
  # @type [Number] size
22
23
  attr_accessor :size
23
24
 
@@ -22,9 +22,11 @@ module Comet
22
22
  # @type [String] owner_device
23
23
  attr_accessor :owner_device
24
24
 
25
+ # Unix timestamp in seconds
25
26
  # @type [Number] create_time
26
27
  attr_accessor :create_time
27
28
 
29
+ # Unix timestamp in seconds
28
30
  # @type [Number] modify_time
29
31
  attr_accessor :modify_time
30
32
 
@@ -48,10 +50,10 @@ module Comet
48
50
  # - Any key starting with INCLUDE: A path that is included
49
51
  # - Any key starting with EXCLUDE: An exclusion (glob format)
50
52
  # - Any key starting with REXCLUDE: An exclusion (regular expression format)
51
- # - Any key starting with PINCLUDE: A JSON string {"TopDirectory": "", "Value": ""}. TopDirectory is
52
- # the path where starts to match the value; Value is an inclusion (glob format)
53
- # - Any key starting with RINCLUDE: A JSON string {"TopDirectory": "", "Value": ""}. TopDirectory is
54
- # the path where starts to match the value; Value is an inclusion (regular expression format)
53
+ # - Any key starting with PINCLUDE: A SourceIncludePattern type encoded in JSON format, describing
54
+ # an advanced inclusion in glob format
55
+ # - Any key starting with RINCLUDE: A SourceIncludePattern type encoded in JSON format, describing
56
+ # an advanced inclusion in regular expression format
55
57
  # - Any key starting with SMBAUTH: A set of Windows network share credentials in WinSMBAuth JSON
56
58
  # format
57
59
  # - USE_WIN_VSS: If present, the 'Take filesystem snapshot' checkbox is checked
@@ -10,11 +10,16 @@ require 'json'
10
10
  module Comet
11
11
 
12
12
  # SourceIncludePattern is a typed class wrapper around the underlying Comet Server API data structure.
13
+ # SourceIncludePattern is used for pattern inclusions for File and Folder Protected Items
14
+ # (ENGINE_BUILTIN_FILE).
15
+ # It should be marshalled as JSON and then stored in the PINCLUDE / RINCLUDE EngineProp keys.
13
16
  class SourceIncludePattern
14
17
 
18
+ # The filesystem path to search within, for matches
15
19
  # @type [String] top_directory
16
20
  attr_accessor :top_directory
17
21
 
22
+ # The pattern (glob or regex format) to match
18
23
  # @type [String] value
19
24
  attr_accessor :value
20
25
 
@@ -12,9 +12,20 @@ module Comet
12
12
  # SpannedDestinationLocation is a typed class wrapper around the underlying Comet Server API data structure.
13
13
  class SpannedDestinationLocation
14
14
 
15
+ # A list of underlying destinations, that will be combined and presented as one.
15
16
  # @type [Array<Comet::DestinationLocation>] span_targets
16
17
  attr_accessor :span_targets
17
18
 
19
+ # If true, this Spanned destination will use a consistent hashing scheme
20
+ # to immediately find specific files on exactly one of the target destinations.
21
+ # In the Static Slots mode, the span targets cannot be moved or merged, and
22
+ # the files must always remain in their original location.
23
+ #
24
+ # If false, the Spanned destination system will search all targets to find
25
+ # the requested file. This is slightly slower, but allows you to freely merge,
26
+ # split, and reorder the underlying destination locations.
27
+ #
28
+ # The default option is false.
18
29
  # @type [Boolean] span_use_static_slots
19
30
  attr_accessor :span_use_static_slots
20
31
 
@@ -22,15 +22,21 @@ module Comet
22
22
  # @type [Number] sshauth_mode
23
23
  attr_accessor :sshauth_mode
24
24
 
25
+ # For use with SSHCONNECTION_AUTHMODE_PASSWORD only: the SSH password to connect with
25
26
  # @type [String] sshpassword
26
27
  attr_accessor :sshpassword
27
28
 
29
+ # For use with SSHCONNECTION_AUTHMODE_PRIVATEKEY only: the SSH private key to connect with, in
30
+ # OpenSSH format.
28
31
  # @type [String] sshprivate_key
29
32
  attr_accessor :sshprivate_key
30
33
 
34
+ # If true, then the SSHCustomAuth_KnownHostsFile will be used to verify the remote SSH server's host
35
+ # key, using Trust On First Use (TOFU).
31
36
  # @type [Boolean] sshcustom_auth__use_known_hosts_file
32
37
  attr_accessor :sshcustom_auth__use_known_hosts_file
33
38
 
39
+ # If SSHCustomAuth_UseKnownHostsFile is true, the path to the SSH known_hosts file.
34
40
  # @type [String] sshcustom_auth__known_hosts_file
35
41
  attr_accessor :sshcustom_auth__known_hosts_file
36
42
 
@@ -12,9 +12,11 @@ module Comet
12
12
  # StoredObject is a typed class wrapper around the underlying Comet Server API data structure.
13
13
  class StoredObject
14
14
 
15
+ # The name of the stored object. It is unique within this directory tree.
15
16
  # @type [String] name
16
17
  attr_accessor :name
17
18
 
19
+ # Unix timestamp in seconds
18
20
  # @type [Number] modify_time
19
21
  attr_accessor :modify_time
20
22
 
@@ -22,9 +24,12 @@ module Comet
22
24
  # @type [String] type
23
25
  attr_accessor :type
24
26
 
27
+ # If this StoredObject represents a directory, this value can be used to recursively select the
28
+ # directory contents.
25
29
  # @type [String] subtree
26
30
  attr_accessor :subtree
27
31
 
32
+ # Bytes
28
33
  # @type [Number] size
29
34
  attr_accessor :size
30
35
 
@@ -46,9 +51,11 @@ module Comet
46
51
  # @type [Boolean] has_attachments
47
52
  attr_accessor :has_attachments
48
53
 
54
+ # Unix timestamp in seconds
49
55
  # @type [Number] start_time
50
56
  attr_accessor :start_time
51
57
 
58
+ # Unix timestamp in seconds
52
59
  # @type [Number] end_time
53
60
  attr_accessor :end_time
54
61