comet_backup_ruby_sdk 1.12.0 → 1.13.0

Sign up to get free protection for your applications and to get access to all the features.
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