comet_backup_ruby_sdk 2.13.0 → 2.14.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 +13 -0
- data/Gemfile.lock +1 -1
- data/comet_backup_ruby_sdk.gemspec +1 -1
- data/lib/comet/comet_server.rb +115 -0
- data/lib/comet/definitions.rb +18 -4
- data/lib/comet/models/amazon_awsvirtual_storage_role_settings.rb +13 -4
- data/lib/comet/models/destination_config.rb +9 -0
- data/lib/comet/models/destination_location.rb +9 -0
- data/lib/comet/models/install_creds.rb +9 -0
- data/lib/comet/models/psaconfig.rb +8 -0
- data/lib/comet/models/psagrouped_by.rb +82 -0
- data/lib/comet/models/registration_lobby_connection.rb +150 -0
- data/lib/comet/models/s3destination_location.rb +9 -0
- data/lib/comet/models/s3generic_virtual_storage_role.rb +13 -4
- data/lib/comet/models/wasabi_virtual_storage_role_settings.rb +13 -4
- data/lib/comet_backup_ruby_sdk.rb +2 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5595c2c9458e40b3d6c0bd1289e9f2c3e42c7b6b76877047dea9a626648808bc
|
4
|
+
data.tar.gz: bec6a1ecdc82849345abf3e1d3a7f58fbfafcc1a46a02e1596e3c9dec16e8e15
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 60823a0d07939472f63562529d631036306fcdfea97b1419cd80798361cb500ae30a297a22286825dd023a699e4aaed3f4ff3138a6b4c7c1dc5d747f89b6d264
|
7
|
+
data.tar.gz: 2dd9f6f226e55b48d8e65217124ac84a502293b64c1cc6a538ece2cd1de5401bd0acc820c31c2f3ba3b0521307875c23f60fc5b570f1d93c1534164221634c38
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,18 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## 2023-09-19 v2.14.0
|
4
|
+
|
5
|
+
- Based on Comet 23.9.2
|
6
|
+
- 'UseObjectLock' for S3 compatible storage settings deprecated. Replaced by 'ObjectLockMode'
|
7
|
+
- New Streamable event SEVT_DEVICE_LOBBY_CONNECT and SEVT_DEVICE_LOBBY_DISCONNECT
|
8
|
+
- Added 'TOTPCode' to 'InstallCreds' used for device registration.
|
9
|
+
- 'GroupedBy' added to 'PSAConfig' for grouping statistics.
|
10
|
+
- New APIs
|
11
|
+
- AdminInstallationDispatchDropConnection
|
12
|
+
- AdminInstallationDispatchRegisterDevice
|
13
|
+
- AdminInstallationListActive
|
14
|
+
- AdminJobAbandon
|
15
|
+
|
3
16
|
## 2023-08-29 v2.13.0
|
4
17
|
|
5
18
|
- Based on Comet 23.8.0
|
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.14.0'
|
16
16
|
spec.authors = ['Comet Licensing Ltd.']
|
17
17
|
spec.email = ['hello@cometbackup.com']
|
18
18
|
|
data/lib/comet/comet_server.rb
CHANGED
@@ -2617,6 +2617,121 @@ module Comet
|
|
2617
2617
|
ret
|
2618
2618
|
end
|
2619
2619
|
|
2620
|
+
# AdminInstallationDispatchDropConnection
|
2621
|
+
#
|
2622
|
+
# Instruct a live connected device to disconnect.
|
2623
|
+
# The device will terminate its live-connection process and will not reconnect.
|
2624
|
+
#
|
2625
|
+
# You must supply administrator authentication credentials to use this API.
|
2626
|
+
# This API requires the Auth Role to be enabled.
|
2627
|
+
#
|
2628
|
+
# @param [String] device_id The live connection Device GUID
|
2629
|
+
# @return [Comet::CometAPIResponseMessage]
|
2630
|
+
def admin_installation_dispatch_drop_connection(device_id)
|
2631
|
+
submit_params = {}
|
2632
|
+
raise TypeError, "'device_id' expected String, got #{device_id.class}" unless device_id.is_a? String
|
2633
|
+
|
2634
|
+
submit_params['DeviceID'] = device_id
|
2635
|
+
|
2636
|
+
body = perform_request('api/v1/admin/installation/dispatch/drop-connection', submit_params)
|
2637
|
+
json_body = JSON.parse body
|
2638
|
+
check_status json_body
|
2639
|
+
ret = Comet::CometAPIResponseMessage.new
|
2640
|
+
ret.from_hash(json_body)
|
2641
|
+
ret
|
2642
|
+
end
|
2643
|
+
|
2644
|
+
# AdminInstallationDispatchRegisterDevice
|
2645
|
+
#
|
2646
|
+
# Instruct an unregistered device to authenticate with a given user.
|
2647
|
+
#
|
2648
|
+
# You must supply administrator authentication credentials to use this API.
|
2649
|
+
# This API requires the Auth Role to be enabled.
|
2650
|
+
#
|
2651
|
+
# @param [String] device_id The live connection Device GUID
|
2652
|
+
# @param [String] target_user Selected account username
|
2653
|
+
# @param [String] target_password Selected account password
|
2654
|
+
# @param [String] target_totpcode (Optional) Selected account TOTP code
|
2655
|
+
# @return [String]
|
2656
|
+
def admin_installation_dispatch_register_device(device_id, target_user, target_password, target_totpcode = nil)
|
2657
|
+
submit_params = {}
|
2658
|
+
raise TypeError, "'device_id' expected String, got #{device_id.class}" unless device_id.is_a? String
|
2659
|
+
|
2660
|
+
submit_params['DeviceID'] = device_id
|
2661
|
+
raise TypeError, "'target_user' expected String, got #{target_user.class}" unless target_user.is_a? String
|
2662
|
+
|
2663
|
+
submit_params['TargetUser'] = target_user
|
2664
|
+
raise TypeError, "'target_password' expected String, got #{target_password.class}" unless target_password.is_a? String
|
2665
|
+
|
2666
|
+
submit_params['TargetPassword'] = target_password
|
2667
|
+
unless target_totpcode.nil?
|
2668
|
+
raise TypeError, "'target_totpcode' expected String, got #{target_totpcode.class}" unless target_totpcode.is_a? String
|
2669
|
+
|
2670
|
+
submit_params['TargetTOTPCode'] = target_totpcode
|
2671
|
+
end
|
2672
|
+
|
2673
|
+
body = perform_request('api/v1/admin/installation/dispatch/register-device', submit_params)
|
2674
|
+
json_body = JSON.parse body
|
2675
|
+
check_status json_body
|
2676
|
+
raise TypeError, "'json_body' expected String, got #{json_body.class}" unless json_body.is_a? String
|
2677
|
+
|
2678
|
+
ret = json_body
|
2679
|
+
ret
|
2680
|
+
end
|
2681
|
+
|
2682
|
+
# AdminInstallationListActive
|
2683
|
+
#
|
2684
|
+
# List live connected devices in lobby mode.
|
2685
|
+
#
|
2686
|
+
# You must supply administrator authentication credentials to use this API.
|
2687
|
+
# This API requires the Auth Role to be enabled.
|
2688
|
+
#
|
2689
|
+
# @return [Hash{String => Comet::RegistrationLobbyConnection}]
|
2690
|
+
def admin_installation_list_active
|
2691
|
+
body = perform_request('api/v1/admin/installation/list-active')
|
2692
|
+
json_body = JSON.parse body
|
2693
|
+
check_status json_body
|
2694
|
+
ret = {}
|
2695
|
+
if json_body.nil?
|
2696
|
+
ret = {}
|
2697
|
+
else
|
2698
|
+
json_body.each do |k, v|
|
2699
|
+
ret[k] = Comet::RegistrationLobbyConnection.new
|
2700
|
+
ret[k].from_hash(v)
|
2701
|
+
end
|
2702
|
+
end
|
2703
|
+
ret
|
2704
|
+
end
|
2705
|
+
|
2706
|
+
# AdminJobAbandon
|
2707
|
+
#
|
2708
|
+
# Mark a running job as abandoned.
|
2709
|
+
# This will change the status of a running job to abandoned.
|
2710
|
+
# This is intended to be used on jobs which are definitely no longer running but are stuck in the running state; it will not attempt to cancel the job. If the job is detected to still be running after being marked as abandoned, it will be revived.
|
2711
|
+
#
|
2712
|
+
# You must supply administrator authentication credentials to use this API.
|
2713
|
+
# This API requires the Auth Role to be enabled.
|
2714
|
+
#
|
2715
|
+
# @param [String] target_user Username
|
2716
|
+
# @param [String] job_id Job ID
|
2717
|
+
# @return [Comet::CometAPIResponseMessage]
|
2718
|
+
def admin_job_abandon(target_user, job_id)
|
2719
|
+
submit_params = {}
|
2720
|
+
raise TypeError, "'target_user' expected String, got #{target_user.class}" unless target_user.is_a? String
|
2721
|
+
|
2722
|
+
submit_params['TargetUser'] = target_user
|
2723
|
+
raise TypeError, "'job_id' expected String, got #{job_id.class}" unless job_id.is_a? String
|
2724
|
+
|
2725
|
+
submit_params['JobID'] = job_id
|
2726
|
+
|
2727
|
+
body = perform_request('api/v1/admin/job/abandon', submit_params)
|
2728
|
+
json_body = JSON.parse body
|
2729
|
+
check_status json_body
|
2730
|
+
ret = Comet::CometAPIResponseMessage.new
|
2731
|
+
ret.from_hash(json_body)
|
2732
|
+
ret
|
2733
|
+
end
|
2734
|
+
|
2620
2735
|
# AdminJobCancel
|
2621
2736
|
#
|
2622
2737
|
# Cancel a running job.
|
data/lib/comet/definitions.rb
CHANGED
@@ -7,13 +7,13 @@
|
|
7
7
|
|
8
8
|
module Comet
|
9
9
|
|
10
|
-
APPLICATION_VERSION = '23.
|
10
|
+
APPLICATION_VERSION = '23.9.2'
|
11
11
|
|
12
12
|
APPLICATION_VERSION_MAJOR = 23
|
13
13
|
|
14
|
-
APPLICATION_VERSION_MINOR =
|
14
|
+
APPLICATION_VERSION_MINOR = 9
|
15
15
|
|
16
|
-
APPLICATION_VERSION_REVISION =
|
16
|
+
APPLICATION_VERSION_REVISION = 2
|
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
|
@@ -361,6 +361,12 @@ module Comet
|
|
361
361
|
# MSSQLRestoreOpt
|
362
362
|
MSSQL_RESTORE_NORECOVERY = 'NO_RECOVERY'
|
363
363
|
|
364
|
+
OBJECT_LOCK_LEGACY = 0
|
365
|
+
|
366
|
+
OBJECT_LOCK_ON = 1
|
367
|
+
|
368
|
+
OBJECT_LOCK_OFF = 2
|
369
|
+
|
364
370
|
OFFICE365_REGION_PUBLIC = 'GlobalPublicCloud'
|
365
371
|
|
366
372
|
OFFICE365_REGION_CHINA = 'ChinaCloud'
|
@@ -407,7 +413,7 @@ module Comet
|
|
407
413
|
# PSAType
|
408
414
|
PSA_TYPE_GRADIENT = 1
|
409
415
|
|
410
|
-
RELEASE_CODENAME = '
|
416
|
+
RELEASE_CODENAME = 'Voyager'
|
411
417
|
|
412
418
|
# RemoteServerType
|
413
419
|
REMOTESERVER_COMET = 'comet'
|
@@ -829,6 +835,12 @@ module Comet
|
|
829
835
|
# StreamableEventType: Device live connection ended
|
830
836
|
SEVT_DEVICE_LIVE_DISCONNECT = 4703
|
831
837
|
|
838
|
+
# StreamableEventType: Device connected to registration lobby
|
839
|
+
SEVT_DEVICE_LOBBY_CONNECT = 4704
|
840
|
+
|
841
|
+
# StreamableEventType: Device disconnected from registration lobby
|
842
|
+
SEVT_DEVICE_LOBBY_DISCONNECT = 4705
|
843
|
+
|
832
844
|
# StreamableEventType
|
833
845
|
SEVT__MAX = 4999
|
834
846
|
|
@@ -958,6 +970,8 @@ module Comet
|
|
958
970
|
# UpdateStatus: The device has successfully updated to the target version.
|
959
971
|
UPDATESTATUS_UPDATE_CONFIRMED = 5
|
960
972
|
|
973
|
+
USERNAME_MAX_LENGTH = 255
|
974
|
+
|
961
975
|
# If an API response returns in failure, but it includes this value in the CometAPIResponseMessage->Message parameter, it indicates that the specified Device ID was invalid or not found.
|
962
976
|
UNKNOWN_DEVICE_ERROR = 'ERR_UNKNOWN_DEVICE'
|
963
977
|
|
@@ -21,8 +21,11 @@ module Comet
|
|
21
21
|
# @type [String] secret_key
|
22
22
|
attr_accessor :secret_key
|
23
23
|
|
24
|
-
# @type [Boolean]
|
25
|
-
attr_accessor :
|
24
|
+
# @type [Boolean] use_object_lock__legacy__do_not_use
|
25
|
+
attr_accessor :use_object_lock__legacy__do_not_use
|
26
|
+
|
27
|
+
# @type [Number] object_lock_mode
|
28
|
+
attr_accessor :object_lock_mode
|
26
29
|
|
27
30
|
# @type [Number] object_lock_days
|
28
31
|
attr_accessor :object_lock_days
|
@@ -41,6 +44,7 @@ module Comet
|
|
41
44
|
@master_bucket = ''
|
42
45
|
@access_key = ''
|
43
46
|
@secret_key = ''
|
47
|
+
@object_lock_mode = 0
|
44
48
|
@object_lock_days = 0
|
45
49
|
@unknown_json_fields = {}
|
46
50
|
end
|
@@ -71,7 +75,11 @@ module Comet
|
|
71
75
|
|
72
76
|
@secret_key = v
|
73
77
|
when 'UseObjectLock'
|
74
|
-
@
|
78
|
+
@use_object_lock__legacy__do_not_use = v
|
79
|
+
when 'ObjectLockMode'
|
80
|
+
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
81
|
+
|
82
|
+
@object_lock_mode = v
|
75
83
|
when 'ObjectLockDays'
|
76
84
|
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
77
85
|
|
@@ -90,7 +98,8 @@ module Comet
|
|
90
98
|
ret['MasterBucket'] = @master_bucket
|
91
99
|
ret['AccessKey'] = @access_key
|
92
100
|
ret['SecretKey'] = @secret_key
|
93
|
-
ret['UseObjectLock'] = @
|
101
|
+
ret['UseObjectLock'] = @use_object_lock__legacy__do_not_use
|
102
|
+
ret['ObjectLockMode'] = @object_lock_mode
|
94
103
|
ret['ObjectLockDays'] = @object_lock_days
|
95
104
|
ret['RemoveDeleted'] = @remove_deleted
|
96
105
|
@unknown_json_fields.each do |k, v|
|
@@ -77,6 +77,9 @@ module Comet
|
|
77
77
|
# @type [Boolean] s3remove_deleted
|
78
78
|
attr_accessor :s3remove_deleted
|
79
79
|
|
80
|
+
# @type [Number] s3object_lock_mode
|
81
|
+
attr_accessor :s3object_lock_mode
|
82
|
+
|
80
83
|
# @type [Number] s3object_lock_days
|
81
84
|
attr_accessor :s3object_lock_days
|
82
85
|
|
@@ -264,6 +267,7 @@ module Comet
|
|
264
267
|
@s3bucket_name = ''
|
265
268
|
@s3subdir = ''
|
266
269
|
@s3custom_region = ''
|
270
|
+
@s3object_lock_mode = 0
|
267
271
|
@s3object_lock_days = 0
|
268
272
|
@sftpserver = ''
|
269
273
|
@sftpusername = ''
|
@@ -406,6 +410,10 @@ module Comet
|
|
406
410
|
@s3uses_v2signing = v
|
407
411
|
when 'S3RemoveDeleted'
|
408
412
|
@s3remove_deleted = v
|
413
|
+
when 'S3ObjectLockMode'
|
414
|
+
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
415
|
+
|
416
|
+
@s3object_lock_mode = v
|
409
417
|
when 'S3ObjectLockDays'
|
410
418
|
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
411
419
|
|
@@ -586,6 +594,7 @@ module Comet
|
|
586
594
|
ret['S3CustomRegion'] = @s3custom_region
|
587
595
|
ret['S3UsesV2Signing'] = @s3uses_v2signing
|
588
596
|
ret['S3RemoveDeleted'] = @s3remove_deleted
|
597
|
+
ret['S3ObjectLockMode'] = @s3object_lock_mode
|
589
598
|
ret['S3ObjectLockDays'] = @s3object_lock_days
|
590
599
|
ret['SFTPServer'] = @sftpserver
|
591
600
|
ret['SFTPUsername'] = @sftpusername
|
@@ -57,6 +57,9 @@ module Comet
|
|
57
57
|
# @type [Boolean] s3remove_deleted
|
58
58
|
attr_accessor :s3remove_deleted
|
59
59
|
|
60
|
+
# @type [Number] s3object_lock_mode
|
61
|
+
attr_accessor :s3object_lock_mode
|
62
|
+
|
60
63
|
# @type [Number] s3object_lock_days
|
61
64
|
attr_accessor :s3object_lock_days
|
62
65
|
|
@@ -205,6 +208,7 @@ module Comet
|
|
205
208
|
@s3bucket_name = ''
|
206
209
|
@s3subdir = ''
|
207
210
|
@s3custom_region = ''
|
211
|
+
@s3object_lock_mode = 0
|
208
212
|
@s3object_lock_days = 0
|
209
213
|
@sftpserver = ''
|
210
214
|
@sftpusername = ''
|
@@ -296,6 +300,10 @@ module Comet
|
|
296
300
|
@s3uses_v2signing = v
|
297
301
|
when 'S3RemoveDeleted'
|
298
302
|
@s3remove_deleted = v
|
303
|
+
when 'S3ObjectLockMode'
|
304
|
+
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
305
|
+
|
306
|
+
@s3object_lock_mode = v
|
299
307
|
when 'S3ObjectLockDays'
|
300
308
|
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
301
309
|
|
@@ -444,6 +452,7 @@ module Comet
|
|
444
452
|
ret['S3CustomRegion'] = @s3custom_region
|
445
453
|
ret['S3UsesV2Signing'] = @s3uses_v2signing
|
446
454
|
ret['S3RemoveDeleted'] = @s3remove_deleted
|
455
|
+
ret['S3ObjectLockMode'] = @s3object_lock_mode
|
447
456
|
ret['S3ObjectLockDays'] = @s3object_lock_days
|
448
457
|
ret['SFTPServer'] = @sftpserver
|
449
458
|
ret['SFTPUsername'] = @sftpusername
|
@@ -18,6 +18,9 @@ module Comet
|
|
18
18
|
# @type [String] password
|
19
19
|
attr_accessor :password
|
20
20
|
|
21
|
+
# @type [String] totpcode
|
22
|
+
attr_accessor :totpcode
|
23
|
+
|
21
24
|
# @type [String] server
|
22
25
|
attr_accessor :server
|
23
26
|
|
@@ -34,6 +37,7 @@ module Comet
|
|
34
37
|
def clear
|
35
38
|
@username = ''
|
36
39
|
@password = ''
|
40
|
+
@totpcode = ''
|
37
41
|
@server = ''
|
38
42
|
@unknown_json_fields = {}
|
39
43
|
end
|
@@ -59,6 +63,10 @@ module Comet
|
|
59
63
|
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
60
64
|
|
61
65
|
@password = v
|
66
|
+
when 'TOTPCode'
|
67
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
68
|
+
|
69
|
+
@totpcode = v
|
62
70
|
when 'Server'
|
63
71
|
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
64
72
|
|
@@ -76,6 +84,7 @@ module Comet
|
|
76
84
|
ret = {}
|
77
85
|
ret['Username'] = @username
|
78
86
|
ret['Password'] = @password
|
87
|
+
ret['TOTPCode'] = @totpcode
|
79
88
|
ret['Server'] = @server
|
80
89
|
ret['AutoLogin'] = @auto_login
|
81
90
|
@unknown_json_fields.each do |k, v|
|
@@ -31,6 +31,9 @@ module Comet
|
|
31
31
|
# @type [String] url
|
32
32
|
attr_accessor :url
|
33
33
|
|
34
|
+
# @type [Comet::PSAGroupedBy] grouped_by
|
35
|
+
attr_accessor :grouped_by
|
36
|
+
|
34
37
|
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
35
38
|
attr_accessor :unknown_json_fields
|
36
39
|
|
@@ -43,6 +46,7 @@ module Comet
|
|
43
46
|
@partner_key = ''
|
44
47
|
@type = 0
|
45
48
|
@url = ''
|
49
|
+
@grouped_by = Comet::PSAGroupedBy.new
|
46
50
|
@unknown_json_fields = {}
|
47
51
|
end
|
48
52
|
|
@@ -84,6 +88,9 @@ module Comet
|
|
84
88
|
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
85
89
|
|
86
90
|
@url = v
|
91
|
+
when 'GroupedBy'
|
92
|
+
@grouped_by = Comet::PSAGroupedBy.new
|
93
|
+
@grouped_by.from_hash(v)
|
87
94
|
else
|
88
95
|
@unknown_json_fields[k] = v
|
89
96
|
end
|
@@ -102,6 +109,7 @@ module Comet
|
|
102
109
|
end
|
103
110
|
ret['Type'] = @type
|
104
111
|
ret['URL'] = @url
|
112
|
+
ret['GroupedBy'] = @grouped_by
|
105
113
|
@unknown_json_fields.each do |k, v|
|
106
114
|
ret[k] = v
|
107
115
|
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright (c) 2020-2023 Comet Licensing Ltd.
|
4
|
+
# Please see the LICENSE file for usage information.
|
5
|
+
#
|
6
|
+
# SPDX-License-Identifier: MIT
|
7
|
+
|
8
|
+
require 'json'
|
9
|
+
|
10
|
+
module Comet
|
11
|
+
|
12
|
+
# PSAGroupedBy is a typed class wrapper around the underlying Comet Server API data structure.
|
13
|
+
class PSAGroupedBy
|
14
|
+
|
15
|
+
# @type [Boolean] users
|
16
|
+
attr_accessor :users
|
17
|
+
|
18
|
+
# @type [Boolean] tenants
|
19
|
+
attr_accessor :tenants
|
20
|
+
|
21
|
+
# @type [Boolean] account_name
|
22
|
+
attr_accessor :account_name
|
23
|
+
|
24
|
+
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
25
|
+
attr_accessor :unknown_json_fields
|
26
|
+
|
27
|
+
def initialize
|
28
|
+
clear
|
29
|
+
end
|
30
|
+
|
31
|
+
def clear
|
32
|
+
@unknown_json_fields = {}
|
33
|
+
end
|
34
|
+
|
35
|
+
# @param [String] json_string The complete object in JSON format
|
36
|
+
def from_json(json_string)
|
37
|
+
raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
|
38
|
+
|
39
|
+
from_hash(JSON.parse(json_string))
|
40
|
+
end
|
41
|
+
|
42
|
+
# @param [Hash] obj The complete object as a Ruby hash
|
43
|
+
def from_hash(obj)
|
44
|
+
raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
|
45
|
+
|
46
|
+
obj.each do |k, v|
|
47
|
+
case k
|
48
|
+
when 'Users'
|
49
|
+
@users = v
|
50
|
+
when 'Tenants'
|
51
|
+
@tenants = v
|
52
|
+
when 'AccountName'
|
53
|
+
@account_name = v
|
54
|
+
else
|
55
|
+
@unknown_json_fields[k] = v
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
# @return [Hash] The complete object as a Ruby hash
|
61
|
+
def to_hash
|
62
|
+
ret = {}
|
63
|
+
ret['Users'] = @users
|
64
|
+
ret['Tenants'] = @tenants
|
65
|
+
ret['AccountName'] = @account_name
|
66
|
+
@unknown_json_fields.each do |k, v|
|
67
|
+
ret[k] = v
|
68
|
+
end
|
69
|
+
ret
|
70
|
+
end
|
71
|
+
|
72
|
+
# @return [Hash] The complete object as a Ruby hash
|
73
|
+
def to_h
|
74
|
+
to_hash
|
75
|
+
end
|
76
|
+
|
77
|
+
# @return [String] The complete object as a JSON string
|
78
|
+
def to_json(options = {})
|
79
|
+
to_hash.to_json(options)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -0,0 +1,150 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright (c) 2020-2023 Comet Licensing Ltd.
|
4
|
+
# Please see the LICENSE file for usage information.
|
5
|
+
#
|
6
|
+
# SPDX-License-Identifier: MIT
|
7
|
+
|
8
|
+
require 'json'
|
9
|
+
|
10
|
+
module Comet
|
11
|
+
|
12
|
+
# RegistrationLobbyConnection is a typed class wrapper around the underlying Comet Server API data structure.
|
13
|
+
class RegistrationLobbyConnection
|
14
|
+
|
15
|
+
# @type [String] device_id
|
16
|
+
attr_accessor :device_id
|
17
|
+
|
18
|
+
# @type [String] organization_id
|
19
|
+
attr_accessor :organization_id
|
20
|
+
|
21
|
+
# @type [String] friendly_name
|
22
|
+
attr_accessor :friendly_name
|
23
|
+
|
24
|
+
# @type [String] reported_version
|
25
|
+
attr_accessor :reported_version
|
26
|
+
|
27
|
+
# @type [String] reported_platform
|
28
|
+
attr_accessor :reported_platform
|
29
|
+
|
30
|
+
# @type [Comet::OSInfo] reported_platform_version
|
31
|
+
attr_accessor :reported_platform_version
|
32
|
+
|
33
|
+
# @type [String] device_time_zone
|
34
|
+
attr_accessor :device_time_zone
|
35
|
+
|
36
|
+
# @type [String] ipaddress
|
37
|
+
attr_accessor :ipaddress
|
38
|
+
|
39
|
+
# @type [Number] connection_time
|
40
|
+
attr_accessor :connection_time
|
41
|
+
|
42
|
+
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
43
|
+
attr_accessor :unknown_json_fields
|
44
|
+
|
45
|
+
def initialize
|
46
|
+
clear
|
47
|
+
end
|
48
|
+
|
49
|
+
def clear
|
50
|
+
@device_id = ''
|
51
|
+
@organization_id = ''
|
52
|
+
@friendly_name = ''
|
53
|
+
@reported_version = ''
|
54
|
+
@reported_platform = ''
|
55
|
+
@reported_platform_version = Comet::OSInfo.new
|
56
|
+
@device_time_zone = ''
|
57
|
+
@ipaddress = ''
|
58
|
+
@connection_time = 0
|
59
|
+
@unknown_json_fields = {}
|
60
|
+
end
|
61
|
+
|
62
|
+
# @param [String] json_string The complete object in JSON format
|
63
|
+
def from_json(json_string)
|
64
|
+
raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
|
65
|
+
|
66
|
+
from_hash(JSON.parse(json_string))
|
67
|
+
end
|
68
|
+
|
69
|
+
# @param [Hash] obj The complete object as a Ruby hash
|
70
|
+
def from_hash(obj)
|
71
|
+
raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
|
72
|
+
|
73
|
+
obj.each do |k, v|
|
74
|
+
case k
|
75
|
+
when 'DeviceID'
|
76
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
77
|
+
|
78
|
+
@device_id = v
|
79
|
+
when 'OrganizationID'
|
80
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
81
|
+
|
82
|
+
@organization_id = v
|
83
|
+
when 'FriendlyName'
|
84
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
85
|
+
|
86
|
+
@friendly_name = v
|
87
|
+
when 'ReportedVersion'
|
88
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
89
|
+
|
90
|
+
@reported_version = v
|
91
|
+
when 'ReportedPlatform'
|
92
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
93
|
+
|
94
|
+
@reported_platform = v
|
95
|
+
when 'ReportedPlatformVersion'
|
96
|
+
@reported_platform_version = Comet::OSInfo.new
|
97
|
+
@reported_platform_version.from_hash(v)
|
98
|
+
when 'DeviceTimeZone'
|
99
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
100
|
+
|
101
|
+
@device_time_zone = v
|
102
|
+
when 'IPAddress'
|
103
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
104
|
+
|
105
|
+
@ipaddress = v
|
106
|
+
when 'ConnectionTime'
|
107
|
+
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
108
|
+
|
109
|
+
@connection_time = v
|
110
|
+
else
|
111
|
+
@unknown_json_fields[k] = v
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
# @return [Hash] The complete object as a Ruby hash
|
117
|
+
def to_hash
|
118
|
+
ret = {}
|
119
|
+
ret['DeviceID'] = @device_id
|
120
|
+
ret['OrganizationID'] = @organization_id
|
121
|
+
ret['FriendlyName'] = @friendly_name
|
122
|
+
ret['ReportedVersion'] = @reported_version
|
123
|
+
ret['ReportedPlatform'] = @reported_platform
|
124
|
+
unless @reported_platform_version.nil?
|
125
|
+
ret['ReportedPlatformVersion'] = @reported_platform_version
|
126
|
+
end
|
127
|
+
unless @device_time_zone.nil?
|
128
|
+
ret['DeviceTimeZone'] = @device_time_zone
|
129
|
+
end
|
130
|
+
unless @ipaddress.nil?
|
131
|
+
ret['IPAddress'] = @ipaddress
|
132
|
+
end
|
133
|
+
ret['ConnectionTime'] = @connection_time
|
134
|
+
@unknown_json_fields.each do |k, v|
|
135
|
+
ret[k] = v
|
136
|
+
end
|
137
|
+
ret
|
138
|
+
end
|
139
|
+
|
140
|
+
# @return [Hash] The complete object as a Ruby hash
|
141
|
+
def to_h
|
142
|
+
to_hash
|
143
|
+
end
|
144
|
+
|
145
|
+
# @return [String] The complete object as a JSON string
|
146
|
+
def to_json(options = {})
|
147
|
+
to_hash.to_json(options)
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|
@@ -40,6 +40,9 @@ module Comet
|
|
40
40
|
# @type [Boolean] s3remove_deleted
|
41
41
|
attr_accessor :s3remove_deleted
|
42
42
|
|
43
|
+
# @type [Number] s3object_lock_mode
|
44
|
+
attr_accessor :s3object_lock_mode
|
45
|
+
|
43
46
|
# @type [Number] s3object_lock_days
|
44
47
|
attr_accessor :s3object_lock_days
|
45
48
|
|
@@ -57,6 +60,7 @@ module Comet
|
|
57
60
|
@s3bucket_name = ''
|
58
61
|
@s3subdir = ''
|
59
62
|
@s3custom_region = ''
|
63
|
+
@s3object_lock_mode = 0
|
60
64
|
@s3object_lock_days = 0
|
61
65
|
@unknown_json_fields = {}
|
62
66
|
end
|
@@ -104,6 +108,10 @@ module Comet
|
|
104
108
|
@s3uses_v2signing = v
|
105
109
|
when 'S3RemoveDeleted'
|
106
110
|
@s3remove_deleted = v
|
111
|
+
when 'S3ObjectLockMode'
|
112
|
+
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
113
|
+
|
114
|
+
@s3object_lock_mode = v
|
107
115
|
when 'S3ObjectLockDays'
|
108
116
|
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
109
117
|
|
@@ -126,6 +134,7 @@ module Comet
|
|
126
134
|
ret['S3CustomRegion'] = @s3custom_region
|
127
135
|
ret['S3UsesV2Signing'] = @s3uses_v2signing
|
128
136
|
ret['S3RemoveDeleted'] = @s3remove_deleted
|
137
|
+
ret['S3ObjectLockMode'] = @s3object_lock_mode
|
129
138
|
ret['S3ObjectLockDays'] = @s3object_lock_days
|
130
139
|
@unknown_json_fields.each do |k, v|
|
131
140
|
ret[k] = v
|
@@ -27,8 +27,11 @@ module Comet
|
|
27
27
|
# @type [String] secret_key
|
28
28
|
attr_accessor :secret_key
|
29
29
|
|
30
|
-
# @type [Boolean]
|
31
|
-
attr_accessor :
|
30
|
+
# @type [Boolean] use_object_lock__legacy__do_not_use
|
31
|
+
attr_accessor :use_object_lock__legacy__do_not_use
|
32
|
+
|
33
|
+
# @type [Number] object_lock_mode
|
34
|
+
attr_accessor :object_lock_mode
|
32
35
|
|
33
36
|
# @type [Number] object_lock_days
|
34
37
|
attr_accessor :object_lock_days
|
@@ -49,6 +52,7 @@ module Comet
|
|
49
52
|
@master_bucket = ''
|
50
53
|
@access_key = ''
|
51
54
|
@secret_key = ''
|
55
|
+
@object_lock_mode = 0
|
52
56
|
@object_lock_days = 0
|
53
57
|
@unknown_json_fields = {}
|
54
58
|
end
|
@@ -87,7 +91,11 @@ module Comet
|
|
87
91
|
|
88
92
|
@secret_key = v
|
89
93
|
when 'UseObjectLock'
|
90
|
-
@
|
94
|
+
@use_object_lock__legacy__do_not_use = v
|
95
|
+
when 'ObjectLockMode'
|
96
|
+
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
97
|
+
|
98
|
+
@object_lock_mode = v
|
91
99
|
when 'ObjectLockDays'
|
92
100
|
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
93
101
|
|
@@ -108,7 +116,8 @@ module Comet
|
|
108
116
|
ret['MasterBucket'] = @master_bucket
|
109
117
|
ret['AccessKey'] = @access_key
|
110
118
|
ret['SecretKey'] = @secret_key
|
111
|
-
ret['UseObjectLock'] = @
|
119
|
+
ret['UseObjectLock'] = @use_object_lock__legacy__do_not_use
|
120
|
+
ret['ObjectLockMode'] = @object_lock_mode
|
112
121
|
ret['ObjectLockDays'] = @object_lock_days
|
113
122
|
ret['RemoveDeleted'] = @remove_deleted
|
114
123
|
@unknown_json_fields.each do |k, v|
|
@@ -21,8 +21,11 @@ module Comet
|
|
21
21
|
# @type [String] secret_key
|
22
22
|
attr_accessor :secret_key
|
23
23
|
|
24
|
-
# @type [Boolean]
|
25
|
-
attr_accessor :
|
24
|
+
# @type [Boolean] use_object_lock__legacy__do_not_use
|
25
|
+
attr_accessor :use_object_lock__legacy__do_not_use
|
26
|
+
|
27
|
+
# @type [Number] object_lock_mode
|
28
|
+
attr_accessor :object_lock_mode
|
26
29
|
|
27
30
|
# @type [Number] object_lock_days
|
28
31
|
attr_accessor :object_lock_days
|
@@ -41,6 +44,7 @@ module Comet
|
|
41
44
|
@master_bucket = ''
|
42
45
|
@access_key = ''
|
43
46
|
@secret_key = ''
|
47
|
+
@object_lock_mode = 0
|
44
48
|
@object_lock_days = 0
|
45
49
|
@unknown_json_fields = {}
|
46
50
|
end
|
@@ -71,7 +75,11 @@ module Comet
|
|
71
75
|
|
72
76
|
@secret_key = v
|
73
77
|
when 'UseObjectLock'
|
74
|
-
@
|
78
|
+
@use_object_lock__legacy__do_not_use = v
|
79
|
+
when 'ObjectLockMode'
|
80
|
+
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
81
|
+
|
82
|
+
@object_lock_mode = v
|
75
83
|
when 'ObjectLockDays'
|
76
84
|
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
77
85
|
|
@@ -90,7 +98,8 @@ module Comet
|
|
90
98
|
ret['MasterBucket'] = @master_bucket
|
91
99
|
ret['AccessKey'] = @access_key
|
92
100
|
ret['SecretKey'] = @secret_key
|
93
|
-
ret['UseObjectLock'] = @
|
101
|
+
ret['UseObjectLock'] = @use_object_lock__legacy__do_not_use
|
102
|
+
ret['ObjectLockMode'] = @object_lock_mode
|
94
103
|
ret['ObjectLockDays'] = @object_lock_days
|
95
104
|
ret['RemoveDeleted'] = @remove_deleted
|
96
105
|
@unknown_json_fields.each do |k, v|
|
@@ -116,11 +116,13 @@ require_relative 'comet/models/partition'
|
|
116
116
|
require_relative 'comet/models/private_branding_properties'
|
117
117
|
require_relative 'comet/models/protected_item_engine_type_policy'
|
118
118
|
require_relative 'comet/models/psaconfig'
|
119
|
+
require_relative 'comet/models/psagrouped_by'
|
119
120
|
require_relative 'comet/models/public_branding_properties'
|
120
121
|
require_relative 'comet/models/ratelimit_options'
|
121
122
|
require_relative 'comet/models/ratelimit_rule'
|
122
123
|
require_relative 'comet/models/register_office_application_begin_response'
|
123
124
|
require_relative 'comet/models/register_office_application_check_response'
|
125
|
+
require_relative 'comet/models/registration_lobby_connection'
|
124
126
|
require_relative 'comet/models/remote_server_address'
|
125
127
|
require_relative 'comet/models/remote_storage_option'
|
126
128
|
require_relative 'comet/models/replica_server'
|
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.
|
4
|
+
version: 2.14.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: 2023-
|
11
|
+
date: 2023-09-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -194,11 +194,13 @@ files:
|
|
194
194
|
- lib/comet/models/private_branding_properties.rb
|
195
195
|
- lib/comet/models/protected_item_engine_type_policy.rb
|
196
196
|
- lib/comet/models/psaconfig.rb
|
197
|
+
- lib/comet/models/psagrouped_by.rb
|
197
198
|
- lib/comet/models/public_branding_properties.rb
|
198
199
|
- lib/comet/models/ratelimit_options.rb
|
199
200
|
- lib/comet/models/ratelimit_rule.rb
|
200
201
|
- lib/comet/models/register_office_application_begin_response.rb
|
201
202
|
- lib/comet/models/register_office_application_check_response.rb
|
203
|
+
- lib/comet/models/registration_lobby_connection.rb
|
202
204
|
- lib/comet/models/remote_server_address.rb
|
203
205
|
- lib/comet/models/remote_storage_option.rb
|
204
206
|
- lib/comet/models/replica_server.rb
|