comet_backup_ruby_sdk 1.4.0 → 1.8.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/.rubocop.yml +5 -0
- data/CHANGELOG.md +40 -0
- data/Gemfile.lock +2 -2
- data/RELEASING.md +6 -4
- data/comet_backup_ruby_sdk.gemspec +1 -1
- data/lib/comet/api_response_error.rb +0 -0
- data/lib/comet/comet_server.rb +227 -2
- data/lib/comet/definitions.rb +68 -5
- data/lib/comet/models/add_bucket_response_message.rb +0 -0
- data/lib/comet/models/admin_account_properties_response.rb +0 -0
- data/lib/comet/models/admin_email_options.rb +0 -0
- data/lib/comet/models/admin_resource_response.rb +0 -0
- data/lib/comet/models/admin_security_options.rb +0 -0
- data/lib/comet/models/admin_u2fregistration.rb +0 -0
- data/lib/comet/models/admin_user_permissions.rb +0 -0
- data/lib/comet/models/available_download.rb +0 -0
- data/lib/comet/models/azure_destination_location.rb +0 -0
- data/lib/comet/models/b2destination_location.rb +0 -0
- data/lib/comet/models/b2storage_extra_info.rb +0 -0
- data/lib/comet/models/b2transaction_totals.rb +0 -0
- data/lib/comet/models/b2virtual_storage_role_settings.rb +0 -0
- data/lib/comet/models/backup_job_advanced_options.rb +0 -0
- data/lib/comet/models/backup_job_detail.rb +33 -0
- data/lib/comet/models/backup_job_progress.rb +0 -0
- data/lib/comet/models/backup_rule_config.rb +0 -0
- data/lib/comet/models/backup_rule_event_triggers.rb +0 -0
- data/lib/comet/models/branding_options.rb +9 -0
- data/lib/comet/models/branding_properties.rb +9 -0
- data/lib/comet/models/browse_disk_drives_response.rb +0 -0
- data/lib/comet/models/browse_edbresponse.rb +0 -0
- data/lib/comet/models/browse_hvresponse.rb +0 -0
- data/lib/comet/models/browse_office_365objects_response.rb +99 -0
- data/lib/comet/models/browse_sqlserver_response.rb +100 -0
- data/lib/comet/models/browse_vssresponse.rb +0 -0
- data/lib/comet/models/bucket_properties.rb +0 -0
- data/lib/comet/models/bucket_usage_info.rb +0 -0
- data/lib/comet/models/comet_apiresponse_message.rb +0 -0
- data/lib/comet/models/comet_destination_location.rb +0 -0
- data/lib/comet/models/constellation_check_report.rb +0 -0
- data/lib/comet/models/constellation_stats.rb +0 -0
- data/lib/comet/models/constellation_status_apiresponse.rb +0 -0
- data/lib/comet/models/content_measurement.rb +0 -0
- data/lib/comet/models/content_measurement_component.rb +0 -0
- data/lib/comet/models/create_group_policy_response.rb +0 -0
- data/lib/comet/models/custom_remote_bucket_settings.rb +0 -0
- data/lib/comet/models/default_email_report_policy.rb +0 -0
- data/lib/comet/models/default_source_with_osrestriction.rb +83 -0
- data/lib/comet/models/destination_config.rb +0 -0
- data/lib/comet/models/destination_location.rb +0 -0
- data/lib/comet/models/destination_statistics.rb +0 -0
- data/lib/comet/models/device_config.rb +11 -0
- data/lib/comet/models/disk_drive.rb +0 -0
- data/lib/comet/models/dispatcher_admin_sources_response.rb +0 -0
- data/lib/comet/models/dispatcher_stored_objects_response.rb +0 -0
- data/lib/comet/models/dispatcher_vault_snapshots_response.rb +0 -0
- data/lib/comet/models/edbfile_info.rb +0 -0
- data/lib/comet/models/email_options.rb +0 -0
- data/lib/comet/models/email_report_config.rb +0 -0
- data/lib/comet/models/email_report_generated_preview.rb +0 -0
- data/lib/comet/models/external_ldapauthentication_source_settings.rb +0 -0
- data/lib/comet/models/extra_file_exclusion.rb +0 -0
- data/lib/comet/models/ftpdestination_location.rb +0 -0
- data/lib/comet/models/get_group_policy_response.rb +0 -0
- data/lib/comet/models/get_profile_and_hash_response_message.rb +0 -0
- data/lib/comet/models/get_profile_hash_response_message.rb +0 -0
- data/lib/comet/models/group_policy.rb +0 -0
- data/lib/comet/models/hyper_vmachine_info.rb +0 -0
- data/lib/comet/models/install_creds.rb +0 -0
- data/lib/comet/models/install_token.rb +0 -0
- data/lib/comet/models/install_token_response.rb +0 -0
- data/lib/comet/models/job_entry.rb +0 -0
- data/lib/comet/models/live_user_connection.rb +11 -0
- data/lib/comet/models/local_destination_location.rb +0 -0
- data/lib/comet/models/mac_oscode_sign_properties.rb +0 -0
- data/lib/comet/models/mongo_dbconnection.rb +0 -0
- data/lib/comet/models/mssqlconnection.rb +120 -0
- data/lib/comet/models/my_sqlconnection.rb +102 -0
- data/lib/comet/models/new_bucket_detail.rb +0 -0
- data/lib/comet/models/news_entry.rb +0 -0
- data/lib/comet/models/office_365connection.rb +123 -0
- data/lib/comet/models/office_365credential.rb +111 -0
- data/lib/comet/models/office_365custom_setting.rb +132 -0
- data/lib/comet/models/office_365object_info.rb +118 -0
- data/lib/comet/models/organization.rb +6 -0
- data/lib/comet/models/organization_response.rb +0 -0
- data/lib/comet/models/osinfo.rb +0 -0
- data/lib/comet/models/partition.rb +0 -0
- data/lib/comet/models/private_branding_properties.rb +9 -0
- data/lib/comet/models/protected_item_engine_type_policy.rb +0 -0
- data/lib/comet/models/public_branding_properties.rb +0 -0
- data/lib/comet/models/register_office_application_begin_response.rb +93 -0
- data/lib/comet/models/register_office_application_check_response.rb +100 -0
- data/lib/comet/models/remote_server_address.rb +0 -0
- data/lib/comet/models/remote_storage_option.rb +0 -0
- data/lib/comet/models/replicator_state_apiresponse.rb +0 -0
- data/lib/comet/models/request_storage_vault_response_message.rb +0 -0
- data/lib/comet/models/restore_job_advanced_options.rb +10 -0
- data/lib/comet/models/retention_policy.rb +0 -0
- data/lib/comet/models/retention_range.rb +0 -0
- data/lib/comet/models/s3destination_location.rb +0 -0
- data/lib/comet/models/schedule_config.rb +0 -0
- data/lib/comet/models/search_clause.rb +0 -0
- data/lib/comet/models/self_backup_statistics.rb +108 -0
- data/lib/comet/models/server_config_options_branding_fragment.rb +0 -0
- data/lib/comet/models/server_config_options_software_build_role_fragment.rb +0 -0
- data/lib/comet/models/server_meta_branding_properties.rb +135 -0
- data/lib/comet/models/server_meta_version_info.rb +15 -0
- data/lib/comet/models/session_key_regenerated_response.rb +0 -0
- data/lib/comet/models/sftpdestination_location.rb +0 -0
- data/lib/comet/models/size_measurement.rb +0 -0
- data/lib/comet/models/software_build_role_options.rb +0 -0
- data/lib/comet/models/software_update_news_response.rb +0 -0
- data/lib/comet/models/source_basic_info.rb +0 -0
- data/lib/comet/models/source_config.rb +0 -0
- data/lib/comet/models/source_include_pattern.rb +84 -0
- data/lib/comet/models/source_statistics.rb +8 -0
- data/lib/comet/models/spanned_destination_location.rb +0 -0
- data/lib/comet/models/spanned_storage_extra_info.rb +0 -0
- data/lib/comet/models/sshconnection.rb +0 -0
- data/lib/comet/models/stat_result.rb +0 -0
- data/lib/comet/models/storage_free_space_info.rb +0 -0
- data/lib/comet/models/storage_vault_provider_policy.rb +0 -0
- data/lib/comet/models/stored_object.rb +85 -0
- data/lib/comet/models/streamable_event.rb +0 -0
- data/lib/comet/models/swift_destination_location.rb +0 -0
- data/lib/comet/models/test_response.rb +0 -0
- data/lib/comet/models/totp_regenerated_response.rb +0 -0
- data/lib/comet/models/u2fregister_request.rb +0 -0
- data/lib/comet/models/u2fregistered_key.rb +0 -0
- data/lib/comet/models/u2fregistration_challenge_response.rb +0 -0
- data/lib/comet/models/u2fsign_request.rb +0 -0
- data/lib/comet/models/u2fsign_response.rb +0 -0
- data/lib/comet/models/uninstall_config.rb +0 -0
- data/lib/comet/models/update_campaign_device_status.rb +0 -0
- data/lib/comet/models/update_campaign_options.rb +0 -0
- data/lib/comet/models/update_campaign_properties.rb +0 -0
- data/lib/comet/models/update_campaign_status.rb +0 -0
- data/lib/comet/models/update_campaign_status_device_entry.rb +0 -0
- data/lib/comet/models/user_custom_email_settings.rb +0 -0
- data/lib/comet/models/user_on_server.rb +0 -0
- data/lib/comet/models/user_policy.rb +15 -0
- data/lib/comet/models/user_profile_config.rb +0 -0
- data/lib/comet/models/user_profile_fragment.rb +0 -0
- data/lib/comet/models/vault_snapshot.rb +0 -0
- data/lib/comet/models/vsscomponent.rb +0 -0
- data/lib/comet/models/vsswriter_info.rb +0 -0
- data/lib/comet/models/wasabi_virtual_storage_role_settings.rb +0 -0
- data/lib/comet/models/web_interface_branding_properties.rb +0 -0
- data/lib/comet/models/webhook_option.rb +16 -0
- data/lib/comet/models/win_smbauth.rb +0 -0
- data/lib/comet/models/windows_code_sign_properties.rb +0 -0
- data/lib/comet_backup_ruby_sdk.rb +14 -0
- metadata +17 -3
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -65,6 +65,15 @@ module Comet
|
|
|
65
65
|
# @type [Number] download_size
|
|
66
66
|
attr_accessor :download_size
|
|
67
67
|
|
|
68
|
+
# @type [Number] total_mails_count
|
|
69
|
+
attr_accessor :total_mails_count
|
|
70
|
+
|
|
71
|
+
# @type [Number] total_sites_count
|
|
72
|
+
attr_accessor :total_sites_count
|
|
73
|
+
|
|
74
|
+
# @type [Number] total_accounts_count
|
|
75
|
+
attr_accessor :total_accounts_count
|
|
76
|
+
|
|
68
77
|
# @type [String] cancellation_id
|
|
69
78
|
attr_accessor :cancellation_id
|
|
70
79
|
|
|
@@ -96,6 +105,9 @@ module Comet
|
|
|
96
105
|
@total_chunks = 0
|
|
97
106
|
@upload_size = 0
|
|
98
107
|
@download_size = 0
|
|
108
|
+
@total_mails_count = 0
|
|
109
|
+
@total_sites_count = 0
|
|
110
|
+
@total_accounts_count = 0
|
|
99
111
|
@cancellation_id = ''
|
|
100
112
|
@progress = Comet::BackupJobProgress.new
|
|
101
113
|
@unknown_json_fields = {}
|
|
@@ -182,6 +194,18 @@ module Comet
|
|
|
182
194
|
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
|
183
195
|
|
|
184
196
|
@download_size = v
|
|
197
|
+
when 'TotalMailsCount'
|
|
198
|
+
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
|
199
|
+
|
|
200
|
+
@total_mails_count = v
|
|
201
|
+
when 'TotalSitesCount'
|
|
202
|
+
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
|
203
|
+
|
|
204
|
+
@total_sites_count = v
|
|
205
|
+
when 'TotalAccountsCount'
|
|
206
|
+
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
|
207
|
+
|
|
208
|
+
@total_accounts_count = v
|
|
185
209
|
when 'CancellationID'
|
|
186
210
|
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
187
211
|
|
|
@@ -217,6 +241,15 @@ module Comet
|
|
|
217
241
|
ret['TotalChunks'] = @total_chunks
|
|
218
242
|
ret['UploadSize'] = @upload_size
|
|
219
243
|
ret['DownloadSize'] = @download_size
|
|
244
|
+
unless @total_mails_count.nil?
|
|
245
|
+
ret['TotalMailsCount'] = @total_mails_count
|
|
246
|
+
end
|
|
247
|
+
unless @total_sites_count.nil?
|
|
248
|
+
ret['TotalSitesCount'] = @total_sites_count
|
|
249
|
+
end
|
|
250
|
+
unless @total_accounts_count.nil?
|
|
251
|
+
ret['TotalAccountsCount'] = @total_accounts_count
|
|
252
|
+
end
|
|
220
253
|
unless @cancellation_id.nil?
|
|
221
254
|
ret['CancellationID'] = @cancellation_id
|
|
222
255
|
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -59,6 +59,9 @@ module Comet
|
|
|
59
59
|
# @type [String] path_icns_file
|
|
60
60
|
attr_accessor :path_icns_file
|
|
61
61
|
|
|
62
|
+
# @type [String] path_menu_bar_icns_file
|
|
63
|
+
attr_accessor :path_menu_bar_icns_file
|
|
64
|
+
|
|
62
65
|
# @type [String] path_eula_rtf
|
|
63
66
|
attr_accessor :path_eula_rtf
|
|
64
67
|
|
|
@@ -121,6 +124,7 @@ module Comet
|
|
|
121
124
|
@account_register_url = ''
|
|
122
125
|
@path_ico_file = ''
|
|
123
126
|
@path_icns_file = ''
|
|
127
|
+
@path_menu_bar_icns_file = ''
|
|
124
128
|
@path_eula_rtf = ''
|
|
125
129
|
@path_tile_png = ''
|
|
126
130
|
@path_header_image = ''
|
|
@@ -205,6 +209,10 @@ module Comet
|
|
|
205
209
|
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
206
210
|
|
|
207
211
|
@path_icns_file = v
|
|
212
|
+
when 'PathMenuBarIcnsFile'
|
|
213
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
214
|
+
|
|
215
|
+
@path_menu_bar_icns_file = v
|
|
208
216
|
when 'PathEulaRtf'
|
|
209
217
|
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
210
218
|
|
|
@@ -284,6 +292,7 @@ module Comet
|
|
|
284
292
|
ret['HideBackgroundLogo'] = @hide_background_logo
|
|
285
293
|
ret['PathIcoFile'] = @path_ico_file
|
|
286
294
|
ret['PathIcnsFile'] = @path_icns_file
|
|
295
|
+
ret['PathMenuBarIcnsFile'] = @path_menu_bar_icns_file
|
|
287
296
|
ret['PathEulaRtf'] = @path_eula_rtf
|
|
288
297
|
ret['PathTilePng'] = @path_tile_png
|
|
289
298
|
ret['PathHeaderImage'] = @path_header_image
|
|
@@ -44,6 +44,9 @@ module Comet
|
|
|
44
44
|
# @type [String] path_icns_file
|
|
45
45
|
attr_accessor :path_icns_file
|
|
46
46
|
|
|
47
|
+
# @type [String] path_menu_bar_icns_file
|
|
48
|
+
attr_accessor :path_menu_bar_icns_file
|
|
49
|
+
|
|
47
50
|
# @type [String] path_eula_rtf
|
|
48
51
|
attr_accessor :path_eula_rtf
|
|
49
52
|
|
|
@@ -102,6 +105,7 @@ module Comet
|
|
|
102
105
|
@account_register_url = ''
|
|
103
106
|
@path_ico_file = ''
|
|
104
107
|
@path_icns_file = ''
|
|
108
|
+
@path_menu_bar_icns_file = ''
|
|
105
109
|
@path_eula_rtf = ''
|
|
106
110
|
@path_tile_png = ''
|
|
107
111
|
@path_header_image = ''
|
|
@@ -168,6 +172,10 @@ module Comet
|
|
|
168
172
|
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
169
173
|
|
|
170
174
|
@path_icns_file = v
|
|
175
|
+
when 'PathMenuBarIcnsFile'
|
|
176
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
177
|
+
|
|
178
|
+
@path_menu_bar_icns_file = v
|
|
171
179
|
when 'PathEulaRtf'
|
|
172
180
|
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
173
181
|
|
|
@@ -242,6 +250,7 @@ module Comet
|
|
|
242
250
|
ret['HideBackgroundLogo'] = @hide_background_logo
|
|
243
251
|
ret['PathIcoFile'] = @path_ico_file
|
|
244
252
|
ret['PathIcnsFile'] = @path_icns_file
|
|
253
|
+
ret['PathMenuBarIcnsFile'] = @path_menu_bar_icns_file
|
|
245
254
|
ret['PathEulaRtf'] = @path_eula_rtf
|
|
246
255
|
ret['PathTilePng'] = @path_tile_png
|
|
247
256
|
ret['PathHeaderImage'] = @path_header_image
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
#!/usr/bin/env ruby --enable-frozen-string-literal
|
|
2
|
+
#
|
|
3
|
+
# Copyright (c) 2020-2021 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
|
+
# BrowseOffice365ObjectsResponse is a typed class wrapper around the underlying Comet Server API data structure.
|
|
15
|
+
class BrowseOffice365ObjectsResponse
|
|
16
|
+
|
|
17
|
+
# @type [Number] status
|
|
18
|
+
attr_accessor :status
|
|
19
|
+
|
|
20
|
+
# @type [String] message
|
|
21
|
+
attr_accessor :message
|
|
22
|
+
|
|
23
|
+
# @type [Array<Comet::Office365ObjectInfo>] objects
|
|
24
|
+
attr_accessor :objects
|
|
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
|
+
@status = 0
|
|
35
|
+
@message = ''
|
|
36
|
+
@objects = []
|
|
37
|
+
@unknown_json_fields = {}
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# @param [String] json_string The complete object in JSON format
|
|
41
|
+
def from_json(json_string)
|
|
42
|
+
raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
|
|
43
|
+
|
|
44
|
+
from_hash(JSON.parse(json_string))
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# @param [Hash] obj The complete object as a Ruby hash
|
|
48
|
+
def from_hash(obj)
|
|
49
|
+
raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
|
|
50
|
+
|
|
51
|
+
obj.each do |k, v|
|
|
52
|
+
case k
|
|
53
|
+
when 'Status'
|
|
54
|
+
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
|
55
|
+
|
|
56
|
+
@status = v
|
|
57
|
+
when 'Message'
|
|
58
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
59
|
+
|
|
60
|
+
@message = v
|
|
61
|
+
when 'Objects'
|
|
62
|
+
if v.nil?
|
|
63
|
+
@objects = []
|
|
64
|
+
else
|
|
65
|
+
@objects = Array.new(v.length)
|
|
66
|
+
v.each_with_index do |v1, i1|
|
|
67
|
+
@objects[i1] = Comet::Office365ObjectInfo.new
|
|
68
|
+
@objects[i1].from_hash(v1)
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
else
|
|
72
|
+
@unknown_json_fields[k] = v
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
78
|
+
def to_hash
|
|
79
|
+
ret = {}
|
|
80
|
+
ret['Status'] = @status
|
|
81
|
+
ret['Message'] = @message
|
|
82
|
+
ret['Objects'] = @objects
|
|
83
|
+
@unknown_json_fields.each do |k, v|
|
|
84
|
+
ret[k] = v
|
|
85
|
+
end
|
|
86
|
+
ret
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
90
|
+
def to_h
|
|
91
|
+
to_hash
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# @return [String] The complete object as a JSON string
|
|
95
|
+
def to_json(options = {})
|
|
96
|
+
to_hash.to_json(options)
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
end
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
#!/usr/bin/env ruby --enable-frozen-string-literal
|
|
2
|
+
#
|
|
3
|
+
# Copyright (c) 2020-2021 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
|
+
# BrowseSQLServerResponse is a typed class wrapper around the underlying Comet Server API data structure.
|
|
15
|
+
class BrowseSQLServerResponse
|
|
16
|
+
|
|
17
|
+
# @type [Number] status
|
|
18
|
+
attr_accessor :status
|
|
19
|
+
|
|
20
|
+
# @type [String] message
|
|
21
|
+
attr_accessor :message
|
|
22
|
+
|
|
23
|
+
# @type [Hash{String => String}] objects
|
|
24
|
+
attr_accessor :objects
|
|
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
|
+
@status = 0
|
|
35
|
+
@message = ''
|
|
36
|
+
@objects = {}
|
|
37
|
+
@unknown_json_fields = {}
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# @param [String] json_string The complete object in JSON format
|
|
41
|
+
def from_json(json_string)
|
|
42
|
+
raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
|
|
43
|
+
|
|
44
|
+
from_hash(JSON.parse(json_string))
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# @param [Hash] obj The complete object as a Ruby hash
|
|
48
|
+
def from_hash(obj)
|
|
49
|
+
raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
|
|
50
|
+
|
|
51
|
+
obj.each do |k, v|
|
|
52
|
+
case k
|
|
53
|
+
when 'Status'
|
|
54
|
+
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
|
55
|
+
|
|
56
|
+
@status = v
|
|
57
|
+
when 'Message'
|
|
58
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
59
|
+
|
|
60
|
+
@message = v
|
|
61
|
+
when 'Objects'
|
|
62
|
+
@objects = {}
|
|
63
|
+
if v.nil?
|
|
64
|
+
@objects = {}
|
|
65
|
+
else
|
|
66
|
+
v.each do |k1, v1|
|
|
67
|
+
raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
|
|
68
|
+
|
|
69
|
+
@objects[k1] = v1
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
else
|
|
73
|
+
@unknown_json_fields[k] = v
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
79
|
+
def to_hash
|
|
80
|
+
ret = {}
|
|
81
|
+
ret['Status'] = @status
|
|
82
|
+
ret['Message'] = @message
|
|
83
|
+
ret['Objects'] = @objects
|
|
84
|
+
@unknown_json_fields.each do |k, v|
|
|
85
|
+
ret[k] = v
|
|
86
|
+
end
|
|
87
|
+
ret
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
91
|
+
def to_h
|
|
92
|
+
to_hash
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
# @return [String] The complete object as a JSON string
|
|
96
|
+
def to_json(options = {})
|
|
97
|
+
to_hash.to_json(options)
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
#!/usr/bin/env ruby --enable-frozen-string-literal
|
|
2
|
+
#
|
|
3
|
+
# Copyright (c) 2020-2021 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
|
+
# DefaultSourceWithOSRestriction is a typed class wrapper around the underlying Comet Server API data structure.
|
|
15
|
+
class DefaultSourceWithOSRestriction
|
|
16
|
+
|
|
17
|
+
# @type [Comet::SourceConfig] source_config
|
|
18
|
+
attr_accessor :source_config
|
|
19
|
+
|
|
20
|
+
# @type [Number] restrict_os
|
|
21
|
+
attr_accessor :restrict_os
|
|
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
|
+
@source_config = Comet::SourceConfig.new
|
|
32
|
+
@restrict_os = 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 'SourceConfig'
|
|
50
|
+
@source_config = Comet::SourceConfig.new
|
|
51
|
+
@source_config.from_hash(v)
|
|
52
|
+
when 'RestrictOS'
|
|
53
|
+
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
|
54
|
+
|
|
55
|
+
@restrict_os = v
|
|
56
|
+
else
|
|
57
|
+
@unknown_json_fields[k] = v
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
63
|
+
def to_hash
|
|
64
|
+
ret = {}
|
|
65
|
+
ret['SourceConfig'] = @source_config
|
|
66
|
+
ret['RestrictOS'] = @restrict_os
|
|
67
|
+
@unknown_json_fields.each do |k, v|
|
|
68
|
+
ret[k] = v
|
|
69
|
+
end
|
|
70
|
+
ret
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
74
|
+
def to_h
|
|
75
|
+
to_hash
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# @return [String] The complete object as a JSON string
|
|
79
|
+
def to_json(options = {})
|
|
80
|
+
to_hash.to_json(options)
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|