comet_backup_ruby_sdk 2.8.0 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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