comet_backup_ruby_sdk 1.14.0 → 1.15.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.
Files changed (181) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -0
  3. data/.rubocop.yml +0 -0
  4. data/CHANGELOG.md +6 -0
  5. data/Gemfile.lock +0 -0
  6. data/RELEASING.md +0 -0
  7. data/comet_backup_ruby_sdk.gemspec +1 -1
  8. data/lib/comet/comet_server.rb +49 -10
  9. data/lib/comet/definitions.rb +37 -4
  10. data/lib/{models/wasabi_virtual_storage_role_settings.rb → comet/models/amazon_awsvirtual_storage_role_settings.rb} +2 -2
  11. data/lib/comet/models/remote_server_address.rb +21 -0
  12. data/lib/comet/models/remote_storage_option.rb +21 -0
  13. data/lib/{models → comet/models}/s3generic_virtual_storage_role.rb +0 -0
  14. metadata +4 -171
  15. data/lib/api_response_error.rb +0 -27
  16. data/lib/comet_server.rb +0 -3785
  17. data/lib/definitions.rb +0 -710
  18. data/lib/models/add_bucket_response_message.rb +0 -102
  19. data/lib/models/admin_account_properties_response.rb +0 -91
  20. data/lib/models/admin_email_options.rb +0 -84
  21. data/lib/models/admin_resource_response.rb +0 -93
  22. data/lib/models/admin_security_options.rb +0 -177
  23. data/lib/models/admin_u2fregistration.rb +0 -93
  24. data/lib/models/admin_user_permissions.rb +0 -106
  25. data/lib/models/admin_web_authn_registration.rb +0 -121
  26. data/lib/models/allowed_admin_user.rb +0 -214
  27. data/lib/models/available_download.rb +0 -90
  28. data/lib/models/azure_destination_location.rb +0 -111
  29. data/lib/models/b2destination_location.rb +0 -130
  30. data/lib/models/b2storage_extra_info.rb +0 -81
  31. data/lib/models/b2transaction_totals.rb +0 -93
  32. data/lib/models/b2virtual_storage_role_settings.rb +0 -99
  33. data/lib/models/backup_job_advanced_options.rb +0 -117
  34. data/lib/models/backup_job_detail.rb +0 -328
  35. data/lib/models/backup_job_progress.rb +0 -111
  36. data/lib/models/backup_rule_config.rb +0 -233
  37. data/lib/models/backup_rule_event_triggers.rb +0 -82
  38. data/lib/models/branding_options.rb +0 -335
  39. data/lib/models/branding_properties.rb +0 -293
  40. data/lib/models/browse_disk_drives_response.rb +0 -99
  41. data/lib/models/browse_edbresponse.rb +0 -99
  42. data/lib/models/browse_hvresponse.rb +0 -99
  43. data/lib/models/browse_office_365list_virtual_accounts_response.rb +0 -99
  44. data/lib/models/browse_office_365objects_response.rb +0 -99
  45. data/lib/models/browse_sqlserver_response.rb +0 -100
  46. data/lib/models/browse_vssresponse.rb +0 -99
  47. data/lib/models/bucket_properties.rb +0 -110
  48. data/lib/models/bucket_usage_info.rb +0 -97
  49. data/lib/models/comet_apiresponse_message.rb +0 -84
  50. data/lib/models/comet_destination_location.rb +0 -93
  51. data/lib/models/constellation_check_report.rb +0 -99
  52. data/lib/models/constellation_stats.rb +0 -102
  53. data/lib/models/constellation_status_apiresponse.rb +0 -114
  54. data/lib/models/content_measurement.rb +0 -99
  55. data/lib/models/content_measurement_component.rb +0 -91
  56. data/lib/models/create_group_policy_response.rb +0 -93
  57. data/lib/models/custom_remote_bucket_settings.rb +0 -75
  58. data/lib/models/days_of_week_config.rb +0 -108
  59. data/lib/models/default_email_report_policy.rb +0 -87
  60. data/lib/models/default_source_with_osrestriction.rb +0 -83
  61. data/lib/models/destination_config.rb +0 -562
  62. data/lib/models/destination_location.rb +0 -421
  63. data/lib/models/destination_statistics.rb +0 -115
  64. data/lib/models/device_config.rb +0 -124
  65. data/lib/models/disk_drive.rb +0 -180
  66. data/lib/models/dispatcher_admin_sources_response.rb +0 -100
  67. data/lib/models/dispatcher_stored_objects_response.rb +0 -99
  68. data/lib/models/dispatcher_vault_snapshots_response.rb +0 -99
  69. data/lib/models/dispatcher_windisk_snapshot_response.rb +0 -99
  70. data/lib/models/edbfile_info.rb +0 -99
  71. data/lib/models/email_options.rb +0 -153
  72. data/lib/models/email_report_config.rb +0 -98
  73. data/lib/models/email_report_generated_preview.rb +0 -136
  74. data/lib/models/external_ldapauthentication_source_settings.rb +0 -135
  75. data/lib/models/extra_file_exclusion.rb +0 -90
  76. data/lib/models/ftpdestination_location.rb +0 -141
  77. data/lib/models/get_group_policy_response.rb +0 -101
  78. data/lib/models/get_profile_and_hash_response_message.rb +0 -101
  79. data/lib/models/get_profile_hash_response_message.rb +0 -93
  80. data/lib/models/group_policy.rb +0 -98
  81. data/lib/models/hour_sched_config.rb +0 -84
  82. data/lib/models/hyper_vmachine_info.rb +0 -84
  83. data/lib/models/install_creds.rb +0 -99
  84. data/lib/models/install_token.rb +0 -117
  85. data/lib/models/install_token_response.rb +0 -92
  86. data/lib/models/job_entry.rb +0 -94
  87. data/lib/models/live_user_connection.rb +0 -149
  88. data/lib/models/local_destination_location.rb +0 -102
  89. data/lib/models/mac_oscode_sign_properties.rb +0 -197
  90. data/lib/models/mongo_dbconnection.rb +0 -230
  91. data/lib/models/mssqlconnection.rb +0 -120
  92. data/lib/models/my_sqlconnection.rb +0 -141
  93. data/lib/models/new_bucket_detail.rb +0 -84
  94. data/lib/models/news_entry.rb +0 -93
  95. data/lib/models/office_365connection.rb +0 -131
  96. data/lib/models/office_365credential.rb +0 -111
  97. data/lib/models/office_365custom_setting.rb +0 -133
  98. data/lib/models/office_365custom_setting_v2.rb +0 -108
  99. data/lib/models/office_365mixed_virtual_account.rb +0 -211
  100. data/lib/models/office_365object_info.rb +0 -118
  101. data/lib/models/organization.rb +0 -151
  102. data/lib/models/organization_response.rb +0 -101
  103. data/lib/models/osinfo.rb +0 -99
  104. data/lib/models/partition.rb +0 -172
  105. data/lib/models/private_branding_properties.rb +0 -227
  106. data/lib/models/protected_item_engine_type_policy.rb +0 -88
  107. data/lib/models/public_branding_properties.rb +0 -132
  108. data/lib/models/register_office_application_begin_response.rb +0 -93
  109. data/lib/models/register_office_application_check_response.rb +0 -100
  110. data/lib/models/remote_server_address.rb +0 -167
  111. data/lib/models/remote_storage_option.rb +0 -188
  112. data/lib/models/replicator_state_apiresponse.rb +0 -174
  113. data/lib/models/request_storage_vault_response_message.rb +0 -93
  114. data/lib/models/restore_job_advanced_options.rb +0 -131
  115. data/lib/models/retention_policy.rb +0 -90
  116. data/lib/models/retention_range.rb +0 -138
  117. data/lib/models/s3destination_location.rb +0 -123
  118. data/lib/models/schedule_config.rb +0 -131
  119. data/lib/models/search_clause.rb +0 -119
  120. data/lib/models/self_backup_statistics.rb +0 -108
  121. data/lib/models/server_config_options_branding_fragment.rb +0 -74
  122. data/lib/models/server_config_options_software_build_role_fragment.rb +0 -74
  123. data/lib/models/server_meta_branding_properties.rb +0 -144
  124. data/lib/models/server_meta_version_info.rb +0 -261
  125. data/lib/models/session_key_regenerated_response.rb +0 -102
  126. data/lib/models/sftpdestination_location.rb +0 -135
  127. data/lib/models/size_measurement.rb +0 -93
  128. data/lib/models/software_build_role_options.rb +0 -78
  129. data/lib/models/software_update_news_response.rb +0 -109
  130. data/lib/models/source_basic_info.rb +0 -101
  131. data/lib/models/source_config.rb +0 -202
  132. data/lib/models/source_include_pattern.rb +0 -84
  133. data/lib/models/source_statistics.rb +0 -82
  134. data/lib/models/spanned_destination_location.rb +0 -87
  135. data/lib/models/spanned_storage_extra_info.rb +0 -81
  136. data/lib/models/sshconnection.rb +0 -126
  137. data/lib/models/stat_result.rb +0 -111
  138. data/lib/models/storage_free_space_info.rb +0 -110
  139. data/lib/models/storage_vault_provider_policy.rb +0 -88
  140. data/lib/models/stored_object.rb +0 -238
  141. data/lib/models/streamable_event.rb +0 -92
  142. data/lib/models/swift_destination_location.rb +0 -209
  143. data/lib/models/test_response.rb +0 -90
  144. data/lib/models/totp_regenerated_response.rb +0 -111
  145. data/lib/models/u2fregister_request.rb +0 -85
  146. data/lib/models/u2fregistered_key.rb +0 -94
  147. data/lib/models/u2fregistration_challenge_response.rb +0 -133
  148. data/lib/models/u2fsign_request.rb +0 -109
  149. data/lib/models/u2fsign_response.rb +0 -103
  150. data/lib/models/uninstall_config.rb +0 -78
  151. data/lib/models/update_campaign_device_status.rb +0 -75
  152. data/lib/models/update_campaign_options.rb +0 -113
  153. data/lib/models/update_campaign_properties.rb +0 -128
  154. data/lib/models/update_campaign_status.rb +0 -143
  155. data/lib/models/update_campaign_status_device_entry.rb +0 -93
  156. data/lib/models/user_custom_email_settings.rb +0 -81
  157. data/lib/models/user_on_server.rb +0 -84
  158. data/lib/models/user_policy.rb +0 -339
  159. data/lib/models/user_profile_config.rb +0 -349
  160. data/lib/models/user_profile_fragment.rb +0 -75
  161. data/lib/models/vault_snapshot.rb +0 -99
  162. data/lib/models/vmdksnapshot_view_options.rb +0 -90
  163. data/lib/models/vsscomponent.rb +0 -99
  164. data/lib/models/vsswriter_info.rb +0 -90
  165. data/lib/models/web_authn_authenticator_selection.rb +0 -96
  166. data/lib/models/web_authn_credential.rb +0 -105
  167. data/lib/models/web_authn_credential_assertion.rb +0 -74
  168. data/lib/models/web_authn_credential_descriptor.rb +0 -101
  169. data/lib/models/web_authn_credential_entity.rb +0 -86
  170. data/lib/models/web_authn_credential_parameter.rb +0 -84
  171. data/lib/models/web_authn_public_key_credential_creation_options.rb +0 -172
  172. data/lib/models/web_authn_public_key_credential_request_options.rb +0 -140
  173. data/lib/models/web_authn_registration_challenge_response.rb +0 -101
  174. data/lib/models/web_authn_relying_party_entity.rb +0 -95
  175. data/lib/models/web_authn_sign_request.rb +0 -83
  176. data/lib/models/web_authn_sign_response.rb +0 -84
  177. data/lib/models/web_authn_user_entity.rb +0 -105
  178. data/lib/models/web_interface_branding_properties.rb +0 -108
  179. data/lib/models/webhook_option.rb +0 -107
  180. data/lib/models/win_smbauth.rb +0 -102
  181. data/lib/models/windows_code_sign_properties.rb +0 -147
@@ -1,328 +0,0 @@
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
- # BackupJobDetail is a typed class wrapper around the underlying Comet Server API data structure.
15
- class BackupJobDetail
16
-
17
- # @type [String] guid
18
- attr_accessor :guid
19
-
20
- # @type [String] username
21
- attr_accessor :username
22
-
23
- # @type [Number] classification
24
- attr_accessor :classification
25
-
26
- # @type [Number] status
27
- attr_accessor :status
28
-
29
- # @type [Number] start_time
30
- attr_accessor :start_time
31
-
32
- # @type [Number] end_time
33
- attr_accessor :end_time
34
-
35
- # @type [String] source_guid
36
- attr_accessor :source_guid
37
-
38
- # @type [String] destination_guid
39
- attr_accessor :destination_guid
40
-
41
- # @type [String] device_id
42
- attr_accessor :device_id
43
-
44
- # @type [String] snapshot_id
45
- attr_accessor :snapshot_id
46
-
47
- # @type [String] client_version
48
- attr_accessor :client_version
49
-
50
- # @type [Number] total_directories
51
- attr_accessor :total_directories
52
-
53
- # @type [Number] total_files
54
- attr_accessor :total_files
55
-
56
- # @type [Number] total_size
57
- attr_accessor :total_size
58
-
59
- # @type [Number] total_chunks
60
- attr_accessor :total_chunks
61
-
62
- # @type [Number] upload_size
63
- attr_accessor :upload_size
64
-
65
- # @type [Number] download_size
66
- attr_accessor :download_size
67
-
68
- # @type [Number] total_vm_count
69
- attr_accessor :total_vm_count
70
-
71
- # @type [Number] total_mails_count
72
- attr_accessor :total_mails_count
73
-
74
- # @type [Number] total_sites_count
75
- attr_accessor :total_sites_count
76
-
77
- # @type [Number] total_accounts_count
78
- attr_accessor :total_accounts_count
79
-
80
- # @type [Number] total_licensed_mails_count
81
- attr_accessor :total_licensed_mails_count
82
-
83
- # @type [Number] total_unlicensed_mails_count
84
- attr_accessor :total_unlicensed_mails_count
85
-
86
- # @type [String] cancellation_id
87
- attr_accessor :cancellation_id
88
-
89
- # @type [Comet::BackupJobProgress] progress
90
- attr_accessor :progress
91
-
92
- # @type [Comet::SizeMeasurement] destination_size_start
93
- attr_accessor :destination_size_start
94
-
95
- # @type [Comet::SizeMeasurement] destination_size_end
96
- attr_accessor :destination_size_end
97
-
98
- # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
99
- attr_accessor :unknown_json_fields
100
-
101
- def initialize
102
- clear
103
- end
104
-
105
- def clear
106
- @guid = ''
107
- @username = ''
108
- @classification = 0
109
- @status = 0
110
- @start_time = 0
111
- @end_time = 0
112
- @source_guid = ''
113
- @destination_guid = ''
114
- @device_id = ''
115
- @snapshot_id = ''
116
- @client_version = ''
117
- @total_directories = 0
118
- @total_files = 0
119
- @total_size = 0
120
- @total_chunks = 0
121
- @upload_size = 0
122
- @download_size = 0
123
- @total_vm_count = 0
124
- @total_mails_count = 0
125
- @total_sites_count = 0
126
- @total_accounts_count = 0
127
- @total_licensed_mails_count = 0
128
- @total_unlicensed_mails_count = 0
129
- @cancellation_id = ''
130
- @progress = Comet::BackupJobProgress.new
131
- @destination_size_start = Comet::SizeMeasurement.new
132
- @destination_size_end = Comet::SizeMeasurement.new
133
- @unknown_json_fields = {}
134
- end
135
-
136
- # @param [String] json_string The complete object in JSON format
137
- def from_json(json_string)
138
- raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
139
-
140
- from_hash(JSON.parse(json_string))
141
- end
142
-
143
- # @param [Hash] obj The complete object as a Ruby hash
144
- def from_hash(obj)
145
- raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
146
-
147
- obj.each do |k, v|
148
- case k
149
- when 'GUID'
150
- raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
151
-
152
- @guid = v
153
- when 'Username'
154
- raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
155
-
156
- @username = v
157
- when 'Classification'
158
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
159
-
160
- @classification = v
161
- when 'Status'
162
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
163
-
164
- @status = v
165
- when 'StartTime'
166
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
167
-
168
- @start_time = v
169
- when 'EndTime'
170
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
171
-
172
- @end_time = v
173
- when 'SourceGUID'
174
- raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
175
-
176
- @source_guid = v
177
- when 'DestinationGUID'
178
- raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
179
-
180
- @destination_guid = v
181
- when 'DeviceID'
182
- raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
183
-
184
- @device_id = v
185
- when 'SnapshotID'
186
- raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
187
-
188
- @snapshot_id = v
189
- when 'ClientVersion'
190
- raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
191
-
192
- @client_version = v
193
- when 'TotalDirectories'
194
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
195
-
196
- @total_directories = v
197
- when 'TotalFiles'
198
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
199
-
200
- @total_files = v
201
- when 'TotalSize'
202
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
203
-
204
- @total_size = v
205
- when 'TotalChunks'
206
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
207
-
208
- @total_chunks = v
209
- when 'UploadSize'
210
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
211
-
212
- @upload_size = v
213
- when 'DownloadSize'
214
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
215
-
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
221
- when 'TotalMailsCount'
222
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
223
-
224
- @total_mails_count = v
225
- when 'TotalSitesCount'
226
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
227
-
228
- @total_sites_count = v
229
- when 'TotalAccountsCount'
230
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
231
-
232
- @total_accounts_count = v
233
- when 'TotalLicensedMailsCount'
234
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
235
-
236
- @total_licensed_mails_count = v
237
- when 'TotalUnlicensedMailsCount'
238
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
239
-
240
- @total_unlicensed_mails_count = v
241
- when 'CancellationID'
242
- raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
243
-
244
- @cancellation_id = v
245
- when 'Progress'
246
- @progress = Comet::BackupJobProgress.new
247
- @progress.from_hash(v)
248
- when 'DestinationSizeStart'
249
- @destination_size_start = Comet::SizeMeasurement.new
250
- @destination_size_start.from_hash(v)
251
- when 'DestinationSizeEnd'
252
- @destination_size_end = Comet::SizeMeasurement.new
253
- @destination_size_end.from_hash(v)
254
- else
255
- @unknown_json_fields[k] = v
256
- end
257
- end
258
- end
259
-
260
- # @return [Hash] The complete object as a Ruby hash
261
- def to_hash
262
- ret = {}
263
- ret['GUID'] = @guid
264
- ret['Username'] = @username
265
- ret['Classification'] = @classification
266
- ret['Status'] = @status
267
- ret['StartTime'] = @start_time
268
- ret['EndTime'] = @end_time
269
- ret['SourceGUID'] = @source_guid
270
- ret['DestinationGUID'] = @destination_guid
271
- ret['DeviceID'] = @device_id
272
- unless @snapshot_id.nil?
273
- ret['SnapshotID'] = @snapshot_id
274
- end
275
- ret['ClientVersion'] = @client_version
276
- ret['TotalDirectories'] = @total_directories
277
- ret['TotalFiles'] = @total_files
278
- ret['TotalSize'] = @total_size
279
- ret['TotalChunks'] = @total_chunks
280
- ret['UploadSize'] = @upload_size
281
- ret['DownloadSize'] = @download_size
282
- unless @total_vm_count.nil?
283
- ret['TotalVmCount'] = @total_vm_count
284
- end
285
- unless @total_mails_count.nil?
286
- ret['TotalMailsCount'] = @total_mails_count
287
- end
288
- unless @total_sites_count.nil?
289
- ret['TotalSitesCount'] = @total_sites_count
290
- end
291
- unless @total_accounts_count.nil?
292
- ret['TotalAccountsCount'] = @total_accounts_count
293
- end
294
- unless @total_licensed_mails_count.nil?
295
- ret['TotalLicensedMailsCount'] = @total_licensed_mails_count
296
- end
297
- unless @total_unlicensed_mails_count.nil?
298
- ret['TotalUnlicensedMailsCount'] = @total_unlicensed_mails_count
299
- end
300
- unless @cancellation_id.nil?
301
- ret['CancellationID'] = @cancellation_id
302
- end
303
- unless @progress.nil?
304
- ret['Progress'] = @progress
305
- end
306
- unless @destination_size_start.nil?
307
- ret['DestinationSizeStart'] = @destination_size_start
308
- end
309
- unless @destination_size_end.nil?
310
- ret['DestinationSizeEnd'] = @destination_size_end
311
- end
312
- @unknown_json_fields.each do |k, v|
313
- ret[k] = v
314
- end
315
- ret
316
- end
317
-
318
- # @return [Hash] The complete object as a Ruby hash
319
- def to_h
320
- to_hash
321
- end
322
-
323
- # @return [String] The complete object as a JSON string
324
- def to_json(options = {})
325
- to_hash.to_json(options)
326
- end
327
- end
328
- end
@@ -1,111 +0,0 @@
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
- # BackupJobProgress is a typed class wrapper around the underlying Comet Server API data structure.
15
- class BackupJobProgress
16
-
17
- # @type [Number] counter
18
- attr_accessor :counter
19
-
20
- # @type [Number] sent_time
21
- attr_accessor :sent_time
22
-
23
- # @type [Number] recieved_time
24
- attr_accessor :recieved_time
25
-
26
- # @type [Number] bytes_done
27
- attr_accessor :bytes_done
28
-
29
- # @type [Number] items_done
30
- attr_accessor :items_done
31
-
32
- # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
33
- attr_accessor :unknown_json_fields
34
-
35
- def initialize
36
- clear
37
- end
38
-
39
- def clear
40
- @counter = 0
41
- @sent_time = 0
42
- @recieved_time = 0
43
- @bytes_done = 0
44
- @items_done = 0
45
- @unknown_json_fields = {}
46
- end
47
-
48
- # @param [String] json_string The complete object in JSON format
49
- def from_json(json_string)
50
- raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
51
-
52
- from_hash(JSON.parse(json_string))
53
- end
54
-
55
- # @param [Hash] obj The complete object as a Ruby hash
56
- def from_hash(obj)
57
- raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
58
-
59
- obj.each do |k, v|
60
- case k
61
- when 'Counter'
62
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
63
-
64
- @counter = v
65
- when 'SentTime'
66
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
67
-
68
- @sent_time = v
69
- when 'RecievedTime'
70
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
71
-
72
- @recieved_time = v
73
- when 'BytesDone'
74
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
75
-
76
- @bytes_done = v
77
- when 'ItemsDone'
78
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
79
-
80
- @items_done = v
81
- else
82
- @unknown_json_fields[k] = v
83
- end
84
- end
85
- end
86
-
87
- # @return [Hash] The complete object as a Ruby hash
88
- def to_hash
89
- ret = {}
90
- ret['Counter'] = @counter
91
- ret['SentTime'] = @sent_time
92
- ret['RecievedTime'] = @recieved_time
93
- ret['BytesDone'] = @bytes_done
94
- ret['ItemsDone'] = @items_done
95
- @unknown_json_fields.each do |k, v|
96
- ret[k] = v
97
- end
98
- ret
99
- end
100
-
101
- # @return [Hash] The complete object as a Ruby hash
102
- def to_h
103
- to_hash
104
- end
105
-
106
- # @return [String] The complete object as a JSON string
107
- def to_json(options = {})
108
- to_hash.to_json(options)
109
- end
110
- end
111
- end
@@ -1,233 +0,0 @@
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
- # BackupRuleConfig is a typed class wrapper around the underlying Comet Server API data structure.
15
- class BackupRuleConfig
16
-
17
- # @type [String] description
18
- attr_accessor :description
19
-
20
- # @type [Number] create_time
21
- attr_accessor :create_time
22
-
23
- # @type [Number] modify_time
24
- attr_accessor :modify_time
25
-
26
- # @type [Array<String>] pre_exec
27
- attr_accessor :pre_exec
28
-
29
- # @type [Array<String>] thaw_exec
30
- attr_accessor :thaw_exec
31
-
32
- # @type [Array<String>] post_exec
33
- attr_accessor :post_exec
34
-
35
- # @type [String] source
36
- attr_accessor :source
37
-
38
- # @type [String] destination
39
- attr_accessor :destination
40
-
41
- # @type [Boolean] skip_already_running
42
- attr_accessor :skip_already_running
43
-
44
- # @type [Number] stop_after
45
- attr_accessor :stop_after
46
-
47
- # @type [Number] limit_vault_speed_bps
48
- attr_accessor :limit_vault_speed_bps
49
-
50
- # @type [Boolean] reduce_disk_concurrency
51
- attr_accessor :reduce_disk_concurrency
52
-
53
- # @type [Boolean] use_on_disk_indexes
54
- attr_accessor :use_on_disk_indexes
55
-
56
- # @type [Boolean] allow_zero_files_success
57
- attr_accessor :allow_zero_files_success
58
-
59
- # @type [Number] auto_retention_level
60
- attr_accessor :auto_retention_level
61
-
62
- # @type [Array<Comet::ScheduleConfig>] schedules
63
- attr_accessor :schedules
64
-
65
- # @type [Comet::BackupRuleEventTriggers] event_triggers
66
- attr_accessor :event_triggers
67
-
68
- # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
69
- attr_accessor :unknown_json_fields
70
-
71
- def initialize
72
- clear
73
- end
74
-
75
- def clear
76
- @description = ''
77
- @create_time = 0
78
- @modify_time = 0
79
- @pre_exec = []
80
- @thaw_exec = []
81
- @post_exec = []
82
- @source = ''
83
- @destination = ''
84
- @stop_after = 0
85
- @limit_vault_speed_bps = 0
86
- @auto_retention_level = 0
87
- @schedules = []
88
- @event_triggers = Comet::BackupRuleEventTriggers.new
89
- @unknown_json_fields = {}
90
- end
91
-
92
- # @param [String] json_string The complete object in JSON format
93
- def from_json(json_string)
94
- raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
95
-
96
- from_hash(JSON.parse(json_string))
97
- end
98
-
99
- # @param [Hash] obj The complete object as a Ruby hash
100
- def from_hash(obj)
101
- raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
102
-
103
- obj.each do |k, v|
104
- case k
105
- when 'Description'
106
- raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
107
-
108
- @description = v
109
- when 'CreateTime'
110
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
111
-
112
- @create_time = v
113
- when 'ModifyTime'
114
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
115
-
116
- @modify_time = v
117
- when 'PreExec'
118
- if v.nil?
119
- @pre_exec = []
120
- else
121
- @pre_exec = Array.new(v.length)
122
- v.each_with_index do |v1, i1|
123
- raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
124
-
125
- @pre_exec[i1] = v1
126
- end
127
- end
128
- when 'ThawExec'
129
- if v.nil?
130
- @thaw_exec = []
131
- else
132
- @thaw_exec = Array.new(v.length)
133
- v.each_with_index do |v1, i1|
134
- raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
135
-
136
- @thaw_exec[i1] = v1
137
- end
138
- end
139
- when 'PostExec'
140
- if v.nil?
141
- @post_exec = []
142
- else
143
- @post_exec = Array.new(v.length)
144
- v.each_with_index do |v1, i1|
145
- raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
146
-
147
- @post_exec[i1] = v1
148
- end
149
- end
150
- when 'Source'
151
- raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
152
-
153
- @source = v
154
- when 'Destination'
155
- raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
156
-
157
- @destination = v
158
- when 'SkipAlreadyRunning'
159
- @skip_already_running = v
160
- when 'StopAfter'
161
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
162
-
163
- @stop_after = v
164
- when 'LimitVaultSpeedBps'
165
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
166
-
167
- @limit_vault_speed_bps = v
168
- when 'ReduceDiskConcurrency'
169
- @reduce_disk_concurrency = v
170
- when 'UseOnDiskIndexes'
171
- @use_on_disk_indexes = v
172
- when 'AllowZeroFilesSuccess'
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
178
- when 'Schedules'
179
- if v.nil?
180
- @schedules = []
181
- else
182
- @schedules = Array.new(v.length)
183
- v.each_with_index do |v1, i1|
184
- @schedules[i1] = Comet::ScheduleConfig.new
185
- @schedules[i1].from_hash(v1)
186
- end
187
- end
188
- when 'EventTriggers'
189
- @event_triggers = Comet::BackupRuleEventTriggers.new
190
- @event_triggers.from_hash(v)
191
- else
192
- @unknown_json_fields[k] = v
193
- end
194
- end
195
- end
196
-
197
- # @return [Hash] The complete object as a Ruby hash
198
- def to_hash
199
- ret = {}
200
- ret['Description'] = @description
201
- ret['CreateTime'] = @create_time
202
- ret['ModifyTime'] = @modify_time
203
- ret['PreExec'] = @pre_exec
204
- ret['ThawExec'] = @thaw_exec
205
- ret['PostExec'] = @post_exec
206
- ret['Source'] = @source
207
- ret['Destination'] = @destination
208
- ret['SkipAlreadyRunning'] = @skip_already_running
209
- ret['StopAfter'] = @stop_after
210
- ret['LimitVaultSpeedBps'] = @limit_vault_speed_bps
211
- ret['ReduceDiskConcurrency'] = @reduce_disk_concurrency
212
- ret['UseOnDiskIndexes'] = @use_on_disk_indexes
213
- ret['AllowZeroFilesSuccess'] = @allow_zero_files_success
214
- ret['AutoRetentionLevel'] = @auto_retention_level
215
- ret['Schedules'] = @schedules
216
- ret['EventTriggers'] = @event_triggers
217
- @unknown_json_fields.each do |k, v|
218
- ret[k] = v
219
- end
220
- ret
221
- end
222
-
223
- # @return [Hash] The complete object as a Ruby hash
224
- def to_h
225
- to_hash
226
- end
227
-
228
- # @return [String] The complete object as a JSON string
229
- def to_json(options = {})
230
- to_hash.to_json(options)
231
- end
232
- end
233
- end