comet_backup_ruby_sdk 2.8.0 → 2.10.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 (93) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/Gemfile.lock +1 -1
  4. data/comet_backup_ruby_sdk.gemspec +1 -1
  5. data/lib/comet/comet_server.rb +19 -1
  6. data/lib/comet/definitions.rb +193 -44
  7. data/lib/comet/models/admin_account_properties_response.rb +1 -0
  8. data/lib/comet/models/admin_security_options.rb +4 -0
  9. data/lib/comet/models/admin_u2fregistration.rb +2 -0
  10. data/lib/comet/models/admin_user_permissions.rb +73 -0
  11. data/lib/comet/models/admin_web_authn_registration.rb +2 -0
  12. data/lib/comet/models/allowed_admin_user.rb +4 -0
  13. data/lib/comet/models/authentication_role_options.rb +2 -0
  14. data/lib/comet/models/azure_destination_location.rb +2 -0
  15. data/lib/comet/models/b2destination_location.rb +2 -0
  16. data/lib/comet/models/backup_job_advanced_options.rb +3 -0
  17. data/lib/comet/models/backup_job_detail.rb +1 -0
  18. data/lib/comet/models/backup_job_progress.rb +4 -1
  19. data/lib/comet/models/backup_rule_config.rb +4 -0
  20. data/lib/comet/models/branding_options.rb +7 -0
  21. data/lib/comet/models/branding_properties.rb +5 -0
  22. data/lib/comet/models/bucket_properties.rb +2 -0
  23. data/lib/comet/models/comet_destination_location.rb +1 -0
  24. data/lib/comet/models/constellation_check_report.rb +2 -0
  25. data/lib/comet/models/constellation_stats.rb +5 -0
  26. data/lib/comet/models/content_measurement.rb +2 -0
  27. data/lib/comet/models/content_measurement_component.rb +12 -0
  28. data/lib/comet/models/default_email_report_policy.rb +4 -0
  29. data/lib/comet/models/destination_config.rb +35 -1
  30. data/lib/comet/models/destination_location.rb +33 -1
  31. data/lib/comet/models/destination_statistics.rb +2 -0
  32. data/lib/comet/models/device_config.rb +13 -0
  33. data/lib/comet/models/email_reporting_option.rb +2 -0
  34. data/lib/comet/models/external_ldapauthentication_source_server.rb +1 -0
  35. data/lib/comet/models/external_ldapauthentication_source_settings.rb +1 -0
  36. data/lib/comet/models/file_option.rb +132 -0
  37. data/lib/comet/models/ftpdestination_location.rb +5 -1
  38. data/lib/comet/models/install_token.rb +5 -0
  39. data/lib/comet/models/local_destination_location.rb +5 -0
  40. data/lib/comet/models/mac_oscode_sign_properties.rb +7 -0
  41. data/lib/comet/models/mssqlconnection.rb +3 -0
  42. data/lib/comet/models/mssqllogin_args.rb +2 -0
  43. data/lib/comet/models/my_sqlconnection.rb +2 -0
  44. data/lib/comet/models/news_entry.rb +1 -0
  45. data/lib/comet/models/office_365custom_setting.rb +3 -0
  46. data/lib/comet/models/office_365custom_setting_v2.rb +9 -0
  47. data/lib/comet/models/organization.rb +85 -70
  48. data/lib/comet/models/osinfo.rb +30 -0
  49. data/lib/comet/models/partition.rb +5 -0
  50. data/lib/comet/models/private_branding_properties.rb +5 -0
  51. data/lib/comet/models/psaconfig.rb +4 -0
  52. data/lib/comet/models/restore_job_advanced_options.rb +17 -0
  53. data/lib/comet/models/retention_range.rb +8 -0
  54. data/lib/comet/models/search_clause.rb +16 -0
  55. data/lib/comet/models/search_result_file_info.rb +39 -17
  56. data/lib/comet/models/self_backup_export_options.rb +4 -0
  57. data/lib/comet/models/self_backup_target.rb +5 -0
  58. data/lib/comet/models/server_config_options.rb +24 -0
  59. data/lib/comet/models/server_meta_branding_properties.rb +2 -0
  60. data/lib/comet/models/server_meta_version_info.rb +2 -0
  61. data/lib/comet/models/session_key_regenerated_response.rb +2 -0
  62. data/lib/comet/models/session_options.rb +2 -0
  63. data/lib/comet/models/sftpdestination_location.rb +7 -0
  64. data/lib/comet/models/single_field_source.rb +1 -0
  65. data/lib/comet/models/size_measurement.rb +3 -0
  66. data/lib/comet/models/software_update_news_response.rb +4 -0
  67. data/lib/comet/models/source_basic_info.rb +3 -0
  68. data/lib/comet/models/source_config.rb +26 -4
  69. data/lib/comet/models/source_include_pattern.rb +5 -0
  70. data/lib/comet/models/spanned_destination_location.rb +11 -0
  71. data/lib/comet/models/sshconnection.rb +6 -0
  72. data/lib/comet/models/storage_role_options.rb +1 -0
  73. data/lib/comet/models/stored_object.rb +7 -0
  74. data/lib/comet/models/streamable_event.rb +42 -0
  75. data/lib/comet/models/totp_regenerated_response.rb +3 -0
  76. data/lib/comet/models/update_campaign_device_status.rb +1 -0
  77. data/lib/comet/models/update_campaign_properties.rb +1 -0
  78. data/lib/comet/models/update_campaign_status.rb +1 -0
  79. data/lib/comet/models/update_campaign_status_device_entry.rb +1 -0
  80. data/lib/comet/models/user_profile_config.rb +9 -0
  81. data/lib/comet/models/user_profile_fragment.rb +1 -0
  82. data/lib/comet/models/vault_snapshot.rb +1 -0
  83. data/lib/comet/models/vsscomponent.rb +1 -0
  84. data/lib/comet/models/web_authn_credential.rb +2 -0
  85. data/lib/comet/models/web_authn_credential_descriptor.rb +1 -0
  86. data/lib/comet/models/web_authn_public_key_credential_creation_options.rb +1 -0
  87. data/lib/comet/models/web_authn_public_key_credential_request_options.rb +1 -0
  88. data/lib/comet/models/web_authn_user_entity.rb +1 -0
  89. data/lib/comet/models/web_interface_branding_properties.rb +2 -0
  90. data/lib/comet/models/webhook_option.rb +35 -16
  91. data/lib/comet/models/windows_code_sign_properties.rb +4 -0
  92. data/lib/comet_backup_ruby_sdk.rb +1 -0
  93. metadata +3 -2
@@ -10,17 +10,31 @@ require 'json'
10
10
  module Comet
11
11
 
12
12
  # OSInfo is a typed class wrapper around the underlying Comet Server API data structure.
13
+ # OSInfo represents the common set of version information between all operating systems
13
14
  class OSInfo
14
15
 
16
+ # The primary version number (e.g. on Windows: 1703 / 2009, on Linux: 20.04 / 22.04)
15
17
  # @type [String] version
16
18
  attr_accessor :version
17
19
 
20
+ # The primary presentation name (e.g. "Windows 10 Pro", "debian", "Synology DSM")
18
21
  # @type [String] distribution
19
22
  attr_accessor :distribution
20
23
 
24
+ # The detailed build number (e.g. 19043)
21
25
  # @type [String] build
22
26
  attr_accessor :build
23
27
 
28
+ # The GOOS value
29
+ # This field is available in Comet 23.6.0 and later.
30
+ # @type [String] os
31
+ attr_accessor :os
32
+
33
+ # The GOARCH value
34
+ # This field is available in Comet 23.6.0 and later.
35
+ # @type [String] arch
36
+ attr_accessor :arch
37
+
24
38
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
25
39
  attr_accessor :unknown_json_fields
26
40
 
@@ -32,6 +46,8 @@ module Comet
32
46
  @version = ''
33
47
  @distribution = ''
34
48
  @build = ''
49
+ @os = ''
50
+ @arch = ''
35
51
  @unknown_json_fields = {}
36
52
  end
37
53
 
@@ -60,6 +76,14 @@ module Comet
60
76
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
61
77
 
62
78
  @build = v
79
+ when 'os'
80
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
81
+
82
+ @os = v
83
+ when 'arch'
84
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
85
+
86
+ @arch = v
63
87
  else
64
88
  @unknown_json_fields[k] = v
65
89
  end
@@ -78,6 +102,12 @@ module Comet
78
102
  unless @build.nil?
79
103
  ret['build'] = @build
80
104
  end
105
+ unless @os.nil?
106
+ ret['os'] = @os
107
+ end
108
+ unless @arch.nil?
109
+ ret['arch'] = @arch
110
+ end
81
111
  @unknown_json_fields.each do |k, v|
82
112
  ret[k] = v
83
113
  end
@@ -15,6 +15,7 @@ module Comet
15
15
  # @type [String] device_name
16
16
  attr_accessor :device_name
17
17
 
18
+ # The name of the filesystem used on this partition (e.g. "NTFS")
18
19
  # @type [String] filesystem
19
20
  attr_accessor :filesystem
20
21
 
@@ -30,12 +31,16 @@ module Comet
30
31
  # @type [Array<String>] mount_points
31
32
  attr_accessor :mount_points
32
33
 
34
+ # Bytes. The partition's offset within the DeviceName. It will be zero if this partition has a
35
+ # direct DeviceName handle.
33
36
  # @type [Number] read_offset
34
37
  attr_accessor :read_offset
35
38
 
39
+ # Bytes
36
40
  # @type [Number] size
37
41
  attr_accessor :size
38
42
 
43
+ # Bytes. Only present for supported filesystems that are currently mounted by the OS
39
44
  # @type [Number] used_size
40
45
  attr_accessor :used_size
41
46
 
@@ -12,6 +12,7 @@ module Comet
12
12
  # PrivateBrandingProperties is a typed class wrapper around the underlying Comet Server API data structure.
13
13
  class PrivateBrandingProperties
14
14
 
15
+ # One of the CLIENTBRANDINGBUILD_ constants
15
16
  # @type [Number] build_mode
16
17
  attr_accessor :build_mode
17
18
 
@@ -39,12 +40,14 @@ module Comet
39
40
  # @type [String] package_identifier
40
41
  attr_accessor :package_identifier
41
42
 
43
+ # One of the WINDOWSCODESIGN_METHOD_ constants
42
44
  # @type [Number] windows_code_sign_method
43
45
  attr_accessor :windows_code_sign_method
44
46
 
45
47
  # @type [String] windows_code_sign_pkcs12file_path
46
48
  attr_accessor :windows_code_sign_pkcs12file_path
47
49
 
50
+ # One of the ENCRYPTIONMETHOD_ constants
48
51
  # @type [Number] windows_code_sign_pkcs12password_format
49
52
  attr_accessor :windows_code_sign_pkcs12password_format
50
53
 
@@ -64,6 +67,7 @@ module Comet
64
67
  # @type [String] windows_code_sign_pkcs11key_id
65
68
  attr_accessor :windows_code_sign_pkcs11key_id
66
69
 
70
+ # One of the ENCRYPTIONMETHOD_ constants
67
71
  # @type [Number] windows_code_sign_pkcs11password_format
68
72
  attr_accessor :windows_code_sign_pkcs11password_format
69
73
 
@@ -79,6 +83,7 @@ module Comet
79
83
  # @type [String] windows_code_sign_azure_app_id
80
84
  attr_accessor :windows_code_sign_azure_app_id
81
85
 
86
+ # One of the ENCRYPTIONMETHOD_ constants
82
87
  # @type [Number] windows_code_sign_azure_app_secret_format
83
88
  attr_accessor :windows_code_sign_azure_app_secret_format
84
89
 
@@ -12,18 +12,22 @@ module Comet
12
12
  # PSAConfig is a typed class wrapper around the underlying Comet Server API data structure.
13
13
  class PSAConfig
14
14
 
15
+ # For PSA_TYPE_GRADIENT. Defaults to enabled
15
16
  # @type [Boolean] alerts_disabled
16
17
  attr_accessor :alerts_disabled
17
18
 
18
19
  # @type [Hash{String => String}] custom_headers
19
20
  attr_accessor :custom_headers
20
21
 
22
+ # Specified credentials for the target PSA
21
23
  # @type [String] partner_key
22
24
  attr_accessor :partner_key
23
25
 
26
+ # One of the PSA_TYPE_ constants
24
27
  # @type [Number] type
25
28
  attr_accessor :type
26
29
 
30
+ # For PSA_TYPE_GENERIC
27
31
  # @type [String] url
28
32
  attr_accessor :url
29
33
 
@@ -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
 
@@ -40,6 +41,16 @@ module Comet
40
41
  # @type [Number] archive_format
41
42
  attr_accessor :archive_format
42
43
 
44
+ # Corresponds to the "Allow partial file restores (zero-out unrecoverable data)" option
45
+ # This field is available in Comet 23.6.4 and later.
46
+ # @type [Boolean] skip_unreadable_chunks
47
+ attr_accessor :skip_unreadable_chunks
48
+
49
+ # Corresponds to the "Prefer temporary files instead of RAM (slower)" option
50
+ # This field is available in Comet 23.6.4 and later.
51
+ # @type [Boolean] on_disk_indexes_key
52
+ attr_accessor :on_disk_indexes_key
53
+
43
54
  # For RESTORETYPE_OFFICE365_CLOUD.
44
55
  # @type [Comet::Office365Credential] office_365credential
45
56
  attr_accessor :office_365credential
@@ -150,6 +161,10 @@ module Comet
150
161
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
151
162
 
152
163
  @archive_format = v
164
+ when 'SkipUnreadableChunks'
165
+ @skip_unreadable_chunks = v
166
+ when 'OnDiskIndexesKey'
167
+ @on_disk_indexes_key = v
153
168
  when 'Office365Credential'
154
169
  @office_365credential = Comet::Office365Credential.new
155
170
  @office_365credential.from_hash(v)
@@ -204,6 +219,8 @@ module Comet
204
219
  ret['DestPath'] = @dest_path
205
220
  ret['ExactDestPaths'] = @exact_dest_paths
206
221
  ret['ArchiveFormat'] = @archive_format
222
+ ret['SkipUnreadableChunks'] = @skip_unreadable_chunks
223
+ ret['OnDiskIndexesKey'] = @on_disk_indexes_key
207
224
  unless @office_365credential.nil?
208
225
  ret['Office365Credential'] = @office_365credential
209
226
  end
@@ -10,11 +10,15 @@ require 'json'
10
10
  module Comet
11
11
 
12
12
  # RetentionRange is a typed class wrapper around the underlying Comet Server API data structure.
13
+ # The Type field controls which fields of this data type are used. For additional information, see
14
+ # the notes on the RETENTIONRANGE_ constants.
13
15
  class RetentionRange
14
16
 
17
+ # One of the RETENTIONRANGE_ constants
15
18
  # @type [Number] type
16
19
  attr_accessor :type
17
20
 
21
+ # Unix timestamp, in seconds. Used by RETENTIONRANGE_NEWER_THAN_X.
18
22
  # @type [Number] timestamp
19
23
  attr_accessor :timestamp
20
24
 
@@ -34,6 +38,10 @@ module Comet
34
38
  # @type [Number] week_offset
35
39
  attr_accessor :week_offset
36
40
 
41
+ # 1: 1st, 31: 31st
42
+ # Prior to Comet version 23.6.2, 31 was treated as 30.
43
+ # For months that do not have a day equal to the specified offset, no backup will be retained.
44
+ # For example, if the offset is set to 30, no backup will be kept for February.
37
45
  # @type [Number] month_offset
38
46
  attr_accessor :month_offset
39
47
 
@@ -12,18 +12,34 @@ module Comet
12
12
  # SearchClause is a typed class wrapper around the underlying Comet Server API data structure.
13
13
  class SearchClause
14
14
 
15
+ # One of the SEARCHCLAUSE_ constants (e.g. empty-string if this is a rule, or "and"/"or" if there
16
+ # are ClauseChildren)
15
17
  # @type [String] clause_type
16
18
  attr_accessor :clause_type
17
19
 
20
+ # The field name to search. Check the specific API for more information about which fields are
21
+ # available for searching. For use with ClauseType = SEARCHCLAUSE_RULE.
18
22
  # @type [String] rule_field
19
23
  attr_accessor :rule_field
20
24
 
25
+ # One of the SEARCHOPERATOR_ constants. The operator must match the type of the particular field.
26
+ # For use with ClauseType = SEARCHCLAUSE_RULE.
21
27
  # @type [String] rule_operator
22
28
  attr_accessor :rule_operator
23
29
 
30
+ # The value to compare the field against.
31
+ # - If the field is a string, any string is permissable.
32
+ # - If the field is an integer, the integer should be cast to a base-10 string. There is currently
33
+ # no support for fractional or floating-point numbers.
34
+ # - If the field is a boolean, the following values can be used for true ("1", "t", "T", "true",
35
+ # "TRUE", "True") and the following values can be used for false ("0", "f", "F", "false", "FALSE",
36
+ # "False").
37
+ # For use with ClauseType = SEARCHCLAUSE_RULE.
24
38
  # @type [String] rule_value
25
39
  attr_accessor :rule_value
26
40
 
41
+ # If ClauseType is not SEARCHCLAUSE_RULE, the child rules will be applied according to the
42
+ # ClauseType (e.g. "and"/"or")
27
43
  # @type [Array<Comet::SearchClause>] clause_children
28
44
  attr_accessor :clause_children
29
45
 
@@ -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
@@ -18,12 +18,16 @@ module Comet
18
18
  # @type [String] encryption_key
19
19
  attr_accessor :encryption_key
20
20
 
21
+ # One of the ENCRYPTIONMETHOD_ constants
21
22
  # @type [Number] encryption_key_format
22
23
  attr_accessor :encryption_key_format
23
24
 
25
+ # One of the COMPRESS_LVL_ constants
24
26
  # @type [Number] compression
25
27
  attr_accessor :compression
26
28
 
29
+ # The jobs database is often the largest component of the Server Self-Backup archive. By excluding
30
+ # it, you could run the Server Self-Backup more often.
27
31
  # @type [Boolean] exclude_jobs_db
28
32
  attr_accessor :exclude_jobs_db
29
33
 
@@ -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
 
@@ -27,12 +28,16 @@ module Comet
27
28
  # @type [String] encryption_key
28
29
  attr_accessor :encryption_key
29
30
 
31
+ # One of the ENCRYPTIONMETHOD_ constants
30
32
  # @type [Number] encryption_key_format
31
33
  attr_accessor :encryption_key_format
32
34
 
35
+ # One of the COMPRESS_LVL_ constants
33
36
  # @type [Number] compression
34
37
  attr_accessor :compression
35
38
 
39
+ # The jobs database is often the largest component of the Server Self-Backup archive. By excluding
40
+ # it, you could run the Server Self-Backup more often.
36
41
  # @type [Boolean] exclude_jobs_db
37
42
  attr_accessor :exclude_jobs_db
38
43
 
@@ -35,30 +35,36 @@ 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
 
41
42
  # @type [Hash{String => Comet::ExternalAuthenticationSource}] external_admin_user_sources
42
43
  attr_accessor :external_admin_user_sources
43
44
 
45
+ # The Comet Server can enforce a bandwidth limit based on the target IP address
44
46
  # @type [Comet::RatelimitOptions] iprate_limit
45
47
  attr_accessor :iprate_limit
46
48
 
47
49
  # @type [Comet::LicenseOptions] license
48
50
  attr_accessor :license
49
51
 
52
+ # Configure ip, port, and SSL settings for this self-hosted Comet Server.
50
53
  # @type [Array<Comet::HTTPConnectorOptions>] listen_addresses
51
54
  attr_accessor :listen_addresses
52
55
 
56
+ # Tenants
53
57
  # @type [Hash{String => Comet::Organization}] organizations
54
58
  attr_accessor :organizations
55
59
 
56
60
  # @type [Array<Comet::PSAConfig>] psaconfigs
57
61
  attr_accessor :psaconfigs
58
62
 
63
+ # Automatically create backup zip files of this Comet Server's configuration
59
64
  # @type [Comet::SelfBackupOptions] self_backup
60
65
  attr_accessor :self_backup
61
66
 
67
+ # Control how long admin accounts can remain logged in to the Comet Server web interface
62
68
  # @type [Comet::SessionOptions] session_settings
63
69
  attr_accessor :session_settings
64
70
 
@@ -68,12 +74,18 @@ module Comet
68
74
  # @type [Comet::StorageRoleOptions] storage_role
69
75
  attr_accessor :storage_role
70
76
 
77
+ # If true, the X-Forwarded-For header will be trusted for the purposes of IP allowlisting. This
78
+ # should only be enabled when you explicitly configure Comet Server behind a reverse proxy,
79
+ # otherwise it could allow malicious users to bypass the IP allowlist.
71
80
  # @type [Boolean] trust_xforwarded_for
72
81
  attr_accessor :trust_xforwarded_for
73
82
 
74
83
  # @type [Hash{String => Comet::WebhookOption}] webhook_options
75
84
  attr_accessor :webhook_options
76
85
 
86
+ # @type [Hash{String => Comet::FileOption}] audit_file_options
87
+ attr_accessor :audit_file_options
88
+
77
89
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
78
90
  attr_accessor :unknown_json_fields
79
91
 
@@ -100,6 +112,7 @@ module Comet
100
112
  @software_build_role = Comet::SoftwareBuildRoleOptions.new
101
113
  @storage_role = Comet::StorageRoleOptions.new
102
114
  @webhook_options = {}
115
+ @audit_file_options = {}
103
116
  @unknown_json_fields = {}
104
117
  end
105
118
 
@@ -222,6 +235,16 @@ module Comet
222
235
  @webhook_options[k1].from_hash(v1)
223
236
  end
224
237
  end
238
+ when 'AuditFileOptions'
239
+ @audit_file_options = {}
240
+ if v.nil?
241
+ @audit_file_options = {}
242
+ else
243
+ v.each do |k1, v1|
244
+ @audit_file_options[k1] = Comet::FileOption.new
245
+ @audit_file_options[k1].from_hash(v1)
246
+ end
247
+ end
225
248
  else
226
249
  @unknown_json_fields[k] = v
227
250
  end
@@ -254,6 +277,7 @@ module Comet
254
277
  ret['StorageRole'] = @storage_role
255
278
  ret['TrustXForwardedFor'] = @trust_xforwarded_for
256
279
  ret['WebhookOptions'] = @webhook_options
280
+ ret['AuditFileOptions'] = @audit_file_options
257
281
  @unknown_json_fields.each do |k, v|
258
282
  ret[k] = v
259
283
  end
@@ -28,9 +28,11 @@ module Comet
28
28
  # @type [String] image_etag
29
29
  attr_accessor :image_etag
30
30
 
31
+ # Colour in RGB hex format (e.g. "#FFFFFF")
31
32
  # @type [String] top_color
32
33
  attr_accessor :top_color
33
34
 
35
+ # Colour in RGB hex format (e.g. "#FFFFFF")
34
36
  # @type [String] accent_color
35
37
  attr_accessor :accent_color
36
38
 
@@ -62,6 +62,7 @@ module Comet
62
62
  # @type [Number] server_license_feature_set
63
63
  attr_accessor :server_license_feature_set
64
64
 
65
+ # Unix timestamp, in seconds.
65
66
  # @type [Number] license_valid_until
66
67
  attr_accessor :license_valid_until
67
68
 
@@ -89,6 +90,7 @@ module Comet
89
90
  # @type [Boolean] scheduled_email_thread_last_wake_sent_emails
90
91
  attr_accessor :scheduled_email_thread_last_wake_sent_emails
91
92
 
93
+ # This field is available in Comet 21.3.2 and later.
92
94
  # @type [Array<Comet::SelfBackupStatistics>] self_backup
93
95
  attr_accessor :self_backup
94
96
 
@@ -22,6 +22,8 @@ module Comet
22
22
  # @type [String] session_key
23
23
  attr_accessor :session_key
24
24
 
25
+ # e.g. "admin" or "user"
26
+ # This field is available in Comet 18.12.3 and later.
25
27
  # @type [String] session_type
26
28
  attr_accessor :session_type
27
29
 
@@ -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
 
@@ -15,6 +15,7 @@ module Comet
15
15
  # @type [String] field_name
16
16
  attr_accessor :field_name
17
17
 
18
+ # One of "bool" / "int" / "string"
18
19
  # @type [String] field_type
19
20
  attr_accessor :field_type
20
21
 
@@ -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
 
@@ -12,15 +12,19 @@ module Comet
12
12
  # SoftwareUpdateNewsResponse is a typed class wrapper around the underlying Comet Server API data structure.
13
13
  class SoftwareUpdateNewsResponse
14
14
 
15
+ # The latest "Quarterly" release version of Comet known to the account.cometbackup.com system.
15
16
  # @type [String] latest_stable
16
17
  attr_accessor :latest_stable
17
18
 
19
+ # The latest "Voyager" release version of Comet known to the account.cometbackup.com system.
18
20
  # @type [String] latest_prerelease
19
21
  attr_accessor :latest_prerelease
20
22
 
23
+ # A URL linking to the Comet Server downloads page.
21
24
  # @type [String] downloads_url
22
25
  attr_accessor :downloads_url
23
26
 
27
+ # An array of recent news items written by Comet Backup staff. Entries are english plaintext.
24
28
  # @type [Array<String>] whats_new
25
29
  attr_accessor :whats_new
26
30
 
@@ -10,6 +10,8 @@ require 'json'
10
10
  module Comet
11
11
 
12
12
  # SourceBasicInfo is a typed class wrapper around the underlying Comet Server API data structure.
13
+ # SourceBasicInfo is the minimal amount of information one device knows about another device's
14
+ # Protected Items, in order to safely perform retention passes on their behalf.
13
15
  class SourceBasicInfo
14
16
 
15
17
  # @type [String] description
@@ -18,6 +20,7 @@ module Comet
18
20
  # @type [Number] o365account_count
19
21
  attr_accessor :o365account_count
20
22
 
23
+ # Bytes
21
24
  # @type [Number] size
22
25
  attr_accessor :size
23
26