comet_backup_ruby_sdk 2.42.0 → 2.44.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 +4 -4
- data/CHANGELOG.md +19 -0
- data/Gemfile.lock +1 -1
- data/comet_backup_ruby_sdk.gemspec +1 -1
- data/lib/comet/comet_server.rb +259 -9
- data/lib/comet/definitions.rb +21 -2
- data/lib/comet/models/backup_job_advanced_options.rb +10 -0
- data/lib/comet/models/backup_job_detail.rb +12 -12
- data/lib/comet/models/backup_rule_config.rb +10 -0
- data/lib/comet/models/branding_options.rb +30 -0
- data/lib/comet/models/branding_properties.rb +30 -0
- data/lib/comet/models/destination_config.rb +11 -0
- data/lib/comet/models/{pverestore_selection.rb → dispatch_with_job_idresponse.rb} +24 -24
- data/lib/comet/models/get_shared_storage_quota_response.rb +110 -0
- data/lib/comet/models/list_shared_storage_quota_response.rb +98 -0
- data/lib/comet/models/private_branding_properties.rb +30 -0
- data/lib/comet/models/protected_item_with_backup_rules_response.rb +119 -0
- data/lib/comet/models/pvebackup_disk.rb +6 -0
- data/lib/comet/models/pvebackup_node.rb +5 -0
- data/lib/comet/models/pvebackup_vm.rb +6 -0
- data/lib/comet/models/pvedisk.rb +4 -3
- data/lib/comet/models/pveparams.rb +13 -11
- data/lib/comet/models/pvestorage_name.rb +16 -0
- data/lib/comet/models/pvevm.rb +2 -0
- data/lib/comet/models/{block_info.rb → set_shared_storage_quota_response.rb} +24 -14
- data/lib/comet/models/shared_storage_quota.rb +94 -0
- data/lib/comet/models/source_config.rb +7 -0
- data/lib/comet/models/user_profile_config.rb +8 -0
- data/lib/comet/models/vault_snapshot.rb +19 -0
- data/lib/comet/models/windows_code_sign_properties.rb +30 -0
- data/lib/comet_backup_ruby_sdk.rb +6 -5
- metadata +8 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8f8bcc1711bb036830fb9143b2737e8981d2d6ac6dd33a3044f0071b0bbdaef5
|
|
4
|
+
data.tar.gz: a4238194d53bfc536198a86beb9c373d32b5503975cca6379174efe94ff9c1f8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ac782041cd6dbdedfd201782c173e87d5e58694b6ea5af3776740f7c4f782784dc14ebcdc3af9f7227ccc6bce8a59f1ebf202b1eb50f48b2b7a332b25958c00e
|
|
7
|
+
data.tar.gz: 4331c52faa2185690f4f6831a35bd3aee82b7f8b476f70075dce9cbb63eb57a0c1b61b724cedaccde95b0eaaf4a052d7b4ab8707fb58811de6a463ccc0fd89b5
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
|
+
## 2025-12-04 v2.44.0
|
|
4
|
+
|
|
5
|
+
- Based on Comet 25.9.8
|
|
6
|
+
- Add support for shared quota management APIs
|
|
7
|
+
- Add Proxmox API parameter
|
|
8
|
+
|
|
9
|
+
## 2025-11-14 v2.43.0
|
|
10
|
+
|
|
11
|
+
- Based on Comet 25.9.6
|
|
12
|
+
- Add new API methods for getting, setting, and deleting Protected Items and
|
|
13
|
+
their associated schedules
|
|
14
|
+
- Add new API methods for live connection credential/session management
|
|
15
|
+
- Add JobID field to API response when starting jobs via the dispatcher on
|
|
16
|
+
devices running Comet 25.9.6 or newer
|
|
17
|
+
- Add support for custom tags on backup jobs to allow grouping of
|
|
18
|
+
snapshots/jobs
|
|
19
|
+
- Add support SAS Relic codesigning
|
|
20
|
+
- Improve documentation for Proxmox API types
|
|
21
|
+
|
|
3
22
|
## 2025-08-15 v2.42.0
|
|
4
23
|
|
|
5
24
|
- Based on Comet 25.6.8
|
data/Gemfile.lock
CHANGED
|
@@ -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.
|
|
15
|
+
spec.version = '2.44.0'
|
|
16
16
|
spec.authors = ['Comet Licensing Ltd.']
|
|
17
17
|
spec.email = ['hello@cometbackup.com']
|
|
18
18
|
|
data/lib/comet/comet_server.rb
CHANGED
|
@@ -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.
|
|
@@ -1812,8 +1863,9 @@ module Comet
|
|
|
1812
1863
|
#
|
|
1813
1864
|
# @param [String] target_id The live connection GUID
|
|
1814
1865
|
# @param [Comet::SSHConnection] credentials The SSH connection settings
|
|
1866
|
+
# @param [String] node The target node
|
|
1815
1867
|
# @return [Comet::BrowseProxmoxStorageResponse]
|
|
1816
|
-
def admin_dispatcher_request_browse_proxmox_storage(target_id, credentials)
|
|
1868
|
+
def admin_dispatcher_request_browse_proxmox_storage(target_id, credentials, node)
|
|
1817
1869
|
submit_params = {}
|
|
1818
1870
|
raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
|
|
1819
1871
|
|
|
@@ -1821,6 +1873,9 @@ module Comet
|
|
|
1821
1873
|
raise TypeError, "'credentials' expected Comet::SSHConnection, got #{credentials.class}" unless credentials.is_a? Comet::SSHConnection
|
|
1822
1874
|
|
|
1823
1875
|
submit_params['Credentials'] = credentials.to_json
|
|
1876
|
+
raise TypeError, "'node' expected String, got #{node.class}" unless node.is_a? String
|
|
1877
|
+
|
|
1878
|
+
submit_params['Node'] = node
|
|
1824
1879
|
|
|
1825
1880
|
body = perform_request('api/v1/admin/dispatcher/request-browse-proxmox/storage', submit_params)
|
|
1826
1881
|
json_body = JSON.parse body
|
|
@@ -2227,7 +2282,7 @@ module Comet
|
|
|
2227
2282
|
#
|
|
2228
2283
|
# @param [String] target_id The live connection GUID
|
|
2229
2284
|
# @param [String] backup_rule The schedule GUID
|
|
2230
|
-
# @return [Comet::
|
|
2285
|
+
# @return [Comet::DispatchWithJobIDResponse]
|
|
2231
2286
|
def admin_dispatcher_run_backup(target_id, backup_rule)
|
|
2232
2287
|
submit_params = {}
|
|
2233
2288
|
raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
|
|
@@ -2240,7 +2295,7 @@ module Comet
|
|
|
2240
2295
|
body = perform_request('api/v1/admin/dispatcher/run-backup', submit_params)
|
|
2241
2296
|
json_body = JSON.parse body
|
|
2242
2297
|
check_status json_body
|
|
2243
|
-
ret = Comet::
|
|
2298
|
+
ret = Comet::DispatchWithJobIDResponse.new
|
|
2244
2299
|
ret.from_hash(json_body)
|
|
2245
2300
|
ret
|
|
2246
2301
|
end
|
|
@@ -2256,7 +2311,7 @@ module Comet
|
|
|
2256
2311
|
# @param [String] source The Protected Item GUID
|
|
2257
2312
|
# @param [String] destination The Storage Vault GUID
|
|
2258
2313
|
# @param [Comet::BackupJobAdvancedOptions] options (Optional) Extra job parameters (>= 19.3.6)
|
|
2259
|
-
# @return [Comet::
|
|
2314
|
+
# @return [Comet::DispatchWithJobIDResponse]
|
|
2260
2315
|
def admin_dispatcher_run_backup_custom(target_id, source, destination, options = nil)
|
|
2261
2316
|
submit_params = {}
|
|
2262
2317
|
raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
|
|
@@ -2277,7 +2332,7 @@ module Comet
|
|
|
2277
2332
|
body = perform_request('api/v1/admin/dispatcher/run-backup-custom', submit_params)
|
|
2278
2333
|
json_body = JSON.parse body
|
|
2279
2334
|
check_status json_body
|
|
2280
|
-
ret = Comet::
|
|
2335
|
+
ret = Comet::DispatchWithJobIDResponse.new
|
|
2281
2336
|
ret.from_hash(json_body)
|
|
2282
2337
|
ret
|
|
2283
2338
|
end
|
|
@@ -2296,7 +2351,7 @@ module Comet
|
|
|
2296
2351
|
# @param [String] destination The Storage Vault ID
|
|
2297
2352
|
# @param [String] snapshot (Optional) If present, restore a specific snapshot. Otherwise, restore the latest snapshot for the selected Protected Item + Storage Vault pair
|
|
2298
2353
|
# @param [Array<String>] paths (Optional) If present, restore these paths only. Otherwise, restore all data (>= 19.3.0)
|
|
2299
|
-
# @return [Comet::
|
|
2354
|
+
# @return [Comet::DispatchWithJobIDResponse]
|
|
2300
2355
|
def admin_dispatcher_run_restore(target_id, path, source, destination, snapshot = nil, paths = nil)
|
|
2301
2356
|
submit_params = {}
|
|
2302
2357
|
raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
|
|
@@ -2325,7 +2380,7 @@ module Comet
|
|
|
2325
2380
|
body = perform_request('api/v1/admin/dispatcher/run-restore', submit_params)
|
|
2326
2381
|
json_body = JSON.parse body
|
|
2327
2382
|
check_status json_body
|
|
2328
|
-
ret = Comet::
|
|
2383
|
+
ret = Comet::DispatchWithJobIDResponse.new
|
|
2329
2384
|
ret.from_hash(json_body)
|
|
2330
2385
|
ret
|
|
2331
2386
|
end
|
|
@@ -2347,7 +2402,7 @@ module Comet
|
|
|
2347
2402
|
# @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
2403
|
# @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
2404
|
# @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::
|
|
2405
|
+
# @return [Comet::DispatchWithJobIDResponse]
|
|
2351
2406
|
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
2407
|
submit_params = {}
|
|
2353
2408
|
raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
|
|
@@ -2391,7 +2446,7 @@ module Comet
|
|
|
2391
2446
|
body = perform_request('api/v1/admin/dispatcher/run-restore-custom', submit_params)
|
|
2392
2447
|
json_body = JSON.parse body
|
|
2393
2448
|
check_status json_body
|
|
2394
|
-
ret = Comet::
|
|
2449
|
+
ret = Comet::DispatchWithJobIDResponse.new
|
|
2395
2450
|
ret.from_hash(json_body)
|
|
2396
2451
|
ret
|
|
2397
2452
|
end
|
|
@@ -2516,6 +2571,33 @@ module Comet
|
|
|
2516
2571
|
ret
|
|
2517
2572
|
end
|
|
2518
2573
|
|
|
2574
|
+
# AdminDispatcherUpdateLoginPassword
|
|
2575
|
+
#
|
|
2576
|
+
# Instruct a live connected device to update its login password.
|
|
2577
|
+
#
|
|
2578
|
+
# You must supply administrator authentication credentials to use this API.
|
|
2579
|
+
# This API requires the Auth Role to be enabled.
|
|
2580
|
+
#
|
|
2581
|
+
# @param [String] target_id The live connection GUID
|
|
2582
|
+
# @param [String] new_password The new password of this user
|
|
2583
|
+
# @return [Comet::CometAPIResponseMessage]
|
|
2584
|
+
def admin_dispatcher_update_login_password(target_id, new_password)
|
|
2585
|
+
submit_params = {}
|
|
2586
|
+
raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
|
|
2587
|
+
|
|
2588
|
+
submit_params['TargetID'] = target_id
|
|
2589
|
+
raise TypeError, "'new_password' expected String, got #{new_password.class}" unless new_password.is_a? String
|
|
2590
|
+
|
|
2591
|
+
submit_params['NewPassword'] = new_password
|
|
2592
|
+
|
|
2593
|
+
body = perform_request('api/v1/admin/dispatcher/update-login-password', submit_params)
|
|
2594
|
+
json_body = JSON.parse body
|
|
2595
|
+
check_status json_body
|
|
2596
|
+
ret = Comet::CometAPIResponseMessage.new
|
|
2597
|
+
ret.from_hash(json_body)
|
|
2598
|
+
ret
|
|
2599
|
+
end
|
|
2600
|
+
|
|
2519
2601
|
# AdminDispatcherUpdateLoginUrl
|
|
2520
2602
|
#
|
|
2521
2603
|
# Instruct a live connected device to update its login server URL.
|
|
@@ -2914,6 +2996,33 @@ module Comet
|
|
|
2914
2996
|
ret
|
|
2915
2997
|
end
|
|
2916
2998
|
|
|
2999
|
+
# AdminGetProtectedItemWithBackupRules
|
|
3000
|
+
#
|
|
3001
|
+
# Get a Protected Item with its backup rules.
|
|
3002
|
+
#
|
|
3003
|
+
# You must supply administrator authentication credentials to use this API.
|
|
3004
|
+
# This API requires the Auth Role to be enabled.
|
|
3005
|
+
#
|
|
3006
|
+
# @param [String] target_user Selected account username
|
|
3007
|
+
# @param [String] source_id Selected Protected Item GUID
|
|
3008
|
+
# @return [Comet::ProtectedItemWithBackupRulesResponse]
|
|
3009
|
+
def admin_get_protected_item_with_backup_rules(target_user, source_id)
|
|
3010
|
+
submit_params = {}
|
|
3011
|
+
raise TypeError, "'target_user' expected String, got #{target_user.class}" unless target_user.is_a? String
|
|
3012
|
+
|
|
3013
|
+
submit_params['TargetUser'] = target_user
|
|
3014
|
+
raise TypeError, "'source_id' expected String, got #{source_id.class}" unless source_id.is_a? String
|
|
3015
|
+
|
|
3016
|
+
submit_params['SourceID'] = source_id
|
|
3017
|
+
|
|
3018
|
+
body = perform_request('api/v1/admin/get-protected-item-with-backup-rules', submit_params)
|
|
3019
|
+
json_body = JSON.parse body
|
|
3020
|
+
check_status json_body
|
|
3021
|
+
ret = Comet::ProtectedItemWithBackupRulesResponse.new
|
|
3022
|
+
ret.from_hash(json_body)
|
|
3023
|
+
ret
|
|
3024
|
+
end
|
|
3025
|
+
|
|
2917
3026
|
# AdminGetUserProfile
|
|
2918
3027
|
#
|
|
2919
3028
|
# Get user account profile.
|
|
@@ -4464,6 +4573,51 @@ module Comet
|
|
|
4464
4573
|
ret
|
|
4465
4574
|
end
|
|
4466
4575
|
|
|
4576
|
+
# AdminSetProtectedItemWithBackupRules
|
|
4577
|
+
#
|
|
4578
|
+
# Add or update a Protected Item with its backup rules.
|
|
4579
|
+
#
|
|
4580
|
+
# You must supply administrator authentication credentials to use this API.
|
|
4581
|
+
# This API requires the Auth Role to be enabled.
|
|
4582
|
+
#
|
|
4583
|
+
# @param [String] target_user Selected account username
|
|
4584
|
+
# @param [String] source_id Selected Protected Item GUID
|
|
4585
|
+
# @param [String] require_hash (Optional) Previous account profile hash
|
|
4586
|
+
# @param [Comet::SourceConfig] source (Optional) Optional Protected Item to create or update
|
|
4587
|
+
# @param [Hash{String => Comet::BackupRuleConfig}] backup_rules (Optional) Optional backup rules for the Protected Item
|
|
4588
|
+
# @return [Comet::CometAPIResponseMessage]
|
|
4589
|
+
def admin_set_protected_item_with_backup_rules(target_user, source_id, require_hash = nil, source = nil, backup_rules = nil)
|
|
4590
|
+
submit_params = {}
|
|
4591
|
+
raise TypeError, "'target_user' expected String, got #{target_user.class}" unless target_user.is_a? String
|
|
4592
|
+
|
|
4593
|
+
submit_params['TargetUser'] = target_user
|
|
4594
|
+
raise TypeError, "'source_id' expected String, got #{source_id.class}" unless source_id.is_a? String
|
|
4595
|
+
|
|
4596
|
+
submit_params['SourceID'] = source_id
|
|
4597
|
+
unless require_hash.nil?
|
|
4598
|
+
raise TypeError, "'require_hash' expected String, got #{require_hash.class}" unless require_hash.is_a? String
|
|
4599
|
+
|
|
4600
|
+
submit_params['RequireHash'] = require_hash
|
|
4601
|
+
end
|
|
4602
|
+
unless source.nil?
|
|
4603
|
+
raise TypeError, "'source' expected Comet::SourceConfig, got #{source.class}" unless source.is_a? Comet::SourceConfig
|
|
4604
|
+
|
|
4605
|
+
submit_params['Source'] = source.to_json
|
|
4606
|
+
end
|
|
4607
|
+
unless backup_rules.nil?
|
|
4608
|
+
raise TypeError, "'backup_rules' expected Hash, got #{backup_rules.class}" unless backup_rules.is_a? Hash
|
|
4609
|
+
|
|
4610
|
+
submit_params['BackupRules'] = backup_rules.to_json
|
|
4611
|
+
end
|
|
4612
|
+
|
|
4613
|
+
body = perform_request('api/v1/admin/set-protected-item-with-backup-rules', submit_params)
|
|
4614
|
+
json_body = JSON.parse body
|
|
4615
|
+
check_status json_body
|
|
4616
|
+
ret = Comet::CometAPIResponseMessage.new
|
|
4617
|
+
ret.from_hash(json_body)
|
|
4618
|
+
ret
|
|
4619
|
+
end
|
|
4620
|
+
|
|
4467
4621
|
# AdminSetUserProfile
|
|
4468
4622
|
#
|
|
4469
4623
|
# Modify user account profile.
|
|
@@ -4530,6 +4684,102 @@ module Comet
|
|
|
4530
4684
|
ret
|
|
4531
4685
|
end
|
|
4532
4686
|
|
|
4687
|
+
# AdminSquotaDelete
|
|
4688
|
+
#
|
|
4689
|
+
# Delete a shared storage quota and detach all users.
|
|
4690
|
+
#
|
|
4691
|
+
# You must supply administrator authentication credentials to use this API.
|
|
4692
|
+
# This API requires the Auth Role to be enabled.
|
|
4693
|
+
#
|
|
4694
|
+
# @param [String] shared_storage_quota_id (No description available)
|
|
4695
|
+
# @return [Comet::CometAPIResponseMessage]
|
|
4696
|
+
def admin_squota_delete(shared_storage_quota_id)
|
|
4697
|
+
submit_params = {}
|
|
4698
|
+
raise TypeError, "'shared_storage_quota_id' expected String, got #{shared_storage_quota_id.class}" unless shared_storage_quota_id.is_a? String
|
|
4699
|
+
|
|
4700
|
+
submit_params['SharedStorageQuotaID'] = shared_storage_quota_id
|
|
4701
|
+
|
|
4702
|
+
body = perform_request('api/v1/admin/squota/delete', submit_params)
|
|
4703
|
+
json_body = JSON.parse body
|
|
4704
|
+
check_status json_body
|
|
4705
|
+
ret = Comet::CometAPIResponseMessage.new
|
|
4706
|
+
ret.from_hash(json_body)
|
|
4707
|
+
ret
|
|
4708
|
+
end
|
|
4709
|
+
|
|
4710
|
+
# AdminSquotaGetWithHash
|
|
4711
|
+
#
|
|
4712
|
+
# Get properties for a shared storage quota.
|
|
4713
|
+
#
|
|
4714
|
+
# You must supply administrator authentication credentials to use this API.
|
|
4715
|
+
# This API requires the Auth Role to be enabled.
|
|
4716
|
+
#
|
|
4717
|
+
# @param [String] shared_storage_quota_id (No description available)
|
|
4718
|
+
# @return [Comet::GetSharedStorageQuotaResponse]
|
|
4719
|
+
def admin_squota_get_with_hash(shared_storage_quota_id)
|
|
4720
|
+
submit_params = {}
|
|
4721
|
+
raise TypeError, "'shared_storage_quota_id' expected String, got #{shared_storage_quota_id.class}" unless shared_storage_quota_id.is_a? String
|
|
4722
|
+
|
|
4723
|
+
submit_params['SharedStorageQuotaID'] = shared_storage_quota_id
|
|
4724
|
+
|
|
4725
|
+
body = perform_request('api/v1/admin/squota/get-with-hash', submit_params)
|
|
4726
|
+
json_body = JSON.parse body
|
|
4727
|
+
check_status json_body
|
|
4728
|
+
ret = Comet::GetSharedStorageQuotaResponse.new
|
|
4729
|
+
ret.from_hash(json_body)
|
|
4730
|
+
ret
|
|
4731
|
+
end
|
|
4732
|
+
|
|
4733
|
+
# AdminSquotaListAll
|
|
4734
|
+
#
|
|
4735
|
+
# List available shared storage quota objects.
|
|
4736
|
+
#
|
|
4737
|
+
# You must supply administrator authentication credentials to use this API.
|
|
4738
|
+
# This API requires the Auth Role to be enabled.
|
|
4739
|
+
#
|
|
4740
|
+
# @return [Comet::ListSharedStorageQuotaResponse]
|
|
4741
|
+
def admin_squota_list_all
|
|
4742
|
+
body = perform_request('api/v1/admin/squota/list-all')
|
|
4743
|
+
json_body = JSON.parse body
|
|
4744
|
+
check_status json_body
|
|
4745
|
+
ret = Comet::ListSharedStorageQuotaResponse.new
|
|
4746
|
+
ret.from_hash(json_body)
|
|
4747
|
+
ret
|
|
4748
|
+
end
|
|
4749
|
+
|
|
4750
|
+
# AdminSquotaSetWithHash
|
|
4751
|
+
#
|
|
4752
|
+
# Create or update a shared storage quota.
|
|
4753
|
+
#
|
|
4754
|
+
# You must supply administrator authentication credentials to use this API.
|
|
4755
|
+
# This API requires the Auth Role to be enabled.
|
|
4756
|
+
#
|
|
4757
|
+
# @param [String] shared_storage_quota_id (No description available)
|
|
4758
|
+
# @param [Comet::SharedStorageQuota] shared_storage_quota (No description available)
|
|
4759
|
+
# @param [String] check_hash (Optional) If supplied, validate the change against this hash. Omit to forcibly apply changes.
|
|
4760
|
+
# @return [Comet::SetSharedStorageQuotaResponse]
|
|
4761
|
+
def admin_squota_set_with_hash(shared_storage_quota_id, shared_storage_quota, check_hash = nil)
|
|
4762
|
+
submit_params = {}
|
|
4763
|
+
raise TypeError, "'shared_storage_quota_id' expected String, got #{shared_storage_quota_id.class}" unless shared_storage_quota_id.is_a? String
|
|
4764
|
+
|
|
4765
|
+
submit_params['SharedStorageQuotaID'] = shared_storage_quota_id
|
|
4766
|
+
raise TypeError, "'shared_storage_quota' expected Comet::SharedStorageQuota, got #{shared_storage_quota.class}" unless shared_storage_quota.is_a? Comet::SharedStorageQuota
|
|
4767
|
+
|
|
4768
|
+
submit_params['SharedStorageQuota'] = shared_storage_quota.to_json
|
|
4769
|
+
unless check_hash.nil?
|
|
4770
|
+
raise TypeError, "'check_hash' expected String, got #{check_hash.class}" unless check_hash.is_a? String
|
|
4771
|
+
|
|
4772
|
+
submit_params['CheckHash'] = check_hash
|
|
4773
|
+
end
|
|
4774
|
+
|
|
4775
|
+
body = perform_request('api/v1/admin/squota/set-with-hash', submit_params)
|
|
4776
|
+
json_body = JSON.parse body
|
|
4777
|
+
check_status json_body
|
|
4778
|
+
ret = Comet::SetSharedStorageQuotaResponse.new
|
|
4779
|
+
ret.from_hash(json_body)
|
|
4780
|
+
ret
|
|
4781
|
+
end
|
|
4782
|
+
|
|
4533
4783
|
# AdminStorageBucketProperties
|
|
4534
4784
|
#
|
|
4535
4785
|
# Retrieve properties for a single bucket.
|
data/lib/comet/definitions.rb
CHANGED
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
|
|
8
8
|
module Comet
|
|
9
9
|
|
|
10
|
-
APPLICATION_VERSION = '25.
|
|
10
|
+
APPLICATION_VERSION = '25.9.8'
|
|
11
11
|
|
|
12
12
|
APPLICATION_VERSION_MAJOR = 25
|
|
13
13
|
|
|
14
|
-
APPLICATION_VERSION_MINOR =
|
|
14
|
+
APPLICATION_VERSION_MINOR = 9
|
|
15
15
|
|
|
16
16
|
APPLICATION_VERSION_REVISION = 8
|
|
17
17
|
|
|
@@ -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'
|
|
@@ -965,6 +972,15 @@ New code should explicitly use OBJECT_LOCK_ON / OBJECT_LOCK_OFF instead.
|
|
|
965
972
|
# StreamableEventType: UserGroup updated.
|
|
966
973
|
SEVT_USERGROUP_UPDATED = 4802
|
|
967
974
|
|
|
975
|
+
# StreamableEventType
|
|
976
|
+
SEVT_SQUOTA_NEW = 4803
|
|
977
|
+
|
|
978
|
+
# StreamableEventType
|
|
979
|
+
SEVT_SQUOTA_REMOVED = 4804
|
|
980
|
+
|
|
981
|
+
# StreamableEventType
|
|
982
|
+
SEVT_SQUOTA_UPDATED = 4805
|
|
983
|
+
|
|
968
984
|
# StreamableEventType
|
|
969
985
|
SEVT__MAX = 4999
|
|
970
986
|
|
|
@@ -1177,4 +1193,7 @@ New code should explicitly use OBJECT_LOCK_ON / OBJECT_LOCK_OFF instead.
|
|
|
1177
1193
|
# WindowsCodesignMethod: Use a configured Azure Key Vault for Authenticode codesigning
|
|
1178
1194
|
WINDOWSCODESIGN_METHOD_AZUREKEYVAULT = 4
|
|
1179
1195
|
|
|
1196
|
+
# WindowsCodesignMethod: Use a configured SAS Relic server for Authenticode codesigning
|
|
1197
|
+
WINDOWSCODESIGN_METHOD_RELICSERVER = 5
|
|
1198
|
+
|
|
1180
1199
|
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|
|