comet_backup_ruby_sdk 2.41.0 → 2.43.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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/Gemfile.lock +1 -1
  4. data/comet_backup_ruby_sdk.gemspec +1 -1
  5. data/lib/comet/comet_server.rb +253 -12
  6. data/lib/comet/definitions.rb +51 -7
  7. data/lib/comet/models/backup_job_advanced_options.rb +10 -0
  8. data/lib/comet/models/backup_job_detail.rb +12 -0
  9. data/lib/comet/models/backup_rule_config.rb +10 -0
  10. data/lib/comet/models/branding_options.rb +30 -0
  11. data/lib/comet/models/branding_properties.rb +30 -0
  12. data/lib/comet/models/browse_proxmox_nodes_response.rb +99 -0
  13. data/lib/comet/models/browse_proxmox_response.rb +98 -0
  14. data/lib/comet/models/browse_proxmox_storage_response.rb +98 -0
  15. data/lib/comet/models/dispatch_with_job_idresponse.rb +94 -0
  16. data/lib/comet/models/external_authentication_source.rb +3 -3
  17. data/lib/comet/models/office_365custom_setting_v2.rb +16 -5
  18. data/lib/comet/models/partition.rb +20 -0
  19. data/lib/comet/models/private_branding_properties.rb +30 -0
  20. data/lib/comet/models/protected_item_with_backup_rules_response.rb +119 -0
  21. data/lib/comet/models/proxmox_connection.rb +72 -0
  22. data/lib/comet/models/proxmox_restore_target_options.rb +92 -0
  23. data/lib/comet/models/pvebackup_disk.rb +92 -0
  24. data/lib/comet/models/pvebackup_node.rb +105 -0
  25. data/lib/comet/models/pvebackup_vm.rb +128 -0
  26. data/lib/comet/models/pvedisk.rb +138 -0
  27. data/lib/comet/models/pveparams.rb +140 -0
  28. data/lib/comet/models/pvestorage_name.rb +83 -0
  29. data/lib/comet/models/pvevm.rb +150 -0
  30. data/lib/comet/models/registration_lobby_connection.rb +11 -0
  31. data/lib/comet/models/remote_server_address.rb +3 -3
  32. data/lib/comet/models/remote_storage_option.rb +3 -3
  33. data/lib/comet/models/replica_server.rb +3 -3
  34. data/lib/comet/models/request_storage_vault_response_message.rb +17 -0
  35. data/lib/comet/models/restore_job_advanced_options.rb +11 -0
  36. data/lib/comet/models/retention_range.rb +18 -0
  37. data/lib/comet/models/schedule_config.rb +18 -0
  38. data/lib/comet/models/self_backup_export_options.rb +2 -2
  39. data/lib/comet/models/self_backup_target.rb +2 -2
  40. data/lib/comet/models/source_config.rb +7 -0
  41. data/lib/comet/models/user_policy.rb +11 -0
  42. data/lib/comet/models/user_profile_config.rb +8 -0
  43. data/lib/comet/models/vault_snapshot.rb +19 -0
  44. data/lib/comet/models/windows_code_sign_properties.rb +30 -0
  45. data/lib/comet_backup_ruby_sdk.rb +14 -1
  46. metadata +16 -2
@@ -34,6 +34,9 @@ module Comet
34
34
  # @type [Number] months
35
35
  attr_accessor :months
36
36
 
37
+ # @type [Number] years
38
+ attr_accessor :years
39
+
37
40
  # 0: Sunday, 6: Saturday
38
41
  # @type [Number] week_offset
39
42
  attr_accessor :week_offset
@@ -45,6 +48,9 @@ module Comet
45
48
  # @type [Number] month_offset
46
49
  attr_accessor :month_offset
47
50
 
51
+ # @type [Number] year_offset
52
+ attr_accessor :year_offset
53
+
48
54
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
49
55
  attr_accessor :unknown_json_fields
50
56
 
@@ -59,8 +65,10 @@ module Comet
59
65
  @days = 0
60
66
  @weeks = 0
61
67
  @months = 0
68
+ @years = 0
62
69
  @week_offset = 0
63
70
  @month_offset = 0
71
+ @year_offset = 0
64
72
  @unknown_json_fields = {}
65
73
  end
66
74
 
@@ -101,6 +109,10 @@ module Comet
101
109
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
102
110
 
103
111
  @months = v
112
+ when 'Years'
113
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
114
+
115
+ @years = v
104
116
  when 'WeekOffset'
105
117
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
106
118
 
@@ -109,6 +121,10 @@ module Comet
109
121
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
110
122
 
111
123
  @month_offset = v
124
+ when 'YearOffset'
125
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
126
+
127
+ @year_offset = v
112
128
  else
113
129
  @unknown_json_fields[k] = v
114
130
  end
@@ -124,8 +140,10 @@ module Comet
124
140
  ret['Days'] = @days
125
141
  ret['Weeks'] = @weeks
126
142
  ret['Months'] = @months
143
+ ret['Years'] = @years
127
144
  ret['WeekOffset'] = @week_offset
128
145
  ret['MonthOffset'] = @month_offset
146
+ ret['YearOffset'] = @year_offset
129
147
  @unknown_json_fields.each do |k, v|
130
148
  ret[k] = v
131
149
  end
@@ -39,6 +39,12 @@ module Comet
39
39
  # @type [Number] random_delay_secs
40
40
  attr_accessor :random_delay_secs
41
41
 
42
+ # @type [Number] selected_month
43
+ attr_accessor :selected_month
44
+
45
+ # @type [Number] selected_day
46
+ attr_accessor :selected_day
47
+
42
48
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
43
49
  attr_accessor :unknown_json_fields
44
50
 
@@ -54,6 +60,8 @@ module Comet
54
60
  @to_time = Comet::HourSchedConfig.new
55
61
  @days_select = Comet::DaysOfWeekConfig.new
56
62
  @random_delay_secs = 0
63
+ @selected_month = 0
64
+ @selected_day = 0
57
65
  @unknown_json_fields = {}
58
66
  end
59
67
 
@@ -99,6 +107,14 @@ module Comet
99
107
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
100
108
 
101
109
  @random_delay_secs = v
110
+ when 'SelectedMonth'
111
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
112
+
113
+ @selected_month = v
114
+ when 'SelectedDay'
115
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
116
+
117
+ @selected_day = v
102
118
  else
103
119
  @unknown_json_fields[k] = v
104
120
  end
@@ -121,6 +137,8 @@ module Comet
121
137
  unless @random_delay_secs.nil?
122
138
  ret['RandomDelaySecs'] = @random_delay_secs
123
139
  end
140
+ ret['SelectedMonth'] = @selected_month
141
+ ret['SelectedDay'] = @selected_day
124
142
  @unknown_json_fields.each do |k, v|
125
143
  ret[k] = v
126
144
  end
@@ -26,8 +26,8 @@ module Comet
26
26
  # @type [Number] compression
27
27
  attr_accessor :compression
28
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.
29
+ # The jobs database is often the largest component of the System Self-Backup archive. By excluding
30
+ # it, you could run the System Self-Backup more often.
31
31
  # @type [Boolean] exclude_jobs_db
32
32
  attr_accessor :exclude_jobs_db
33
33
 
@@ -36,8 +36,8 @@ module Comet
36
36
  # @type [Number] compression
37
37
  attr_accessor :compression
38
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.
39
+ # The jobs database is often the largest component of the System Self-Backup archive. By excluding
40
+ # it, you could run the System Self-Backup more often.
41
41
  # @type [Boolean] exclude_jobs_db
42
42
  attr_accessor :exclude_jobs_db
43
43
 
@@ -88,6 +88,13 @@ module Comet
88
88
  # - LOGNOTRUNC: If present, take a "Log (no truncation)" backup job. Otherwise, take a "Full (copy
89
89
  # only)" backup job.
90
90
  #
91
+ # For engine1/stdout, Comet understands the following EngineProp keys:
92
+ #
93
+ # - COMMAND: The command to run
94
+ # - WORKDIR: The working directory for the command
95
+ # - SAVEAS: The virtual filename inside the backup snapshot
96
+ # - Any key starting with EXTRACOMMAND- : Additional commands to run. Each value should be a JSON
97
+ # array of 3 strings, equivalent to the COMMAND, WORKDIR, SAVEAS values.
91
98
  # @type [Hash{String => String}] engine_props
92
99
  attr_accessor :engine_props
93
100
 
@@ -129,6 +129,11 @@ module Comet
129
129
  # @type [Number] random_delay_secs
130
130
  attr_accessor :random_delay_secs
131
131
 
132
+ # Rotate access keys of a conflicting jobs Storage Vault, if no update from the conflicting job for
133
+ # X hours. If value is 0, ROTATE_STORAGE_VAULT_KEYS_DEFAULT is used.
134
+ # @type [Number] rotate_storage_vault_keys_hours
135
+ attr_accessor :rotate_storage_vault_keys_hours
136
+
132
137
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
133
138
  attr_accessor :unknown_json_fields
134
139
 
@@ -155,6 +160,7 @@ module Comet
155
160
  @default_sources_with_osrestriction = {}
156
161
  @default_backup_rules = {}
157
162
  @random_delay_secs = 0
163
+ @rotate_storage_vault_keys_hours = 0
158
164
  @unknown_json_fields = {}
159
165
  end
160
166
 
@@ -311,6 +317,10 @@ module Comet
311
317
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
312
318
 
313
319
  @random_delay_secs = v
320
+ when 'RotateStorageVaultKeysHours'
321
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
322
+
323
+ @rotate_storage_vault_keys_hours = v
314
324
  else
315
325
  @unknown_json_fields[k] = v
316
326
  end
@@ -377,6 +387,7 @@ module Comet
377
387
  unless @random_delay_secs.nil?
378
388
  ret['RandomDelaySecs'] = @random_delay_secs
379
389
  end
390
+ ret['RotateStorageVaultKeysHours'] = @rotate_storage_vault_keys_hours
380
391
  @unknown_json_fields.each do |k, v|
381
392
  ret[k] = v
382
393
  end
@@ -181,6 +181,11 @@ module Comet
181
181
  # @type [String] auto_storage_template_guid
182
182
  attr_accessor :auto_storage_template_guid
183
183
 
184
+ # If enabled, Linux devices in this user account will sandbox all read/write operations to paths
185
+ # inside user home directories
186
+ # @type [Boolean] linux_homedir_sandbox
187
+ attr_accessor :linux_homedir_sandbox
188
+
184
189
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
185
190
  attr_accessor :unknown_json_fields
186
191
 
@@ -399,6 +404,8 @@ module Comet
399
404
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
400
405
 
401
406
  @auto_storage_template_guid = v
407
+ when 'LinuxHomedirSandbox'
408
+ @linux_homedir_sandbox = v
402
409
  else
403
410
  @unknown_json_fields[k] = v
404
411
  end
@@ -452,6 +459,7 @@ module Comet
452
459
  ret['ServerConfig'] = @server_config
453
460
  end
454
461
  ret['AutoStorageTemplateGUID'] = @auto_storage_template_guid
462
+ ret['LinuxHomedirSandbox'] = @linux_homedir_sandbox
455
463
  @unknown_json_fields.each do |k, v|
456
464
  ret[k] = v
457
465
  end
@@ -29,6 +29,10 @@ module Comet
29
29
  # @type [Boolean] has_original_path_info
30
30
  attr_accessor :has_original_path_info
31
31
 
32
+ # This field is available in Comet 25.9.4 and later.
33
+ # @type [Array<String>] tags
34
+ attr_accessor :tags
35
+
32
36
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
33
37
  attr_accessor :unknown_json_fields
34
38
 
@@ -41,6 +45,7 @@ module Comet
41
45
  @engine_type = ''
42
46
  @source = ''
43
47
  @create_time = 0
48
+ @tags = []
44
49
  @unknown_json_fields = {}
45
50
  end
46
51
 
@@ -75,6 +80,17 @@ module Comet
75
80
  @create_time = v
76
81
  when 'HasOriginalPathInfo'
77
82
  @has_original_path_info = v
83
+ when 'Tags'
84
+ if v.nil?
85
+ @tags = []
86
+ else
87
+ @tags = Array.new(v.length)
88
+ v.each_with_index do |v1, i1|
89
+ raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
90
+
91
+ @tags[i1] = v1
92
+ end
93
+ end
78
94
  else
79
95
  @unknown_json_fields[k] = v
80
96
  end
@@ -89,6 +105,9 @@ module Comet
89
105
  ret['Source'] = @source
90
106
  ret['CreateTime'] = @create_time
91
107
  ret['HasOriginalPathInfo'] = @has_original_path_info
108
+ unless @tags.nil?
109
+ ret['Tags'] = @tags
110
+ end
92
111
  @unknown_json_fields.each do |k, v|
93
112
  ret[k] = v
94
113
  end
@@ -65,6 +65,18 @@ module Comet
65
65
  # @type [String] windows_code_sign_azure_tenant_id
66
66
  attr_accessor :windows_code_sign_azure_tenant_id
67
67
 
68
+ # URL of the SAS Relic server, with protocol (https://) and trailing slash
69
+ # @type [String] windows_code_sign_relic_server_url
70
+ attr_accessor :windows_code_sign_relic_server_url
71
+
72
+ # The SAS Relic client keypair in PEM format
73
+ # @type [String] windows_code_sign_relic_keypair_file
74
+ attr_accessor :windows_code_sign_relic_keypair_file
75
+
76
+ # The name of the key to select on the remote SAS Relic server
77
+ # @type [String] windows_code_sign_relic_key_name
78
+ attr_accessor :windows_code_sign_relic_key_name
79
+
68
80
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
69
81
  attr_accessor :unknown_json_fields
70
82
 
@@ -89,6 +101,9 @@ module Comet
89
101
  @windows_code_sign_azure_app_secret_format = 0
90
102
  @windows_code_sign_azure_app_secret = ''
91
103
  @windows_code_sign_azure_tenant_id = ''
104
+ @windows_code_sign_relic_server_url = ''
105
+ @windows_code_sign_relic_keypair_file = ''
106
+ @windows_code_sign_relic_key_name = ''
92
107
  @unknown_json_fields = {}
93
108
  end
94
109
 
@@ -169,6 +184,18 @@ module Comet
169
184
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
170
185
 
171
186
  @windows_code_sign_azure_tenant_id = v
187
+ when 'WindowsCodeSignRelicServerURL'
188
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
189
+
190
+ @windows_code_sign_relic_server_url = v
191
+ when 'WindowsCodeSignRelicKeypairFile'
192
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
193
+
194
+ @windows_code_sign_relic_keypair_file = v
195
+ when 'WindowsCodeSignRelicKeyName'
196
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
197
+
198
+ @windows_code_sign_relic_key_name = v
172
199
  else
173
200
  @unknown_json_fields[k] = v
174
201
  end
@@ -194,6 +221,9 @@ module Comet
194
221
  ret['WindowsCodeSignAzureAppSecretFormat'] = @windows_code_sign_azure_app_secret_format
195
222
  ret['WindowsCodeSignAzureAppSecret'] = @windows_code_sign_azure_app_secret
196
223
  ret['WindowsCodeSignAzureTenantID'] = @windows_code_sign_azure_tenant_id
224
+ ret['WindowsCodeSignRelicServerURL'] = @windows_code_sign_relic_server_url
225
+ ret['WindowsCodeSignRelicKeypairFile'] = @windows_code_sign_relic_keypair_file
226
+ ret['WindowsCodeSignRelicKeyName'] = @windows_code_sign_relic_key_name
197
227
  @unknown_json_fields.each do |k, v|
198
228
  ret[k] = v
199
229
  end
@@ -38,6 +38,9 @@ require_relative 'comet/models/browse_edbresponse'
38
38
  require_relative 'comet/models/browse_hvresponse'
39
39
  require_relative 'comet/models/browse_office_365list_virtual_accounts_response'
40
40
  require_relative 'comet/models/browse_office_365objects_response'
41
+ require_relative 'comet/models/browse_proxmox_nodes_response'
42
+ require_relative 'comet/models/browse_proxmox_response'
43
+ require_relative 'comet/models/browse_proxmox_storage_response'
41
44
  require_relative 'comet/models/browse_sqlserver_response'
42
45
  require_relative 'comet/models/browse_vmware_datacenters_response'
43
46
  require_relative 'comet/models/browse_vmware_datastores_response'
@@ -59,7 +62,6 @@ require_relative 'comet/models/count_jobs_response'
59
62
  require_relative 'comet/models/create_group_policy_response'
60
63
  require_relative 'comet/models/create_user_group_response'
61
64
  require_relative 'comet/models/custom_remote_bucket_settings'
62
- require_relative 'comet/models/custom_remote_bucket_settings'
63
65
  require_relative 'comet/models/days_of_week_config'
64
66
  require_relative 'comet/models/default_email_report_policy'
65
67
  require_relative 'comet/models/default_source_with_osrestriction'
@@ -68,6 +70,7 @@ require_relative 'comet/models/destination_location'
68
70
  require_relative 'comet/models/destination_statistics'
69
71
  require_relative 'comet/models/device_config'
70
72
  require_relative 'comet/models/disk_drive'
73
+ require_relative 'comet/models/dispatch_with_job_idresponse'
71
74
  require_relative 'comet/models/dispatcher_admin_sources_response'
72
75
  require_relative 'comet/models/dispatcher_list_snapshot_virtual_machines_response'
73
76
  require_relative 'comet/models/dispatcher_stored_objects_response'
@@ -134,9 +137,19 @@ require_relative 'comet/models/partition_conflict'
134
137
  require_relative 'comet/models/policy_options'
135
138
  require_relative 'comet/models/private_branding_properties'
136
139
  require_relative 'comet/models/protected_item_engine_type_policy'
140
+ require_relative 'comet/models/protected_item_with_backup_rules_response'
141
+ require_relative 'comet/models/proxmox_connection'
142
+ require_relative 'comet/models/proxmox_restore_target_options'
137
143
  require_relative 'comet/models/psaconfig'
138
144
  require_relative 'comet/models/psagrouped_by'
139
145
  require_relative 'comet/models/public_branding_properties'
146
+ require_relative 'comet/models/pvebackup_disk'
147
+ require_relative 'comet/models/pvebackup_node'
148
+ require_relative 'comet/models/pvebackup_vm'
149
+ require_relative 'comet/models/pvedisk'
150
+ require_relative 'comet/models/pveparams'
151
+ require_relative 'comet/models/pvestorage_name'
152
+ require_relative 'comet/models/pvevm'
140
153
  require_relative 'comet/models/ratelimit_options'
141
154
  require_relative 'comet/models/ratelimit_rule'
142
155
  require_relative 'comet/models/register_office_application_begin_response'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comet_backup_ruby_sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.41.0
4
+ version: 2.43.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Comet Licensing Ltd.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-02-17 00:00:00.000000000 Z
11
+ date: 2025-11-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -116,6 +116,9 @@ files:
116
116
  - lib/comet/models/browse_hvresponse.rb
117
117
  - lib/comet/models/browse_office_365list_virtual_accounts_response.rb
118
118
  - lib/comet/models/browse_office_365objects_response.rb
119
+ - lib/comet/models/browse_proxmox_nodes_response.rb
120
+ - lib/comet/models/browse_proxmox_response.rb
121
+ - lib/comet/models/browse_proxmox_storage_response.rb
119
122
  - lib/comet/models/browse_sqlserver_response.rb
120
123
  - lib/comet/models/browse_vmware_datacenters_response.rb
121
124
  - lib/comet/models/browse_vmware_datastores_response.rb
@@ -145,6 +148,7 @@ files:
145
148
  - lib/comet/models/destination_statistics.rb
146
149
  - lib/comet/models/device_config.rb
147
150
  - lib/comet/models/disk_drive.rb
151
+ - lib/comet/models/dispatch_with_job_idresponse.rb
148
152
  - lib/comet/models/dispatcher_admin_sources_response.rb
149
153
  - lib/comet/models/dispatcher_list_snapshot_virtual_machines_response.rb
150
154
  - lib/comet/models/dispatcher_stored_objects_response.rb
@@ -211,9 +215,19 @@ files:
211
215
  - lib/comet/models/policy_options.rb
212
216
  - lib/comet/models/private_branding_properties.rb
213
217
  - lib/comet/models/protected_item_engine_type_policy.rb
218
+ - lib/comet/models/protected_item_with_backup_rules_response.rb
219
+ - lib/comet/models/proxmox_connection.rb
220
+ - lib/comet/models/proxmox_restore_target_options.rb
214
221
  - lib/comet/models/psaconfig.rb
215
222
  - lib/comet/models/psagrouped_by.rb
216
223
  - lib/comet/models/public_branding_properties.rb
224
+ - lib/comet/models/pvebackup_disk.rb
225
+ - lib/comet/models/pvebackup_node.rb
226
+ - lib/comet/models/pvebackup_vm.rb
227
+ - lib/comet/models/pvedisk.rb
228
+ - lib/comet/models/pveparams.rb
229
+ - lib/comet/models/pvestorage_name.rb
230
+ - lib/comet/models/pvevm.rb
217
231
  - lib/comet/models/ratelimit_options.rb
218
232
  - lib/comet/models/ratelimit_rule.rb
219
233
  - lib/comet/models/register_office_application_begin_response.rb