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