comet_backup_ruby_sdk 2.8.0 → 2.10.0

Sign up to get free protection for your applications and to get access to all the features.
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