comet_backup_ruby_sdk 2.42.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b1ce12d259b4709b8f945a3ab03c5aaa3affa2bf686d8db13a579efa734352ca
4
- data.tar.gz: dccfbf9c48da859196a0ea45fd546e48869c696860b19b9e0e17275a9ad00ff1
3
+ metadata.gz: 223786459d14daf5ee8f6051b12e17a3421953090d8ef85ead703a849a40556a
4
+ data.tar.gz: 7946efba6f9689c679d407ef8188bd491aa73d91bfe73a074a518ef2b9b8232a
5
5
  SHA512:
6
- metadata.gz: ca9afca76f9b80e1f66e22c05bacd2615be2f644f8b3d6db2caf5eb8f25736bb2e4afa73648dd6eaae0985ec2a92626edbba4a523edc43a410733ae7c2ab7f17
7
- data.tar.gz: 9e6c3ce78d176e8c37966a00e2a33e835da5ed4e32295223d8e4fb9a07530d4a593288732b2a2c714690948ea3a3c4d5f7bf13455abce00ed2f791766e0cd825
6
+ metadata.gz: 789be6fbbbf77f288c81b44cbdcf1ce99e8b743dfe83b82a778c4cce3467905f791b69f093379a12d05bafd2fbc9377e91519e3700f6b9d2b4de07e5b50272af
7
+ data.tar.gz: f6b7ab99a8c0544afdab435e3c8f5e77d671b3d8a3a7492fe8e87b38ae350bbebffab5e09977151dd7dd34bd2519922c3a1f65343bf05ff9a9cb9a99e6728621
data/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 2025-11-14 v2.43.0
4
+
5
+ - Based on Comet 25.9.6
6
+ - Add new API methods for getting, setting, and deleting Protected Items and
7
+ their associated schedules
8
+ - Add new API methods for live connection credential/session management
9
+ - Add JobID field to API response when starting jobs via the dispatcher on
10
+ devices running Comet 25.9.6 or newer
11
+ - Add support for custom tags on backup jobs to allow grouping of
12
+ snapshots/jobs
13
+ - Add support SAS Relic codesigning
14
+ - Improve documentation for Proxmox API types
15
+
3
16
  ## 2025-08-15 v2.42.0
4
17
 
5
18
  - Based on Comet 25.6.8
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- comet_backup_ruby_sdk (2.42.0)
4
+ comet_backup_ruby_sdk (2.43.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -12,7 +12,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
12
12
 
13
13
  Gem::Specification.new do |spec|
14
14
  spec.name = 'comet_backup_ruby_sdk'
15
- spec.version = '2.42.0'
15
+ spec.version = '2.43.0'
16
16
  spec.authors = ['Comet Licensing Ltd.']
17
17
  spec.email = ['hello@cometbackup.com']
18
18
 
@@ -1059,6 +1059,33 @@ module Comet
1059
1059
  ret
1060
1060
  end
1061
1061
 
1062
+ # AdminDeleteProtectedItem
1063
+ #
1064
+ # Delete a Protected Item.
1065
+ #
1066
+ # You must supply administrator authentication credentials to use this API.
1067
+ # This API requires the Auth Role to be enabled.
1068
+ #
1069
+ # @param [String] target_user Selected account username
1070
+ # @param [String] source_id Selected Protected Item GUID
1071
+ # @return [Comet::CometAPIResponseMessage]
1072
+ def admin_delete_protected_item(target_user, source_id)
1073
+ submit_params = {}
1074
+ raise TypeError, "'target_user' expected String, got #{target_user.class}" unless target_user.is_a? String
1075
+
1076
+ submit_params['TargetUser'] = target_user
1077
+ raise TypeError, "'source_id' expected String, got #{source_id.class}" unless source_id.is_a? String
1078
+
1079
+ submit_params['SourceID'] = source_id
1080
+
1081
+ body = perform_request('api/v1/admin/delete-protected-item', submit_params)
1082
+ json_body = JSON.parse body
1083
+ check_status json_body
1084
+ ret = Comet::CometAPIResponseMessage.new
1085
+ ret.from_hash(json_body)
1086
+ ret
1087
+ end
1088
+
1062
1089
  # AdminDeleteUser
1063
1090
  #
1064
1091
  # Delete user account.
@@ -1325,6 +1352,30 @@ module Comet
1325
1352
  ret
1326
1353
  end
1327
1354
 
1355
+ # AdminDispatcherForceLogin
1356
+ #
1357
+ # Instruct a live connected device to re-enter login credentials.
1358
+ # The device will terminate its live-connection process and will not reconnect.
1359
+ #
1360
+ # You must supply administrator authentication credentials to use this API.
1361
+ # This API requires the Auth Role to be enabled.
1362
+ #
1363
+ # @param [String] target_id The live connection GUID
1364
+ # @return [Comet::CometAPIResponseMessage]
1365
+ def admin_dispatcher_force_login(target_id)
1366
+ submit_params = {}
1367
+ raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
1368
+
1369
+ submit_params['TargetID'] = target_id
1370
+
1371
+ body = perform_request('api/v1/admin/dispatcher/force-login', submit_params)
1372
+ json_body = JSON.parse body
1373
+ check_status json_body
1374
+ ret = Comet::CometAPIResponseMessage.new
1375
+ ret.from_hash(json_body)
1376
+ ret
1377
+ end
1378
+
1328
1379
  # AdminDispatcherGetDefaultLoginUrl
1329
1380
  #
1330
1381
  # Get the default login URL for a tenant.
@@ -2227,7 +2278,7 @@ module Comet
2227
2278
  #
2228
2279
  # @param [String] target_id The live connection GUID
2229
2280
  # @param [String] backup_rule The schedule GUID
2230
- # @return [Comet::CometAPIResponseMessage]
2281
+ # @return [Comet::DispatchWithJobIDResponse]
2231
2282
  def admin_dispatcher_run_backup(target_id, backup_rule)
2232
2283
  submit_params = {}
2233
2284
  raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
@@ -2240,7 +2291,7 @@ module Comet
2240
2291
  body = perform_request('api/v1/admin/dispatcher/run-backup', submit_params)
2241
2292
  json_body = JSON.parse body
2242
2293
  check_status json_body
2243
- ret = Comet::CometAPIResponseMessage.new
2294
+ ret = Comet::DispatchWithJobIDResponse.new
2244
2295
  ret.from_hash(json_body)
2245
2296
  ret
2246
2297
  end
@@ -2256,7 +2307,7 @@ module Comet
2256
2307
  # @param [String] source The Protected Item GUID
2257
2308
  # @param [String] destination The Storage Vault GUID
2258
2309
  # @param [Comet::BackupJobAdvancedOptions] options (Optional) Extra job parameters (>= 19.3.6)
2259
- # @return [Comet::CometAPIResponseMessage]
2310
+ # @return [Comet::DispatchWithJobIDResponse]
2260
2311
  def admin_dispatcher_run_backup_custom(target_id, source, destination, options = nil)
2261
2312
  submit_params = {}
2262
2313
  raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
@@ -2277,7 +2328,7 @@ module Comet
2277
2328
  body = perform_request('api/v1/admin/dispatcher/run-backup-custom', submit_params)
2278
2329
  json_body = JSON.parse body
2279
2330
  check_status json_body
2280
- ret = Comet::CometAPIResponseMessage.new
2331
+ ret = Comet::DispatchWithJobIDResponse.new
2281
2332
  ret.from_hash(json_body)
2282
2333
  ret
2283
2334
  end
@@ -2296,7 +2347,7 @@ module Comet
2296
2347
  # @param [String] destination The Storage Vault ID
2297
2348
  # @param [String] snapshot (Optional) If present, restore a specific snapshot. Otherwise, restore the latest snapshot for the selected Protected Item + Storage Vault pair
2298
2349
  # @param [Array<String>] paths (Optional) If present, restore these paths only. Otherwise, restore all data (>= 19.3.0)
2299
- # @return [Comet::CometAPIResponseMessage]
2350
+ # @return [Comet::DispatchWithJobIDResponse]
2300
2351
  def admin_dispatcher_run_restore(target_id, path, source, destination, snapshot = nil, paths = nil)
2301
2352
  submit_params = {}
2302
2353
  raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
@@ -2325,7 +2376,7 @@ module Comet
2325
2376
  body = perform_request('api/v1/admin/dispatcher/run-restore', submit_params)
2326
2377
  json_body = JSON.parse body
2327
2378
  check_status json_body
2328
- ret = Comet::CometAPIResponseMessage.new
2379
+ ret = Comet::DispatchWithJobIDResponse.new
2329
2380
  ret.from_hash(json_body)
2330
2381
  ret
2331
2382
  end
@@ -2347,7 +2398,7 @@ module Comet
2347
2398
  # @param [Number] known_file_count (Optional) The number of files to restore, if known. Supplying this means we don't need to walk the entire tree just to find the file count and will speed up the restoration process.
2348
2399
  # @param [Number] known_byte_count (Optional) The total size in bytes of files to restore, if known. Supplying this means we don't need to walk the entire tree just to find the total file size and will speed up the restoration process.
2349
2400
  # @param [Number] known_dir_count (Optional) The number of directories to restore, if known. Supplying this means we don't need to walk the entire tree just to find the number of directories and will speed up the restoration process.
2350
- # @return [Comet::CometAPIResponseMessage]
2401
+ # @return [Comet::DispatchWithJobIDResponse]
2351
2402
  def admin_dispatcher_run_restore_custom(target_id, source, destination, options, snapshot = nil, paths = nil, known_file_count = nil, known_byte_count = nil, known_dir_count = nil)
2352
2403
  submit_params = {}
2353
2404
  raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
@@ -2391,7 +2442,7 @@ module Comet
2391
2442
  body = perform_request('api/v1/admin/dispatcher/run-restore-custom', submit_params)
2392
2443
  json_body = JSON.parse body
2393
2444
  check_status json_body
2394
- ret = Comet::CometAPIResponseMessage.new
2445
+ ret = Comet::DispatchWithJobIDResponse.new
2395
2446
  ret.from_hash(json_body)
2396
2447
  ret
2397
2448
  end
@@ -2516,6 +2567,33 @@ module Comet
2516
2567
  ret
2517
2568
  end
2518
2569
 
2570
+ # AdminDispatcherUpdateLoginPassword
2571
+ #
2572
+ # Instruct a live connected device to update its login password.
2573
+ #
2574
+ # You must supply administrator authentication credentials to use this API.
2575
+ # This API requires the Auth Role to be enabled.
2576
+ #
2577
+ # @param [String] target_id The live connection GUID
2578
+ # @param [String] new_password The new password of this user
2579
+ # @return [Comet::CometAPIResponseMessage]
2580
+ def admin_dispatcher_update_login_password(target_id, new_password)
2581
+ submit_params = {}
2582
+ raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
2583
+
2584
+ submit_params['TargetID'] = target_id
2585
+ raise TypeError, "'new_password' expected String, got #{new_password.class}" unless new_password.is_a? String
2586
+
2587
+ submit_params['NewPassword'] = new_password
2588
+
2589
+ body = perform_request('api/v1/admin/dispatcher/update-login-password', submit_params)
2590
+ json_body = JSON.parse body
2591
+ check_status json_body
2592
+ ret = Comet::CometAPIResponseMessage.new
2593
+ ret.from_hash(json_body)
2594
+ ret
2595
+ end
2596
+
2519
2597
  # AdminDispatcherUpdateLoginUrl
2520
2598
  #
2521
2599
  # Instruct a live connected device to update its login server URL.
@@ -2914,6 +2992,33 @@ module Comet
2914
2992
  ret
2915
2993
  end
2916
2994
 
2995
+ # AdminGetProtectedItemWithBackupRules
2996
+ #
2997
+ # Get a Protected Item with its backup rules.
2998
+ #
2999
+ # You must supply administrator authentication credentials to use this API.
3000
+ # This API requires the Auth Role to be enabled.
3001
+ #
3002
+ # @param [String] target_user Selected account username
3003
+ # @param [String] source_id Selected Protected Item GUID
3004
+ # @return [Comet::ProtectedItemWithBackupRulesResponse]
3005
+ def admin_get_protected_item_with_backup_rules(target_user, source_id)
3006
+ submit_params = {}
3007
+ raise TypeError, "'target_user' expected String, got #{target_user.class}" unless target_user.is_a? String
3008
+
3009
+ submit_params['TargetUser'] = target_user
3010
+ raise TypeError, "'source_id' expected String, got #{source_id.class}" unless source_id.is_a? String
3011
+
3012
+ submit_params['SourceID'] = source_id
3013
+
3014
+ body = perform_request('api/v1/admin/get-protected-item-with-backup-rules', submit_params)
3015
+ json_body = JSON.parse body
3016
+ check_status json_body
3017
+ ret = Comet::ProtectedItemWithBackupRulesResponse.new
3018
+ ret.from_hash(json_body)
3019
+ ret
3020
+ end
3021
+
2917
3022
  # AdminGetUserProfile
2918
3023
  #
2919
3024
  # Get user account profile.
@@ -4464,6 +4569,51 @@ module Comet
4464
4569
  ret
4465
4570
  end
4466
4571
 
4572
+ # AdminSetProtectedItemWithBackupRules
4573
+ #
4574
+ # Add or update a Protected Item with its backup rules.
4575
+ #
4576
+ # You must supply administrator authentication credentials to use this API.
4577
+ # This API requires the Auth Role to be enabled.
4578
+ #
4579
+ # @param [String] target_user Selected account username
4580
+ # @param [String] source_id Selected Protected Item GUID
4581
+ # @param [String] require_hash (Optional) Previous account profile hash
4582
+ # @param [Comet::SourceConfig] source (Optional) Optional Protected Item to create or update
4583
+ # @param [Hash{String => Comet::BackupRuleConfig}] backup_rules (Optional) Optional backup rules for the Protected Item
4584
+ # @return [Comet::CometAPIResponseMessage]
4585
+ def admin_set_protected_item_with_backup_rules(target_user, source_id, require_hash = nil, source = nil, backup_rules = nil)
4586
+ submit_params = {}
4587
+ raise TypeError, "'target_user' expected String, got #{target_user.class}" unless target_user.is_a? String
4588
+
4589
+ submit_params['TargetUser'] = target_user
4590
+ raise TypeError, "'source_id' expected String, got #{source_id.class}" unless source_id.is_a? String
4591
+
4592
+ submit_params['SourceID'] = source_id
4593
+ unless require_hash.nil?
4594
+ raise TypeError, "'require_hash' expected String, got #{require_hash.class}" unless require_hash.is_a? String
4595
+
4596
+ submit_params['RequireHash'] = require_hash
4597
+ end
4598
+ unless source.nil?
4599
+ raise TypeError, "'source' expected Comet::SourceConfig, got #{source.class}" unless source.is_a? Comet::SourceConfig
4600
+
4601
+ submit_params['Source'] = source.to_json
4602
+ end
4603
+ unless backup_rules.nil?
4604
+ raise TypeError, "'backup_rules' expected Hash, got #{backup_rules.class}" unless backup_rules.is_a? Hash
4605
+
4606
+ submit_params['BackupRules'] = backup_rules.to_json
4607
+ end
4608
+
4609
+ body = perform_request('api/v1/admin/set-protected-item-with-backup-rules', submit_params)
4610
+ json_body = JSON.parse body
4611
+ check_status json_body
4612
+ ret = Comet::CometAPIResponseMessage.new
4613
+ ret.from_hash(json_body)
4614
+ ret
4615
+ end
4616
+
4467
4617
  # AdminSetUserProfile
4468
4618
  #
4469
4619
  # Modify user account profile.
@@ -7,13 +7,13 @@
7
7
 
8
8
  module Comet
9
9
 
10
- APPLICATION_VERSION = '25.6.8'
10
+ APPLICATION_VERSION = '25.9.6'
11
11
 
12
12
  APPLICATION_VERSION_MAJOR = 25
13
13
 
14
- APPLICATION_VERSION_MINOR = 6
14
+ APPLICATION_VERSION_MINOR = 9
15
15
 
16
- APPLICATION_VERSION_REVISION = 8
16
+ APPLICATION_VERSION_REVISION = 6
17
17
 
18
18
  # AutoRetentionLevel: The system will automatically choose how often to run an automatic Retention Pass after each backup job.
19
19
  BACKUPJOBAUTORETENTION_AUTOMATIC = 0
@@ -328,6 +328,9 @@ module Comet
328
328
  # JobStatus: The job has encountered an error and will wait to retry.
329
329
  JOB_STATUS_RUNNING_TRYAGAIN = 6003
330
330
 
331
+ # JobStatus: The job has been created by the server but has not yet been initialized by the client.
332
+ JOB_STATUS_NOT_YET_STARTED = 6004
333
+
331
334
  # JobStatus
332
335
  JOB_STATUS_RUNNING__MAX = 6999
333
336
 
@@ -487,12 +490,16 @@ New code should explicitly use OBJECT_LOCK_ON / OBJECT_LOCK_OFF instead.
487
490
  # PSAType
488
491
  PSA_TYPE_SYNCRO = 2
489
492
 
493
+ # PveBackupMethod
490
494
  PVE_BACKUP_METHOD_STOP = 'stop'
491
495
 
496
+ # PveBackupMethod
492
497
  PVE_BACKUP_METHOD_SUSPEND = 'suspend'
493
498
 
499
+ # PveBackupMethod
494
500
  PVE_BACKUP_METHOD_SNAPSHOT = 'snapshot'
495
501
 
502
+ # PveBackupMethod
496
503
  PVE_BACKUP_METHOD_DEFAULT = PVE_BACKUP_METHOD_SNAPSHOT
497
504
 
498
505
  RELEASE_CODENAME = 'Voyager'
@@ -1177,4 +1184,7 @@ New code should explicitly use OBJECT_LOCK_ON / OBJECT_LOCK_OFF instead.
1177
1184
  # WindowsCodesignMethod: Use a configured Azure Key Vault for Authenticode codesigning
1178
1185
  WINDOWSCODESIGN_METHOD_AZUREKEYVAULT = 4
1179
1186
 
1187
+ # WindowsCodesignMethod: Use a configured SAS Relic server for Authenticode codesigning
1188
+ WINDOWSCODESIGN_METHOD_RELICSERVER = 5
1189
+
1180
1190
  end
@@ -50,6 +50,10 @@ module Comet
50
50
  # @type [String] log_level
51
51
  attr_accessor :log_level
52
52
 
53
+ # Default disabled
54
+ # @type [String] tags
55
+ attr_accessor :tags
56
+
53
57
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
54
58
  attr_accessor :unknown_json_fields
55
59
 
@@ -63,6 +67,7 @@ module Comet
63
67
  @auto_retention_level = 0
64
68
  @concurrency_count = 0
65
69
  @log_level = ''
70
+ @tags = ''
66
71
  @unknown_json_fields = {}
67
72
  end
68
73
 
@@ -107,6 +112,10 @@ module Comet
107
112
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
108
113
 
109
114
  @log_level = v
115
+ when 'Tags'
116
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
117
+
118
+ @tags = v
110
119
  else
111
120
  @unknown_json_fields[k] = v
112
121
  end
@@ -125,6 +134,7 @@ module Comet
125
134
  ret['AutoRetentionLevel'] = @auto_retention_level
126
135
  ret['ConcurrencyCount'] = @concurrency_count
127
136
  ret['LogLevel'] = @log_level
137
+ ret['Tags'] = @tags
128
138
  @unknown_json_fields.each do |k, v|
129
139
  ret[k] = v
130
140
  end
@@ -99,10 +99,6 @@ module Comet
99
99
  # @type [Number] total_unlicensed_mails_count
100
100
  attr_accessor :total_unlicensed_mails_count
101
101
 
102
- # The CRC32 of the billing data for this job.
103
- # @type [Number] billing_crc_32
104
- attr_accessor :billing_crc_32
105
-
106
102
  # If this field is present, this job did not perform some work because the Storage Vault is
107
103
  # currently busy.
108
104
  # This field is available in Comet 24.9.2 and later.
@@ -126,6 +122,10 @@ module Comet
126
122
  # @type [Comet::SizeMeasurement] destination_size_end
127
123
  attr_accessor :destination_size_end
128
124
 
125
+ # The tags sent as BackupJobOptions, Useful for Groupings
126
+ # @type [String] tags
127
+ attr_accessor :tags
128
+
129
129
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
130
130
  attr_accessor :unknown_json_fields
131
131
 
@@ -159,12 +159,12 @@ module Comet
159
159
  @total_accounts_count = 0
160
160
  @total_licensed_mails_count = 0
161
161
  @total_unlicensed_mails_count = 0
162
- @billing_crc_32 = 0
163
162
  @conflicting_job_id = ''
164
163
  @cancellation_id = ''
165
164
  @progress = Comet::BackupJobProgress.new
166
165
  @destination_size_start = Comet::SizeMeasurement.new
167
166
  @destination_size_end = Comet::SizeMeasurement.new
167
+ @tags = ''
168
168
  @unknown_json_fields = {}
169
169
  end
170
170
 
@@ -281,10 +281,6 @@ module Comet
281
281
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
282
282
 
283
283
  @total_unlicensed_mails_count = v
284
- when 'BillingCrc32'
285
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
286
-
287
- @billing_crc_32 = v
288
284
  when 'ConflictingJobID'
289
285
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
290
286
 
@@ -302,6 +298,10 @@ module Comet
302
298
  when 'DestinationSizeEnd'
303
299
  @destination_size_end = Comet::SizeMeasurement.new
304
300
  @destination_size_end.from_hash(v)
301
+ when 'Tags'
302
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
303
+
304
+ @tags = v
305
305
  else
306
306
  @unknown_json_fields[k] = v
307
307
  end
@@ -352,9 +352,6 @@ module Comet
352
352
  unless @total_unlicensed_mails_count.nil?
353
353
  ret['TotalUnlicensedMailsCount'] = @total_unlicensed_mails_count
354
354
  end
355
- unless @billing_crc_32.nil?
356
- ret['BillingCrc32'] = @billing_crc_32
357
- end
358
355
  unless @conflicting_job_id.nil?
359
356
  ret['ConflictingJobID'] = @conflicting_job_id
360
357
  end
@@ -370,6 +367,9 @@ module Comet
370
367
  unless @destination_size_end.nil?
371
368
  ret['DestinationSizeEnd'] = @destination_size_end
372
369
  end
370
+ unless @tags.nil?
371
+ ret['Tags'] = @tags
372
+ end
373
373
  @unknown_json_fields.each do |k, v|
374
374
  ret[k] = v
375
375
  end
@@ -80,6 +80,10 @@ module Comet
80
80
  # @type [String] log_level
81
81
  attr_accessor :log_level
82
82
 
83
+ # Default disabled
84
+ # @type [String] tags
85
+ attr_accessor :tags
86
+
83
87
  # Scheduled start times
84
88
  # @type [Array<Comet::ScheduleConfig>] schedules
85
89
  attr_accessor :schedules
@@ -109,6 +113,7 @@ module Comet
109
113
  @auto_retention_level = 0
110
114
  @concurrency_count = 0
111
115
  @log_level = ''
116
+ @tags = ''
112
117
  @schedules = []
113
118
  @event_triggers = Comet::BackupRuleEventTriggers.new
114
119
  @unknown_json_fields = {}
@@ -208,6 +213,10 @@ module Comet
208
213
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
209
214
 
210
215
  @log_level = v
216
+ when 'Tags'
217
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
218
+
219
+ @tags = v
211
220
  when 'Schedules'
212
221
  if v.nil?
213
222
  @schedules = []
@@ -247,6 +256,7 @@ module Comet
247
256
  ret['AutoRetentionLevel'] = @auto_retention_level
248
257
  ret['ConcurrencyCount'] = @concurrency_count
249
258
  ret['LogLevel'] = @log_level
259
+ ret['Tags'] = @tags
250
260
  ret['Schedules'] = @schedules
251
261
  ret['EventTriggers'] = @event_triggers
252
262
  @unknown_json_fields.each do |k, v|
@@ -149,6 +149,18 @@ module Comet
149
149
  # @type [String] windows_code_sign_azure_tenant_id
150
150
  attr_accessor :windows_code_sign_azure_tenant_id
151
151
 
152
+ # URL of the SAS Relic server, with protocol (https://) and trailing slash
153
+ # @type [String] windows_code_sign_relic_server_url
154
+ attr_accessor :windows_code_sign_relic_server_url
155
+
156
+ # The SAS Relic client keypair in PEM format
157
+ # @type [String] windows_code_sign_relic_keypair_file
158
+ attr_accessor :windows_code_sign_relic_keypair_file
159
+
160
+ # The name of the key to select on the remote SAS Relic server
161
+ # @type [String] windows_code_sign_relic_key_name
162
+ attr_accessor :windows_code_sign_relic_key_name
163
+
152
164
  # @type [Comet::MacOSCodeSignProperties] mac_oscode_sign
153
165
  attr_accessor :mac_oscode_sign
154
166
 
@@ -198,6 +210,9 @@ module Comet
198
210
  @windows_code_sign_azure_app_secret_format = 0
199
211
  @windows_code_sign_azure_app_secret = ''
200
212
  @windows_code_sign_azure_tenant_id = ''
213
+ @windows_code_sign_relic_server_url = ''
214
+ @windows_code_sign_relic_keypair_file = ''
215
+ @windows_code_sign_relic_key_name = ''
201
216
  @mac_oscode_sign = Comet::MacOSCodeSignProperties.new
202
217
  @unknown_json_fields = {}
203
218
  end
@@ -377,6 +392,18 @@ module Comet
377
392
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
378
393
 
379
394
  @windows_code_sign_azure_tenant_id = v
395
+ when 'WindowsCodeSignRelicServerURL'
396
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
397
+
398
+ @windows_code_sign_relic_server_url = v
399
+ when 'WindowsCodeSignRelicKeypairFile'
400
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
401
+
402
+ @windows_code_sign_relic_keypair_file = v
403
+ when 'WindowsCodeSignRelicKeyName'
404
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
405
+
406
+ @windows_code_sign_relic_key_name = v
380
407
  when 'MacOSCodeSign'
381
408
  @mac_oscode_sign = Comet::MacOSCodeSignProperties.new
382
409
  @mac_oscode_sign.from_hash(v)
@@ -432,6 +459,9 @@ module Comet
432
459
  ret['WindowsCodeSignAzureAppSecretFormat'] = @windows_code_sign_azure_app_secret_format
433
460
  ret['WindowsCodeSignAzureAppSecret'] = @windows_code_sign_azure_app_secret
434
461
  ret['WindowsCodeSignAzureTenantID'] = @windows_code_sign_azure_tenant_id
462
+ ret['WindowsCodeSignRelicServerURL'] = @windows_code_sign_relic_server_url
463
+ ret['WindowsCodeSignRelicKeypairFile'] = @windows_code_sign_relic_keypair_file
464
+ ret['WindowsCodeSignRelicKeyName'] = @windows_code_sign_relic_key_name
435
465
  ret['MacOSCodeSign'] = @mac_oscode_sign
436
466
  @unknown_json_fields.each do |k, v|
437
467
  ret[k] = v
@@ -126,6 +126,18 @@ module Comet
126
126
  # @type [String] windows_code_sign_azure_tenant_id
127
127
  attr_accessor :windows_code_sign_azure_tenant_id
128
128
 
129
+ # URL of the SAS Relic server, with protocol (https://) and trailing slash
130
+ # @type [String] windows_code_sign_relic_server_url
131
+ attr_accessor :windows_code_sign_relic_server_url
132
+
133
+ # The SAS Relic client keypair in PEM format
134
+ # @type [String] windows_code_sign_relic_keypair_file
135
+ attr_accessor :windows_code_sign_relic_keypair_file
136
+
137
+ # The name of the key to select on the remote SAS Relic server
138
+ # @type [String] windows_code_sign_relic_key_name
139
+ attr_accessor :windows_code_sign_relic_key_name
140
+
129
141
  # @type [Comet::MacOSCodeSignProperties] mac_oscode_sign
130
142
  attr_accessor :mac_oscode_sign
131
143
 
@@ -169,6 +181,9 @@ module Comet
169
181
  @windows_code_sign_azure_app_secret_format = 0
170
182
  @windows_code_sign_azure_app_secret = ''
171
183
  @windows_code_sign_azure_tenant_id = ''
184
+ @windows_code_sign_relic_server_url = ''
185
+ @windows_code_sign_relic_keypair_file = ''
186
+ @windows_code_sign_relic_key_name = ''
172
187
  @mac_oscode_sign = Comet::MacOSCodeSignProperties.new
173
188
  @unknown_json_fields = {}
174
189
  end
@@ -322,6 +337,18 @@ module Comet
322
337
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
323
338
 
324
339
  @windows_code_sign_azure_tenant_id = v
340
+ when 'WindowsCodeSignRelicServerURL'
341
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
342
+
343
+ @windows_code_sign_relic_server_url = v
344
+ when 'WindowsCodeSignRelicKeypairFile'
345
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
346
+
347
+ @windows_code_sign_relic_keypair_file = v
348
+ when 'WindowsCodeSignRelicKeyName'
349
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
350
+
351
+ @windows_code_sign_relic_key_name = v
325
352
  when 'MacOSCodeSign'
326
353
  @mac_oscode_sign = Comet::MacOSCodeSignProperties.new
327
354
  @mac_oscode_sign.from_hash(v)
@@ -370,6 +397,9 @@ module Comet
370
397
  ret['WindowsCodeSignAzureAppSecretFormat'] = @windows_code_sign_azure_app_secret_format
371
398
  ret['WindowsCodeSignAzureAppSecret'] = @windows_code_sign_azure_app_secret
372
399
  ret['WindowsCodeSignAzureTenantID'] = @windows_code_sign_azure_tenant_id
400
+ ret['WindowsCodeSignRelicServerURL'] = @windows_code_sign_relic_server_url
401
+ ret['WindowsCodeSignRelicKeypairFile'] = @windows_code_sign_relic_keypair_file
402
+ ret['WindowsCodeSignRelicKeyName'] = @windows_code_sign_relic_key_name
373
403
  ret['MacOSCodeSign'] = @mac_oscode_sign
374
404
  @unknown_json_fields.each do |k, v|
375
405
  ret[k] = v