comet_backup_ruby_sdk 1.12.0 → 1.13.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: 69a41caa98a2a94326271b4b1ee4f2d7f61e98b0d62c1964ac1707e1984dca72
4
- data.tar.gz: 3dce1759fcc473dcd64b592cfab33633ae31fe619ea07b0a9e13719c7981e5da
3
+ metadata.gz: fd41ef7f0ce9f54555af78b82719b073f2bdedb8a1fac79da00fcfff58a82aae
4
+ data.tar.gz: aca0a1786bd48d8ed2f61a080c02fda37ac8d6b2bffc75421c3a37ea51c993a3
5
5
  SHA512:
6
- metadata.gz: b3f505381b2cd44a90667f1de2f8fa6d4b99cffeb106e271eac055545ea7f51c57c948077baabb52025b120ded6efe0bd1bbbcf3df5b3dceabc84960b5040a3f
7
- data.tar.gz: 4a3588488fb2a2da49662460438c0e8d85f7f57cb7fdd654199c30fe6c4bfd820e418872a8f0f751c1a7094d0d6b0754809c4fcb94cf98846cbbe3810eb341a0
6
+ metadata.gz: 34d97b5cf4cd1bd01ee04602688b5f5355e2cbe3b5667aef32973d0f7298178cef7fb3678f4a26ecbd524cc88a03ebcce1837398be4ad1bb9e6656508ce53c8e
7
+ data.tar.gz: 2c205b4ead8426f4e380977510b99069a74d9233ede9d1dce74c6ca43bede641784c5edd275a9a863bfd3a938d0a40484fa87155a0d53e0bd69656723d0fc919
data/CHANGELOG.md CHANGED
@@ -1,8 +1,19 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 2022-05-10 v1.13.0
4
+ - Based on 22.3.5
5
+ - Add new `RestrictRuntime`, `FromTime`, `ToTime`, `RestrictDays`, `DaysSelect` types to ScheduleConfig to add time and day restrictions in a hourly schedule.
6
+ - Add new `TotalVmCount` to `BackupJobDetail` API.
7
+ - Add new fields to `MacOSCodeSignProperties` to support code signing.
8
+ - Add new `ForceUpgradeRunning`, `ApplyDeviceFilter`, and `DeviceFilter` fields to `UpdateCampaign` types to support sending a bulk upgrade to a custom query of users
9
+ - Add new `AdminBrandingGenerateClientSpkDsm6` and `AdminBrandingGenerateClientSpkDsm7` APIs and associated types for generating and downloading Synology SPKs
10
+ - Add new `PathAppIconImage` field to branding options types to support branding of the app icon when installed in Synology's Package Center (and other software managers)
11
+ - Add new constants for VMDK single file restore
12
+
3
13
  ## 2022-01-28 v1.12.0
4
14
  - Based on 21.12.4
5
15
  - Add `AdminStoragePingDestination` API to perform a server-side Test Connections action when configuring Storage Role
16
+ - Add `DestinationSize*` on `BackupJobDetail` struct, to track Storage Vault size measurements taken as part of jobs
6
17
  - Add `HasLicense` on `Office365MixedVirtualAccount` struct, and add `TotalLicensedMailsCount` and `TotalUnlicensedMailsCount` on `BackupJobDetail` struct, to track Office 365 license usage
7
18
  - Add `AdminWebAuthnRegistration` new `Type` field and `WEBAUTHN_DEVICE_TYPE` constants, to determine the type of hardware WebAuthn device
8
19
  - Add deprecation comments to U2F types (use WebAuthn instead), to `B2DestinationLocation.MaxConnections`, and to `Office365CustomSetting` (use Office365CustomSettingV2 instead)
data/Gemfile CHANGED
File without changes
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- comet_backup_ruby_sdk (1.12.0)
4
+ comet_backup_ruby_sdk (1.13.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/LICENSE CHANGED
File without changes
data/Rakefile CHANGED
File without changes
@@ -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 = '1.12.0'
15
+ spec.version = '1.13.0'
16
16
  spec.authors = ['Comet Licensing Ltd.']
17
17
  spec.email = ['hello@cometbackup.com']
18
18
 
@@ -551,6 +551,52 @@ module Comet
551
551
  perform_request('api/v1/admin/branding/generate-client/macos-x86_64', submit_params)
552
552
  end
553
553
 
554
+ # AdminBrandingGenerateClientSpkDsm6
555
+ #
556
+ # Download software (Synology SPK for DSM 6).
557
+ #
558
+ # This API requires administrator authentication credentials, unless the server is configured to allow unauthenticated software downloads.
559
+ # This API requires the Software Build Role to be enabled.
560
+ # This API requires the Auth Role to be enabled.
561
+ #
562
+ # @param [String] self_address (Optional) The external URL of this server, used to resolve conflicts
563
+ # @return [String]
564
+ def admin_branding_generate_client_spk_dsm_6(self_address = nil)
565
+ submit_params = {}
566
+ if self_address.nil?
567
+ submit_params['SelfAddress'] = @server_address
568
+ else
569
+ raise TypeError, "'self_address' expected String, got #{self_address.class}" unless self_address.is_a? String
570
+
571
+ submit_params['SelfAddress'] = self_address
572
+ end
573
+
574
+ perform_request('api/v1/admin/branding/generate-client/spk-dsm6', submit_params)
575
+ end
576
+
577
+ # AdminBrandingGenerateClientSpkDsm7
578
+ #
579
+ # Download software (Synology SPK for DSM 7).
580
+ #
581
+ # This API requires administrator authentication credentials, unless the server is configured to allow unauthenticated software downloads.
582
+ # This API requires the Software Build Role to be enabled.
583
+ # This API requires the Auth Role to be enabled.
584
+ #
585
+ # @param [String] self_address (Optional) The external URL of this server, used to resolve conflicts
586
+ # @return [String]
587
+ def admin_branding_generate_client_spk_dsm_7(self_address = nil)
588
+ submit_params = {}
589
+ if self_address.nil?
590
+ submit_params['SelfAddress'] = @server_address
591
+ else
592
+ raise TypeError, "'self_address' expected String, got #{self_address.class}" unless self_address.is_a? String
593
+
594
+ submit_params['SelfAddress'] = self_address
595
+ end
596
+
597
+ perform_request('api/v1/admin/branding/generate-client/spk-dsm7', submit_params)
598
+ end
599
+
554
600
  # AdminBrandingGenerateClientTest
555
601
  #
556
602
  # Check if a software download is available.
@@ -828,8 +874,10 @@ module Comet
828
874
 
829
875
  # AdminCreateInstallToken
830
876
  #
831
- # Create token for silent installation (Windows only).
877
+ # Create token for silent installation.
878
+ # Currently only supported for Windows & macOS only
832
879
  # Provide the installation token to silently install the client on windows `install.exe /TOKEN=<installtoken>`
880
+ # Provide the installation token to silently install the client on Mac OS `sudo launchctl setenv BACKUP_APP_TOKEN "installtoken" && sudo /usr/sbin/installer -allowUntrusted -pkg "Comet Backup.pkg" -target /`
833
881
  #
834
882
  # You must supply administrator authentication credentials to use this API.
835
883
  # This API requires the Auth Role to be enabled.
@@ -1631,9 +1679,10 @@ module Comet
1631
1679
  # @param [String] target_id The live connection GUID
1632
1680
  # @param [String] destination The Storage Vault ID
1633
1681
  # @param [String] snapshot_id The selected backup job snapshot
1634
- # @param [String] tree_id (Optional) Browse objects inside subdirectory of backup snapshot
1682
+ # @param [String] tree_id (Optional) Browse objects inside subdirectory of backup snapshot. If it is for VMDK single file restore, it should be the disk image's subtree ID.
1683
+ # @param [Comet::VMDKSnapshotViewOptions] options (Optional) Request a list of stored objects in vmdk file
1635
1684
  # @return [Comet::DispatcherStoredObjectsResponse]
1636
- def admin_dispatcher_request_stored_objects(target_id, destination, snapshot_id, tree_id = nil)
1685
+ def admin_dispatcher_request_stored_objects(target_id, destination, snapshot_id, tree_id = nil, options = nil)
1637
1686
  submit_params = {}
1638
1687
  raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
1639
1688
 
@@ -1649,6 +1698,11 @@ module Comet
1649
1698
 
1650
1699
  submit_params['TreeID'] = tree_id
1651
1700
  end
1701
+ unless options.nil?
1702
+ raise TypeError, "'options' expected Comet::VMDKSnapshotViewOptions, got #{options.class}" unless options.is_a? Comet::VMDKSnapshotViewOptions
1703
+
1704
+ submit_params['Options'] = options.to_json
1705
+ end
1652
1706
 
1653
1707
  body = perform_request('api/v1/admin/dispatcher/request-stored-objects', submit_params)
1654
1708
  json_body = JSON.parse body
@@ -9,6 +9,18 @@
9
9
 
10
10
  module Comet
11
11
 
12
+ # AutoRetentionLevel: The system will automatically choose how often to run an automatic Retention Pass after each backup job.
13
+ BACKUPJOBAUTORETENTION_AUTOMATIC = 0
14
+
15
+ # AutoRetentionLevel: The system will run a Retention Pass after every single backup job. This is more system-intensive, but is the most responsive at freeing storage space.
16
+ BACKUPJOBAUTORETENTION_IMMEDIATE = 1
17
+
18
+ # AutoRetentionLevel: The system will follow the automatic ruleset for a 'High Power' device.
19
+ BACKUPJOBAUTORETENTION_MORE_OFTEN = 2
20
+
21
+ # AutoRetentionLevel: The system will follow the automatic ruleset for a 'Low Power' device.
22
+ BACKUPJOBAUTORETENTION_LESS_OFTEN = 3
23
+
12
24
  # JobClassification:
13
25
  JOB_CLASSIFICATION__MIN = 4000
14
26
 
@@ -144,6 +156,8 @@ module Comet
144
156
  # FtpsModeType:
145
157
  FTPS_MODE_EXPLICIT = 2
146
158
 
159
+ INSTALLER_METADATA_FILE = 'installer.json'
160
+
147
161
  # Severity:
148
162
  SEVERITY_INFO = 'I'
149
163
 
@@ -197,6 +211,15 @@ module Comet
197
211
  # RestoreType:
198
212
  RESTORETYPE_OFFICE365_CLOUD = 6
199
213
 
214
+ # RestoreType:
215
+ RESTORETYPE_VMDK_FILE = 7
216
+
217
+ # RestoreType:
218
+ RESTORETYPE_VMDK_FILE_NULL = 8
219
+
220
+ # RestoreType:
221
+ RESTORETYPE_VMDK_FILE_ARCHIVE = 9
222
+
200
223
  # RestoreType: RESTORETYPE_PROCESS_ARCHIVE
201
224
  RESTORETYPE_PROCESS_TARBALL = 3
202
225
 
@@ -392,6 +415,18 @@ module Comet
392
415
  # StoredObjectType:
393
416
  STOREDOBJECTTYPE_MSSITELISTDRIVEENTITY = 'mssitelistdriveentity'
394
417
 
418
+ # StoredObjectType:
419
+ STOREDOBJECTTYPE_VMDK_FILE = 'vmdkfile'
420
+
421
+ # StoredObjectType:
422
+ STOREDOBJECTTYPE_VMDK_DIRECTORY = 'vmdkdir'
423
+
424
+ # StoredObjectType:
425
+ STOREDOBJECTTYPE_VMDK_WINEFS = 'vmdkwinefs'
426
+
427
+ # StoredObjectType:
428
+ STOREDOBJECTTYPE_VMDK_SYMLINK = 'vmdksymlink'
429
+
395
430
  # ExtraFileExclusionOSRestriction:
396
431
  OS_ANY = 0
397
432
 
@@ -430,13 +465,13 @@ module Comet
430
465
 
431
466
  DEFAULT_TIMEZONE = 'UTC'
432
467
 
433
- APPLICATION_VERSION = '21.12.4'
468
+ APPLICATION_VERSION = '22.3.5'
434
469
 
435
- APPLICATION_VERSION_MAJOR = 21
470
+ APPLICATION_VERSION_MAJOR = 22
436
471
 
437
- APPLICATION_VERSION_MINOR = 12
472
+ APPLICATION_VERSION_MINOR = 3
438
473
 
439
- APPLICATION_VERSION_REVISION = 4
474
+ APPLICATION_VERSION_REVISION = 5
440
475
 
441
476
  RELEASE_CODENAME = 'Voyager'
442
477
 
@@ -448,6 +483,8 @@ module Comet
448
483
 
449
484
  TOTPREQUIRED_ERROR = 'ERR_TOTP_REQUIRED'
450
485
 
486
+ UNSUPPORT_VMDK_FILE_SYSTEM = 'ERR_UNSUPPORT_VMDK_FILE_SYSTEM'
487
+
451
488
  EMAIL_WORKER_STATE_NOT_STARTED = 0
452
489
 
453
490
  EMAIL_WORKER_STATE_STARTED = 1
@@ -32,6 +32,9 @@ module Comet
32
32
  # @type [Boolean] allow_zero_files_success
33
33
  attr_accessor :allow_zero_files_success
34
34
 
35
+ # @type [Number] auto_retention_level
36
+ attr_accessor :auto_retention_level
37
+
35
38
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
36
39
  attr_accessor :unknown_json_fields
37
40
 
@@ -42,6 +45,7 @@ module Comet
42
45
  def clear
43
46
  @stop_after = 0
44
47
  @limit_vault_speed_bps = 0
48
+ @auto_retention_level = 0
45
49
  @unknown_json_fields = {}
46
50
  end
47
51
 
@@ -74,6 +78,10 @@ module Comet
74
78
  @use_on_disk_indexes = v
75
79
  when 'AllowZeroFilesSuccess'
76
80
  @allow_zero_files_success = v
81
+ when 'AutoRetentionLevel'
82
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
83
+
84
+ @auto_retention_level = v
77
85
  else
78
86
  @unknown_json_fields[k] = v
79
87
  end
@@ -89,6 +97,7 @@ module Comet
89
97
  ret['ReduceDiskConcurrency'] = @reduce_disk_concurrency
90
98
  ret['UseOnDiskIndexes'] = @use_on_disk_indexes
91
99
  ret['AllowZeroFilesSuccess'] = @allow_zero_files_success
100
+ ret['AutoRetentionLevel'] = @auto_retention_level
92
101
  @unknown_json_fields.each do |k, v|
93
102
  ret[k] = v
94
103
  end
@@ -65,6 +65,9 @@ module Comet
65
65
  # @type [Number] download_size
66
66
  attr_accessor :download_size
67
67
 
68
+ # @type [Number] total_vm_count
69
+ attr_accessor :total_vm_count
70
+
68
71
  # @type [Number] total_mails_count
69
72
  attr_accessor :total_mails_count
70
73
 
@@ -117,6 +120,7 @@ module Comet
117
120
  @total_chunks = 0
118
121
  @upload_size = 0
119
122
  @download_size = 0
123
+ @total_vm_count = 0
120
124
  @total_mails_count = 0
121
125
  @total_sites_count = 0
122
126
  @total_accounts_count = 0
@@ -210,6 +214,10 @@ module Comet
210
214
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
211
215
 
212
216
  @download_size = v
217
+ when 'TotalVmCount'
218
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
219
+
220
+ @total_vm_count = v
213
221
  when 'TotalMailsCount'
214
222
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
215
223
 
@@ -271,6 +279,9 @@ module Comet
271
279
  ret['TotalChunks'] = @total_chunks
272
280
  ret['UploadSize'] = @upload_size
273
281
  ret['DownloadSize'] = @download_size
282
+ unless @total_vm_count.nil?
283
+ ret['TotalVmCount'] = @total_vm_count
284
+ end
274
285
  unless @total_mails_count.nil?
275
286
  ret['TotalMailsCount'] = @total_mails_count
276
287
  end
@@ -56,6 +56,9 @@ module Comet
56
56
  # @type [Boolean] allow_zero_files_success
57
57
  attr_accessor :allow_zero_files_success
58
58
 
59
+ # @type [Number] auto_retention_level
60
+ attr_accessor :auto_retention_level
61
+
59
62
  # @type [Array<Comet::ScheduleConfig>] schedules
60
63
  attr_accessor :schedules
61
64
 
@@ -80,6 +83,7 @@ module Comet
80
83
  @destination = ''
81
84
  @stop_after = 0
82
85
  @limit_vault_speed_bps = 0
86
+ @auto_retention_level = 0
83
87
  @schedules = []
84
88
  @event_triggers = Comet::BackupRuleEventTriggers.new
85
89
  @unknown_json_fields = {}
@@ -167,6 +171,10 @@ module Comet
167
171
  @use_on_disk_indexes = v
168
172
  when 'AllowZeroFilesSuccess'
169
173
  @allow_zero_files_success = v
174
+ when 'AutoRetentionLevel'
175
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
176
+
177
+ @auto_retention_level = v
170
178
  when 'Schedules'
171
179
  if v.nil?
172
180
  @schedules = []
@@ -203,6 +211,7 @@ module Comet
203
211
  ret['ReduceDiskConcurrency'] = @reduce_disk_concurrency
204
212
  ret['UseOnDiskIndexes'] = @use_on_disk_indexes
205
213
  ret['AllowZeroFilesSuccess'] = @allow_zero_files_success
214
+ ret['AutoRetentionLevel'] = @auto_retention_level
206
215
  ret['Schedules'] = @schedules
207
216
  ret['EventTriggers'] = @event_triggers
208
217
  @unknown_json_fields.each do |k, v|
@@ -71,6 +71,9 @@ module Comet
71
71
  # @type [String] path_header_image
72
72
  attr_accessor :path_header_image
73
73
 
74
+ # @type [String] path_app_icon_image
75
+ attr_accessor :path_app_icon_image
76
+
74
77
  # @type [String] package_identifier
75
78
  attr_accessor :package_identifier
76
79
 
@@ -128,6 +131,7 @@ module Comet
128
131
  @path_eula_rtf = ''
129
132
  @path_tile_png = ''
130
133
  @path_header_image = ''
134
+ @path_app_icon_image = ''
131
135
  @package_identifier = ''
132
136
  @windows_code_sign_pkcs12file_path = ''
133
137
  @windows_code_sign_pkcs12password_format = 0
@@ -225,6 +229,10 @@ module Comet
225
229
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
226
230
 
227
231
  @path_header_image = v
232
+ when 'PathAppIconImage'
233
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
234
+
235
+ @path_app_icon_image = v
228
236
  when 'PackageIdentifier'
229
237
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
230
238
 
@@ -296,6 +304,7 @@ module Comet
296
304
  ret['PathEulaRtf'] = @path_eula_rtf
297
305
  ret['PathTilePng'] = @path_tile_png
298
306
  ret['PathHeaderImage'] = @path_header_image
307
+ ret['PathAppIconImage'] = @path_app_icon_image
299
308
  ret['PackageIdentifier'] = @package_identifier
300
309
  ret['WindowsCodeSignPKCS12FilePath'] = @windows_code_sign_pkcs12file_path
301
310
  ret['WindowsCodeSignPKCS12PasswordFormat'] = @windows_code_sign_pkcs12password_format
@@ -56,6 +56,9 @@ module Comet
56
56
  # @type [String] path_header_image
57
57
  attr_accessor :path_header_image
58
58
 
59
+ # @type [String] path_app_icon_image
60
+ attr_accessor :path_app_icon_image
61
+
59
62
  # @type [String] package_identifier
60
63
  attr_accessor :package_identifier
61
64
 
@@ -109,6 +112,7 @@ module Comet
109
112
  @path_eula_rtf = ''
110
113
  @path_tile_png = ''
111
114
  @path_header_image = ''
115
+ @path_app_icon_image = ''
112
116
  @package_identifier = ''
113
117
  @windows_code_sign_pkcs12file_path = ''
114
118
  @windows_code_sign_pkcs12password_format = 0
@@ -188,6 +192,10 @@ module Comet
188
192
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
189
193
 
190
194
  @path_header_image = v
195
+ when 'PathAppIconImage'
196
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
197
+
198
+ @path_app_icon_image = v
191
199
  when 'PackageIdentifier'
192
200
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
193
201
 
@@ -254,6 +262,7 @@ module Comet
254
262
  ret['PathEulaRtf'] = @path_eula_rtf
255
263
  ret['PathTilePng'] = @path_tile_png
256
264
  ret['PathHeaderImage'] = @path_header_image
265
+ ret['PathAppIconImage'] = @path_app_icon_image
257
266
  ret['PackageIdentifier'] = @package_identifier
258
267
  ret['WindowsCodeSignPKCS12FilePath'] = @windows_code_sign_pkcs12file_path
259
268
  ret['WindowsCodeSignPKCS12PasswordFormat'] = @windows_code_sign_pkcs12password_format
@@ -0,0 +1,108 @@
1
+ #!/usr/bin/env ruby --enable-frozen-string-literal
2
+ #
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
+ # Please see the LICENSE file for usage information.
5
+ #
6
+ # SPDX-License-Identifier: MIT
7
+ #
8
+ # frozen_string_literal: true
9
+
10
+ require 'json'
11
+
12
+ module Comet
13
+
14
+ # DaysOfWeekConfig is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class DaysOfWeekConfig
16
+
17
+ # @type [Boolean] sunday
18
+ attr_accessor :sunday
19
+
20
+ # @type [Boolean] monday
21
+ attr_accessor :monday
22
+
23
+ # @type [Boolean] tuesday
24
+ attr_accessor :tuesday
25
+
26
+ # @type [Boolean] wednesday
27
+ attr_accessor :wednesday
28
+
29
+ # @type [Boolean] thursday
30
+ attr_accessor :thursday
31
+
32
+ # @type [Boolean] friday
33
+ attr_accessor :friday
34
+
35
+ # @type [Boolean] saturday
36
+ attr_accessor :saturday
37
+
38
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
39
+ attr_accessor :unknown_json_fields
40
+
41
+ def initialize
42
+ clear
43
+ end
44
+
45
+ def clear
46
+ @unknown_json_fields = {}
47
+ end
48
+
49
+ # @param [String] json_string The complete object in JSON format
50
+ def from_json(json_string)
51
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
52
+
53
+ from_hash(JSON.parse(json_string))
54
+ end
55
+
56
+ # @param [Hash] obj The complete object as a Ruby hash
57
+ def from_hash(obj)
58
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
59
+
60
+ obj.each do |k, v|
61
+ case k
62
+ when 'Sunday'
63
+ @sunday = v
64
+ when 'Monday'
65
+ @monday = v
66
+ when 'Tuesday'
67
+ @tuesday = v
68
+ when 'Wednesday'
69
+ @wednesday = v
70
+ when 'Thursday'
71
+ @thursday = v
72
+ when 'Friday'
73
+ @friday = v
74
+ when 'Saturday'
75
+ @saturday = v
76
+ else
77
+ @unknown_json_fields[k] = v
78
+ end
79
+ end
80
+ end
81
+
82
+ # @return [Hash] The complete object as a Ruby hash
83
+ def to_hash
84
+ ret = {}
85
+ ret['Sunday'] = @sunday
86
+ ret['Monday'] = @monday
87
+ ret['Tuesday'] = @tuesday
88
+ ret['Wednesday'] = @wednesday
89
+ ret['Thursday'] = @thursday
90
+ ret['Friday'] = @friday
91
+ ret['Saturday'] = @saturday
92
+ @unknown_json_fields.each do |k, v|
93
+ ret[k] = v
94
+ end
95
+ ret
96
+ end
97
+
98
+ # @return [Hash] The complete object as a Ruby hash
99
+ def to_h
100
+ to_hash
101
+ end
102
+
103
+ # @return [String] The complete object as a JSON string
104
+ def to_json(options = {})
105
+ to_hash.to_json(options)
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,84 @@
1
+ #!/usr/bin/env ruby --enable-frozen-string-literal
2
+ #
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
+ # Please see the LICENSE file for usage information.
5
+ #
6
+ # SPDX-License-Identifier: MIT
7
+ #
8
+ # frozen_string_literal: true
9
+
10
+ require 'json'
11
+
12
+ module Comet
13
+
14
+ # HourSchedConfig is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class HourSchedConfig
16
+
17
+ # @type [Number] hour
18
+ attr_accessor :hour
19
+
20
+ # @type [Number] minutes
21
+ attr_accessor :minutes
22
+
23
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
24
+ attr_accessor :unknown_json_fields
25
+
26
+ def initialize
27
+ clear
28
+ end
29
+
30
+ def clear
31
+ @hour = 0
32
+ @minutes = 0
33
+ @unknown_json_fields = {}
34
+ end
35
+
36
+ # @param [String] json_string The complete object in JSON format
37
+ def from_json(json_string)
38
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
39
+
40
+ from_hash(JSON.parse(json_string))
41
+ end
42
+
43
+ # @param [Hash] obj The complete object as a Ruby hash
44
+ def from_hash(obj)
45
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
46
+
47
+ obj.each do |k, v|
48
+ case k
49
+ when 'Hour'
50
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
51
+
52
+ @hour = v
53
+ when 'Minutes'
54
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
55
+
56
+ @minutes = v
57
+ else
58
+ @unknown_json_fields[k] = v
59
+ end
60
+ end
61
+ end
62
+
63
+ # @return [Hash] The complete object as a Ruby hash
64
+ def to_hash
65
+ ret = {}
66
+ ret['Hour'] = @hour
67
+ ret['Minutes'] = @minutes
68
+ @unknown_json_fields.each do |k, v|
69
+ ret[k] = v
70
+ end
71
+ ret
72
+ end
73
+
74
+ # @return [Hash] The complete object as a Ruby hash
75
+ def to_h
76
+ to_hash
77
+ end
78
+
79
+ # @return [String] The complete object as a JSON string
80
+ def to_json(options = {})
81
+ to_hash.to_json(options)
82
+ end
83
+ end
84
+ end
@@ -12,6 +12,7 @@ require 'json'
12
12
  module Comet
13
13
 
14
14
  # JobEntry is a typed class wrapper around the underlying Comet Server API data structure.
15
+ # JobEntry is a single entry within a job report.
15
16
  class JobEntry
16
17
 
17
18
  # @type [Number] time
@@ -17,6 +17,9 @@ module Comet
17
17
  # @type [Number] level
18
18
  attr_accessor :level
19
19
 
20
+ # @type [Boolean] sign_locally
21
+ attr_accessor :sign_locally
22
+
20
23
  # @type [Comet::SSHConnection] sshserver
21
24
  attr_accessor :sshserver
22
25
 
@@ -35,6 +38,27 @@ module Comet
35
38
  # @type [Number] apple_idpass_format
36
39
  attr_accessor :apple_idpass_format
37
40
 
41
+ # @type [String] certificate_file
42
+ attr_accessor :certificate_file
43
+
44
+ # @type [String] app_certificate_file
45
+ attr_accessor :app_certificate_file
46
+
47
+ # @type [String] pfx_file_password
48
+ attr_accessor :pfx_file_password
49
+
50
+ # @type [Number] pfx_file_password_format
51
+ attr_accessor :pfx_file_password_format
52
+
53
+ # @type [String] notary_apiissuer_id
54
+ attr_accessor :notary_apiissuer_id
55
+
56
+ # @type [String] notary_apikey_id
57
+ attr_accessor :notary_apikey_id
58
+
59
+ # @type [String] notary_apikey_file
60
+ attr_accessor :notary_apikey_file
61
+
38
62
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
39
63
  attr_accessor :unknown_json_fields
40
64
 
@@ -50,6 +74,13 @@ module Comet
50
74
  @apple_id = ''
51
75
  @apple_idpass = ''
52
76
  @apple_idpass_format = 0
77
+ @certificate_file = ''
78
+ @app_certificate_file = ''
79
+ @pfx_file_password = ''
80
+ @pfx_file_password_format = 0
81
+ @notary_apiissuer_id = ''
82
+ @notary_apikey_id = ''
83
+ @notary_apikey_file = ''
53
84
  @unknown_json_fields = {}
54
85
  end
55
86
 
@@ -70,6 +101,8 @@ module Comet
70
101
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
71
102
 
72
103
  @level = v
104
+ when 'SignLocally'
105
+ @sign_locally = v
73
106
  when 'SSHServer'
74
107
  @sshserver = Comet::SSHConnection.new
75
108
  @sshserver.from_hash(v)
@@ -93,6 +126,34 @@ module Comet
93
126
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
94
127
 
95
128
  @apple_idpass_format = v
129
+ when 'CertificateFile'
130
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
131
+
132
+ @certificate_file = v
133
+ when 'AppCertificateFile'
134
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
135
+
136
+ @app_certificate_file = v
137
+ when 'PfxFilePassword'
138
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
139
+
140
+ @pfx_file_password = v
141
+ when 'PfxFilePasswordFormat'
142
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
143
+
144
+ @pfx_file_password_format = v
145
+ when 'NotaryAPIIssuerID'
146
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
147
+
148
+ @notary_apiissuer_id = v
149
+ when 'NotaryAPIKeyID'
150
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
151
+
152
+ @notary_apikey_id = v
153
+ when 'NotaryAPIKeyFile'
154
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
155
+
156
+ @notary_apikey_file = v
96
157
  else
97
158
  @unknown_json_fields[k] = v
98
159
  end
@@ -103,12 +164,20 @@ module Comet
103
164
  def to_hash
104
165
  ret = {}
105
166
  ret['Level'] = @level
167
+ ret['SignLocally'] = @sign_locally
106
168
  ret['SSHServer'] = @sshserver
107
169
  ret['CertificateName'] = @certificate_name
108
170
  ret['AppCertificateName'] = @app_certificate_name
109
171
  ret['AppleID'] = @apple_id
110
172
  ret['AppleIDPass'] = @apple_idpass
111
173
  ret['AppleIDPassFormat'] = @apple_idpass_format
174
+ ret['CertificateFile'] = @certificate_file
175
+ ret['AppCertificateFile'] = @app_certificate_file
176
+ ret['PfxFilePassword'] = @pfx_file_password
177
+ ret['PfxFilePasswordFormat'] = @pfx_file_password_format
178
+ ret['NotaryAPIIssuerID'] = @notary_apiissuer_id
179
+ ret['NotaryAPIKeyID'] = @notary_apikey_id
180
+ ret['NotaryAPIKeyFile'] = @notary_apikey_file
112
181
  @unknown_json_fields.each do |k, v|
113
182
  ret[k] = v
114
183
  end
@@ -32,6 +32,9 @@ module Comet
32
32
  # @type [String] path_header_image
33
33
  attr_accessor :path_header_image
34
34
 
35
+ # @type [String] path_app_icon_image
36
+ attr_accessor :path_app_icon_image
37
+
35
38
  # @type [String] package_identifier
36
39
  attr_accessor :package_identifier
37
40
 
@@ -79,6 +82,7 @@ module Comet
79
82
  @path_eula_rtf = ''
80
83
  @path_tile_png = ''
81
84
  @path_header_image = ''
85
+ @path_app_icon_image = ''
82
86
  @package_identifier = ''
83
87
  @windows_code_sign_pkcs12file_path = ''
84
88
  @windows_code_sign_pkcs12password_format = 0
@@ -130,6 +134,10 @@ module Comet
130
134
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
131
135
 
132
136
  @path_header_image = v
137
+ when 'PathAppIconImage'
138
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
139
+
140
+ @path_app_icon_image = v
133
141
  when 'PackageIdentifier'
134
142
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
135
143
 
@@ -188,6 +196,7 @@ module Comet
188
196
  ret['PathEulaRtf'] = @path_eula_rtf
189
197
  ret['PathTilePng'] = @path_tile_png
190
198
  ret['PathHeaderImage'] = @path_header_image
199
+ ret['PathAppIconImage'] = @path_app_icon_image
191
200
  ret['PackageIdentifier'] = @package_identifier
192
201
  ret['WindowsCodeSignPKCS12FilePath'] = @windows_code_sign_pkcs12file_path
193
202
  ret['WindowsCodeSignPKCS12PasswordFormat'] = @windows_code_sign_pkcs12password_format
@@ -23,6 +23,21 @@ module Comet
23
23
  # @type [Number] offset
24
24
  attr_accessor :offset
25
25
 
26
+ # @type [Boolean] restrict_runtime
27
+ attr_accessor :restrict_runtime
28
+
29
+ # @type [Comet::HourSchedConfig] from_time
30
+ attr_accessor :from_time
31
+
32
+ # @type [Comet::HourSchedConfig] to_time
33
+ attr_accessor :to_time
34
+
35
+ # @type [Boolean] restrict_days
36
+ attr_accessor :restrict_days
37
+
38
+ # @type [Comet::DaysOfWeekConfig] days_select
39
+ attr_accessor :days_select
40
+
26
41
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
27
42
  attr_accessor :unknown_json_fields
28
43
 
@@ -34,6 +49,9 @@ module Comet
34
49
  @frequency_type = 0
35
50
  @seconds_past = 0
36
51
  @offset = 0
52
+ @from_time = Comet::HourSchedConfig.new
53
+ @to_time = Comet::HourSchedConfig.new
54
+ @days_select = Comet::DaysOfWeekConfig.new
37
55
  @unknown_json_fields = {}
38
56
  end
39
57
 
@@ -62,6 +80,19 @@ module Comet
62
80
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
63
81
 
64
82
  @offset = v
83
+ when 'RestrictRuntime'
84
+ @restrict_runtime = v
85
+ when 'FromTime'
86
+ @from_time = Comet::HourSchedConfig.new
87
+ @from_time.from_hash(v)
88
+ when 'ToTime'
89
+ @to_time = Comet::HourSchedConfig.new
90
+ @to_time.from_hash(v)
91
+ when 'RestrictDays'
92
+ @restrict_days = v
93
+ when 'DaysSelect'
94
+ @days_select = Comet::DaysOfWeekConfig.new
95
+ @days_select.from_hash(v)
65
96
  else
66
97
  @unknown_json_fields[k] = v
67
98
  end
@@ -76,6 +107,11 @@ module Comet
76
107
  unless @offset.nil?
77
108
  ret['Offset'] = @offset
78
109
  end
110
+ ret['RestrictRuntime'] = @restrict_runtime
111
+ ret['FromTime'] = @from_time
112
+ ret['ToTime'] = @to_time
113
+ ret['RestrictDays'] = @restrict_days
114
+ ret['DaysSelect'] = @days_select
79
115
  @unknown_json_fields.each do |k, v|
80
116
  ret[k] = v
81
117
  end
@@ -20,6 +20,7 @@ module Comet
20
20
  # @type [Number] modify_time
21
21
  attr_accessor :modify_time
22
22
 
23
+ # One of the STOREDOBJECTTYPE_... constant values
23
24
  # @type [String] type
24
25
  attr_accessor :type
25
26
 
@@ -12,6 +12,9 @@ require 'json'
12
12
  module Comet
13
13
 
14
14
  # UpdateCampaignOptions is a typed class wrapper around the underlying Comet Server API data structure.
15
+ # This data structure describes which devices should receive a remote software upgrade. Both the
16
+ # target version criteria (UpgradeOlder/ReinstallCurrentVer/DowngradeNewer) and the target device
17
+ # criteria (ApplyDeviceFilter/DeviceFilter) must be met in order for the remote upgrade to be applied.
15
18
  class UpdateCampaignOptions
16
19
 
17
20
  # @type [Boolean] active
@@ -26,6 +29,15 @@ module Comet
26
29
  # @type [Boolean] downgrade_newer
27
30
  attr_accessor :downgrade_newer
28
31
 
32
+ # @type [Boolean] force_upgrade_running
33
+ attr_accessor :force_upgrade_running
34
+
35
+ # @type [Boolean] apply_device_filter
36
+ attr_accessor :apply_device_filter
37
+
38
+ # @type [Comet::SearchClause] device_filter
39
+ attr_accessor :device_filter
40
+
29
41
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
30
42
  attr_accessor :unknown_json_fields
31
43
 
@@ -34,6 +46,7 @@ module Comet
34
46
  end
35
47
 
36
48
  def clear
49
+ @device_filter = Comet::SearchClause.new
37
50
  @unknown_json_fields = {}
38
51
  end
39
52
 
@@ -58,6 +71,13 @@ module Comet
58
71
  @reinstall_current_ver = v
59
72
  when 'DowngradeNewer'
60
73
  @downgrade_newer = v
74
+ when 'ForceUpgradeRunning'
75
+ @force_upgrade_running = v
76
+ when 'ApplyDeviceFilter'
77
+ @apply_device_filter = v
78
+ when 'DeviceFilter'
79
+ @device_filter = Comet::SearchClause.new
80
+ @device_filter.from_hash(v)
61
81
  else
62
82
  @unknown_json_fields[k] = v
63
83
  end
@@ -71,6 +91,9 @@ module Comet
71
91
  ret['UpgradeOlder'] = @upgrade_older
72
92
  ret['ReinstallCurrentVer'] = @reinstall_current_ver
73
93
  ret['DowngradeNewer'] = @downgrade_newer
94
+ ret['ForceUpgradeRunning'] = @force_upgrade_running
95
+ ret['ApplyDeviceFilter'] = @apply_device_filter
96
+ ret['DeviceFilter'] = @device_filter
74
97
  @unknown_json_fields.each do |k, v|
75
98
  ret[k] = v
76
99
  end
@@ -26,6 +26,15 @@ module Comet
26
26
  # @type [Boolean] downgrade_newer
27
27
  attr_accessor :downgrade_newer
28
28
 
29
+ # @type [Boolean] force_upgrade_running
30
+ attr_accessor :force_upgrade_running
31
+
32
+ # @type [Boolean] apply_device_filter
33
+ attr_accessor :apply_device_filter
34
+
35
+ # @type [Comet::SearchClause] device_filter
36
+ attr_accessor :device_filter
37
+
29
38
  # @type [Number] start_time
30
39
  attr_accessor :start_time
31
40
 
@@ -40,6 +49,7 @@ module Comet
40
49
  end
41
50
 
42
51
  def clear
52
+ @device_filter = Comet::SearchClause.new
43
53
  @start_time = 0
44
54
  @target_version = ''
45
55
  @unknown_json_fields = {}
@@ -66,6 +76,13 @@ module Comet
66
76
  @reinstall_current_ver = v
67
77
  when 'DowngradeNewer'
68
78
  @downgrade_newer = v
79
+ when 'ForceUpgradeRunning'
80
+ @force_upgrade_running = v
81
+ when 'ApplyDeviceFilter'
82
+ @apply_device_filter = v
83
+ when 'DeviceFilter'
84
+ @device_filter = Comet::SearchClause.new
85
+ @device_filter.from_hash(v)
69
86
  when 'StartTime'
70
87
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
71
88
 
@@ -87,6 +104,9 @@ module Comet
87
104
  ret['UpgradeOlder'] = @upgrade_older
88
105
  ret['ReinstallCurrentVer'] = @reinstall_current_ver
89
106
  ret['DowngradeNewer'] = @downgrade_newer
107
+ ret['ForceUpgradeRunning'] = @force_upgrade_running
108
+ ret['ApplyDeviceFilter'] = @apply_device_filter
109
+ ret['DeviceFilter'] = @device_filter
90
110
  ret['StartTime'] = @start_time
91
111
  ret['TargetVersion'] = @target_version
92
112
  @unknown_json_fields.each do |k, v|
@@ -26,6 +26,15 @@ module Comet
26
26
  # @type [Boolean] downgrade_newer
27
27
  attr_accessor :downgrade_newer
28
28
 
29
+ # @type [Boolean] force_upgrade_running
30
+ attr_accessor :force_upgrade_running
31
+
32
+ # @type [Boolean] apply_device_filter
33
+ attr_accessor :apply_device_filter
34
+
35
+ # @type [Comet::SearchClause] device_filter
36
+ attr_accessor :device_filter
37
+
29
38
  # @type [Number] start_time
30
39
  attr_accessor :start_time
31
40
 
@@ -43,6 +52,7 @@ module Comet
43
52
  end
44
53
 
45
54
  def clear
55
+ @device_filter = Comet::SearchClause.new
46
56
  @start_time = 0
47
57
  @target_version = ''
48
58
  @devices = []
@@ -70,6 +80,13 @@ module Comet
70
80
  @reinstall_current_ver = v
71
81
  when 'DowngradeNewer'
72
82
  @downgrade_newer = v
83
+ when 'ForceUpgradeRunning'
84
+ @force_upgrade_running = v
85
+ when 'ApplyDeviceFilter'
86
+ @apply_device_filter = v
87
+ when 'DeviceFilter'
88
+ @device_filter = Comet::SearchClause.new
89
+ @device_filter.from_hash(v)
73
90
  when 'StartTime'
74
91
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
75
92
 
@@ -101,6 +118,9 @@ module Comet
101
118
  ret['UpgradeOlder'] = @upgrade_older
102
119
  ret['ReinstallCurrentVer'] = @reinstall_current_ver
103
120
  ret['DowngradeNewer'] = @downgrade_newer
121
+ ret['ForceUpgradeRunning'] = @force_upgrade_running
122
+ ret['ApplyDeviceFilter'] = @apply_device_filter
123
+ ret['DeviceFilter'] = @device_filter
104
124
  ret['StartTime'] = @start_time
105
125
  ret['TargetVersion'] = @target_version
106
126
  ret['Devices'] = @devices
@@ -12,6 +12,7 @@ require 'json'
12
12
  module Comet
13
13
 
14
14
  # UserProfileConfig is a typed class wrapper around the underlying Comet Server API data structure.
15
+ # This is the main data structure for a user's profile.
15
16
  class UserProfileConfig
16
17
 
17
18
  # @type [String] username
@@ -26,6 +27,7 @@ module Comet
26
27
  # @type [String] language_code
27
28
  attr_accessor :language_code
28
29
 
30
+ # Tenant
29
31
  # @type [String] organization_id
30
32
  attr_accessor :organization_id
31
33
 
@@ -38,9 +40,11 @@ module Comet
38
40
  # @type [Boolean] send_email_reports
39
41
  attr_accessor :send_email_reports
40
42
 
43
+ # Storage Vaults
41
44
  # @type [Hash{String => Comet::DestinationConfig}] destinations
42
45
  attr_accessor :destinations
43
46
 
47
+ # Protected Items
44
48
  # @type [Hash{String => Comet::SourceConfig}] sources
45
49
  attr_accessor :sources
46
50
 
@@ -62,12 +66,17 @@ module Comet
62
66
  # @type [Number] maximum_devices
63
67
  attr_accessor :maximum_devices
64
68
 
69
+ # If the PolicyID field is set to a non-empty string, the Comet Server will enforce the contents of
70
+ # the Policy field based on the matching server's policy. Otherwise if the PolicyID field is set to an
71
+ # empty string, the administrator may configure any custom values in the Policy field.
65
72
  # @type [String] policy_id
66
73
  attr_accessor :policy_id
67
74
 
68
75
  # @type [Comet::UserPolicy] policy
69
76
  attr_accessor :policy
70
77
 
78
+ # To change the user's password, use the AdminResetUserPassword API instead of accessing these fields
79
+ # directly. Otherwise, other encrypted fields in the user profile may become corrupted.
71
80
  # @type [Number] password_format
72
81
  attr_accessor :password_format
73
82
 
@@ -0,0 +1,90 @@
1
+ #!/usr/bin/env ruby --enable-frozen-string-literal
2
+ #
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
+ # Please see the LICENSE file for usage information.
5
+ #
6
+ # SPDX-License-Identifier: MIT
7
+ #
8
+ # frozen_string_literal: true
9
+
10
+ require 'json'
11
+
12
+ module Comet
13
+
14
+ # VMDKSnapshotViewOptions is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class VMDKSnapshotViewOptions
16
+
17
+ # @type [Boolean] enabled
18
+ attr_accessor :enabled
19
+
20
+ # @type [String] partition_guid
21
+ attr_accessor :partition_guid
22
+
23
+ # @type [String] list_path
24
+ attr_accessor :list_path
25
+
26
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
27
+ attr_accessor :unknown_json_fields
28
+
29
+ def initialize
30
+ clear
31
+ end
32
+
33
+ def clear
34
+ @partition_guid = ''
35
+ @list_path = ''
36
+ @unknown_json_fields = {}
37
+ end
38
+
39
+ # @param [String] json_string The complete object in JSON format
40
+ def from_json(json_string)
41
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
42
+
43
+ from_hash(JSON.parse(json_string))
44
+ end
45
+
46
+ # @param [Hash] obj The complete object as a Ruby hash
47
+ def from_hash(obj)
48
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
49
+
50
+ obj.each do |k, v|
51
+ case k
52
+ when 'Enabled'
53
+ @enabled = v
54
+ when 'PartitionGUID'
55
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
56
+
57
+ @partition_guid = v
58
+ when 'ListPath'
59
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
60
+
61
+ @list_path = v
62
+ else
63
+ @unknown_json_fields[k] = v
64
+ end
65
+ end
66
+ end
67
+
68
+ # @return [Hash] The complete object as a Ruby hash
69
+ def to_hash
70
+ ret = {}
71
+ ret['Enabled'] = @enabled
72
+ ret['PartitionGUID'] = @partition_guid
73
+ ret['ListPath'] = @list_path
74
+ @unknown_json_fields.each do |k, v|
75
+ ret[k] = v
76
+ end
77
+ ret
78
+ end
79
+
80
+ # @return [Hash] The complete object as a Ruby hash
81
+ def to_h
82
+ to_hash
83
+ end
84
+
85
+ # @return [String] The complete object as a JSON string
86
+ def to_json(options = {})
87
+ to_hash.to_json(options)
88
+ end
89
+ end
90
+ end
@@ -50,6 +50,7 @@ require_relative 'comet/models/content_measurement'
50
50
  require_relative 'comet/models/content_measurement_component'
51
51
  require_relative 'comet/models/create_group_policy_response'
52
52
  require_relative 'comet/models/custom_remote_bucket_settings'
53
+ require_relative 'comet/models/days_of_week_config'
53
54
  require_relative 'comet/models/default_email_report_policy'
54
55
  require_relative 'comet/models/default_source_with_osrestriction'
55
56
  require_relative 'comet/models/destination_config'
@@ -72,6 +73,7 @@ require_relative 'comet/models/get_group_policy_response'
72
73
  require_relative 'comet/models/get_profile_and_hash_response_message'
73
74
  require_relative 'comet/models/get_profile_hash_response_message'
74
75
  require_relative 'comet/models/group_policy'
76
+ require_relative 'comet/models/hour_sched_config'
75
77
  require_relative 'comet/models/hyper_vmachine_info'
76
78
  require_relative 'comet/models/install_creds'
77
79
  require_relative 'comet/models/install_token'
@@ -152,6 +154,7 @@ require_relative 'comet/models/user_policy'
152
154
  require_relative 'comet/models/user_profile_config'
153
155
  require_relative 'comet/models/user_profile_fragment'
154
156
  require_relative 'comet/models/vault_snapshot'
157
+ require_relative 'comet/models/vmdksnapshot_view_options'
155
158
  require_relative 'comet/models/vsscomponent'
156
159
  require_relative 'comet/models/vsswriter_info'
157
160
  require_relative 'comet/models/wasabi_virtual_storage_role_settings'
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: 1.12.0
4
+ version: 1.13.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: 2022-01-28 00:00:00.000000000 Z
11
+ date: 2022-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -126,6 +126,7 @@ files:
126
126
  - lib/comet/models/content_measurement_component.rb
127
127
  - lib/comet/models/create_group_policy_response.rb
128
128
  - lib/comet/models/custom_remote_bucket_settings.rb
129
+ - lib/comet/models/days_of_week_config.rb
129
130
  - lib/comet/models/default_email_report_policy.rb
130
131
  - lib/comet/models/default_source_with_osrestriction.rb
131
132
  - lib/comet/models/destination_config.rb
@@ -148,6 +149,7 @@ files:
148
149
  - lib/comet/models/get_profile_and_hash_response_message.rb
149
150
  - lib/comet/models/get_profile_hash_response_message.rb
150
151
  - lib/comet/models/group_policy.rb
152
+ - lib/comet/models/hour_sched_config.rb
151
153
  - lib/comet/models/hyper_vmachine_info.rb
152
154
  - lib/comet/models/install_creds.rb
153
155
  - lib/comet/models/install_token.rb
@@ -228,6 +230,7 @@ files:
228
230
  - lib/comet/models/user_profile_config.rb
229
231
  - lib/comet/models/user_profile_fragment.rb
230
232
  - lib/comet/models/vault_snapshot.rb
233
+ - lib/comet/models/vmdksnapshot_view_options.rb
231
234
  - lib/comet/models/vsscomponent.rb
232
235
  - lib/comet/models/vsswriter_info.rb
233
236
  - lib/comet/models/wasabi_virtual_storage_role_settings.rb