comet_backup_ruby_sdk 2.36.0 → 2.38.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 (227) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/Gemfile.lock +1 -1
  4. data/comet_backup_ruby_sdk.gemspec +1 -1
  5. data/lib/comet/api_response_error.rb +1 -1
  6. data/lib/comet/comet_server.rb +269 -3
  7. data/lib/comet/definitions.rb +26 -5
  8. data/lib/comet/models/add_bucket_response_message.rb +1 -1
  9. data/lib/comet/models/admin_account_properties_response.rb +1 -1
  10. data/lib/comet/models/admin_email_options.rb +1 -1
  11. data/lib/comet/models/admin_resource_response.rb +1 -1
  12. data/lib/comet/models/admin_security_options.rb +8 -1
  13. data/lib/comet/models/admin_u2fregistration.rb +1 -1
  14. data/lib/comet/models/admin_user_permissions.rb +1 -1
  15. data/lib/comet/models/admin_web_authn_registration.rb +1 -1
  16. data/lib/comet/models/allowed_admin_user.rb +8 -1
  17. data/lib/comet/models/amazon_awsvirtual_storage_role_settings.rb +1 -1
  18. data/lib/comet/models/authentication_role_options.rb +1 -1
  19. data/lib/comet/models/available_download.rb +1 -1
  20. data/lib/comet/models/azure_destination_location.rb +1 -1
  21. data/lib/comet/models/b2destination_location.rb +1 -1
  22. data/lib/comet/models/b2storage_extra_info.rb +1 -1
  23. data/lib/comet/models/b2transaction_totals.rb +1 -1
  24. data/lib/comet/models/b2virtual_storage_role_settings.rb +1 -1
  25. data/lib/comet/models/backup_job_advanced_options.rb +1 -1
  26. data/lib/comet/models/backup_job_detail.rb +15 -1
  27. data/lib/comet/models/backup_job_progress.rb +10 -1
  28. data/lib/comet/models/backup_rule_config.rb +1 -1
  29. data/lib/comet/models/backup_rule_event_triggers.rb +1 -1
  30. data/lib/comet/models/branding_options.rb +1 -1
  31. data/lib/comet/models/branding_properties.rb +1 -1
  32. data/lib/comet/models/browse_disk_drives_response.rb +1 -1
  33. data/lib/comet/models/browse_edbresponse.rb +1 -1
  34. data/lib/comet/models/browse_hvresponse.rb +1 -1
  35. data/lib/comet/models/browse_office_365list_virtual_accounts_response.rb +1 -1
  36. data/lib/comet/models/browse_office_365objects_response.rb +1 -1
  37. data/lib/comet/models/browse_sqlserver_response.rb +1 -1
  38. data/lib/comet/models/browse_vmware_response.rb +1 -1
  39. data/lib/comet/models/browse_vssresponse.rb +1 -1
  40. data/lib/comet/models/bucket_properties.rb +1 -1
  41. data/lib/comet/models/bucket_usage_info.rb +1 -1
  42. data/lib/comet/models/comet_apiresponse_message.rb +1 -1
  43. data/lib/comet/models/comet_destination_location.rb +1 -1
  44. data/lib/comet/models/constellation_check_report.rb +1 -1
  45. data/lib/comet/models/constellation_role_options.rb +1 -1
  46. data/lib/comet/models/constellation_stats.rb +1 -1
  47. data/lib/comet/models/constellation_status_apiresponse.rb +1 -1
  48. data/lib/comet/models/content_measurement.rb +1 -1
  49. data/lib/comet/models/content_measurement_component.rb +1 -1
  50. data/lib/comet/models/count_jobs_response.rb +1 -1
  51. data/lib/comet/models/create_group_policy_response.rb +1 -1
  52. data/lib/comet/models/create_user_group_response.rb +92 -0
  53. data/lib/comet/models/custom_remote_bucket_settings.rb +1 -1
  54. data/lib/comet/models/days_of_week_config.rb +1 -1
  55. data/lib/comet/models/default_email_report_policy.rb +1 -1
  56. data/lib/comet/models/default_source_with_osrestriction.rb +1 -1
  57. data/lib/comet/models/destination_config.rb +17 -1
  58. data/lib/comet/models/destination_location.rb +1 -1
  59. data/lib/comet/models/destination_statistics.rb +1 -1
  60. data/lib/comet/models/device_config.rb +1 -1
  61. data/lib/comet/models/disk_drive.rb +25 -1
  62. data/lib/comet/models/dispatcher_admin_sources_response.rb +1 -1
  63. data/lib/comet/models/dispatcher_stored_objects_response.rb +1 -1
  64. data/lib/comet/models/dispatcher_vault_snapshots_response.rb +1 -1
  65. data/lib/comet/models/dispatcher_windisk_snapshot_response.rb +1 -1
  66. data/lib/comet/models/edbfile_info.rb +1 -1
  67. data/lib/comet/models/email_options.rb +1 -1
  68. data/lib/comet/models/email_report_config.rb +1 -1
  69. data/lib/comet/models/email_report_generated_preview.rb +1 -1
  70. data/lib/comet/models/email_reporting_option.rb +1 -1
  71. data/lib/comet/models/external_authentication_source.rb +1 -1
  72. data/lib/comet/models/external_authentication_source_display.rb +1 -1
  73. data/lib/comet/models/external_authentication_source_response.rb +1 -1
  74. data/lib/comet/models/external_ldapauthentication_source_server.rb +1 -1
  75. data/lib/comet/models/external_ldapauthentication_source_settings.rb +1 -1
  76. data/lib/comet/models/extra_file_exclusion.rb +1 -1
  77. data/lib/comet/models/file_option.rb +1 -1
  78. data/lib/comet/models/ftpdestination_location.rb +1 -1
  79. data/lib/comet/models/get_group_policy_response.rb +1 -1
  80. data/lib/comet/models/get_profile_and_hash_response_message.rb +1 -1
  81. data/lib/comet/models/get_profile_hash_response_message.rb +1 -1
  82. data/lib/comet/models/get_user_group_response.rb +81 -0
  83. data/lib/comet/models/get_user_group_with_users_response.rb +87 -0
  84. data/lib/comet/models/global_override_options.rb +1 -1
  85. data/lib/comet/models/group_policy.rb +1 -1
  86. data/lib/comet/models/hour_sched_config.rb +1 -1
  87. data/lib/comet/models/httpconnector_options.rb +1 -1
  88. data/lib/comet/models/hyper_vmachine_info.rb +1 -1
  89. data/lib/comet/models/impossible_cloud_iamtemplate_settings.rb +1 -1
  90. data/lib/comet/models/impossible_cloud_partner_template_settings.rb +1 -1
  91. data/lib/comet/models/install_creds.rb +1 -1
  92. data/lib/comet/models/install_token.rb +1 -1
  93. data/lib/comet/models/install_token_response.rb +1 -1
  94. data/lib/comet/models/job_entry.rb +1 -1
  95. data/lib/comet/models/license_limits.rb +1 -1
  96. data/lib/comet/models/license_options.rb +1 -1
  97. data/lib/comet/models/live_user_connection.rb +1 -1
  98. data/lib/comet/models/local_destination_location.rb +1 -1
  99. data/lib/comet/models/local_storage_directory.rb +1 -1
  100. data/lib/comet/models/login_protection_options.rb +93 -0
  101. data/lib/comet/models/mac_oscode_sign_properties.rb +1 -1
  102. data/lib/comet/models/mongo_dbconnection.rb +1 -1
  103. data/lib/comet/models/mssqlconnection.rb +1 -1
  104. data/lib/comet/models/mssqllogin_args.rb +1 -1
  105. data/lib/comet/models/my_sqlconnection.rb +1 -1
  106. data/lib/comet/models/new_bucket_detail.rb +1 -1
  107. data/lib/comet/models/news_entry.rb +1 -1
  108. data/lib/comet/models/object_lock_storage_template_settings.rb +1 -1
  109. data/lib/comet/models/office_365connection.rb +1 -1
  110. data/lib/comet/models/office_365credential.rb +1 -1
  111. data/lib/comet/models/office_365custom_setting.rb +1 -1
  112. data/lib/comet/models/office_365custom_setting_v2.rb +1 -1
  113. data/lib/comet/models/office_365mixed_virtual_account.rb +1 -1
  114. data/lib/comet/models/office_365object_info.rb +1 -1
  115. data/lib/comet/models/oidc_claim.rb +1 -1
  116. data/lib/comet/models/oidc_config.rb +1 -1
  117. data/lib/comet/models/organization.rb +1 -1
  118. data/lib/comet/models/organization_login_urlresponse.rb +1 -1
  119. data/lib/comet/models/organization_response.rb +1 -1
  120. data/lib/comet/models/osinfo.rb +1 -1
  121. data/lib/comet/models/partition.rb +1 -1
  122. data/lib/comet/models/private_branding_properties.rb +1 -1
  123. data/lib/comet/models/protected_item_engine_type_policy.rb +1 -1
  124. data/lib/comet/models/psaconfig.rb +1 -1
  125. data/lib/comet/models/psagrouped_by.rb +1 -1
  126. data/lib/comet/models/public_branding_properties.rb +1 -1
  127. data/lib/comet/models/ratelimit_options.rb +1 -1
  128. data/lib/comet/models/ratelimit_rule.rb +1 -1
  129. data/lib/comet/models/register_office_application_begin_response.rb +1 -1
  130. data/lib/comet/models/register_office_application_check_response.rb +1 -1
  131. data/lib/comet/models/registration_lobby_connection.rb +1 -1
  132. data/lib/comet/models/remote_server_address.rb +1 -1
  133. data/lib/comet/models/remote_storage_option.rb +16 -1
  134. data/lib/comet/models/replica_server.rb +1 -1
  135. data/lib/comet/models/replicator_state_apiresponse.rb +1 -1
  136. data/lib/comet/models/request_storage_vault_response_message.rb +1 -1
  137. data/lib/comet/models/restore_job_advanced_options.rb +1 -1
  138. data/lib/comet/models/retention_policy.rb +1 -1
  139. data/lib/comet/models/retention_range.rb +1 -1
  140. data/lib/comet/models/s3destination_location.rb +1 -1
  141. data/lib/comet/models/s3generic_virtual_storage_role.rb +1 -1
  142. data/lib/comet/models/schedule_config.rb +1 -1
  143. data/lib/comet/models/search_clause.rb +1 -1
  144. data/lib/comet/models/search_result_file_info.rb +1 -1
  145. data/lib/comet/models/search_snapshots_response.rb +1 -1
  146. data/lib/comet/models/self_backup_export_options.rb +1 -1
  147. data/lib/comet/models/self_backup_options.rb +1 -1
  148. data/lib/comet/models/self_backup_statistics.rb +1 -1
  149. data/lib/comet/models/self_backup_target.rb +1 -1
  150. data/lib/comet/models/server_config_options.rb +10 -1
  151. data/lib/comet/models/server_config_options_branding_fragment.rb +1 -1
  152. data/lib/comet/models/server_config_options_software_build_role_fragment.rb +1 -1
  153. data/lib/comet/models/server_meta_branding_properties.rb +8 -1
  154. data/lib/comet/models/server_meta_version_info.rb +3 -1
  155. data/lib/comet/models/session_key_regenerated_response.rb +1 -1
  156. data/lib/comet/models/session_options.rb +1 -1
  157. data/lib/comet/models/sftpdestination_location.rb +1 -1
  158. data/lib/comet/models/single_field_source.rb +1 -1
  159. data/lib/comet/models/size_measurement.rb +1 -1
  160. data/lib/comet/models/smbdestination_location.rb +1 -1
  161. data/lib/comet/models/software_build_role_options.rb +1 -1
  162. data/lib/comet/models/software_update_news_response.rb +1 -1
  163. data/lib/comet/models/source_basic_info.rb +1 -1
  164. data/lib/comet/models/source_config.rb +1 -1
  165. data/lib/comet/models/source_include_pattern.rb +1 -1
  166. data/lib/comet/models/source_statistics.rb +1 -1
  167. data/lib/comet/models/spanned_destination_location.rb +1 -1
  168. data/lib/comet/models/spanned_storage_extra_info.rb +1 -1
  169. data/lib/comet/models/sshconnection.rb +1 -1
  170. data/lib/comet/models/stat_result.rb +1 -1
  171. data/lib/comet/models/storage_free_space_info.rb +1 -1
  172. data/lib/comet/models/storage_role_options.rb +1 -1
  173. data/lib/comet/models/storage_vault_provider_policy.rb +1 -1
  174. data/lib/comet/models/stored_object.rb +1 -1
  175. data/lib/comet/models/storj_destination_location.rb +1 -1
  176. data/lib/comet/models/storj_virtual_storage_role_setting.rb +1 -1
  177. data/lib/comet/models/streamable_event.rb +1 -1
  178. data/lib/comet/models/swift_destination_location.rb +1 -1
  179. data/lib/comet/models/test_response.rb +1 -1
  180. data/lib/comet/models/time_span.rb +1 -1
  181. data/lib/comet/models/totp_regenerated_response.rb +1 -1
  182. data/lib/comet/models/u2fregister_request.rb +1 -1
  183. data/lib/comet/models/u2fregistered_key.rb +1 -1
  184. data/lib/comet/models/u2fregistration_challenge_response.rb +1 -1
  185. data/lib/comet/models/u2fsign_request.rb +1 -1
  186. data/lib/comet/models/u2fsign_response.rb +1 -1
  187. data/lib/comet/models/uninstall_config.rb +1 -1
  188. data/lib/comet/models/update_campaign_device_status.rb +1 -1
  189. data/lib/comet/models/update_campaign_options.rb +1 -1
  190. data/lib/comet/models/update_campaign_properties.rb +1 -1
  191. data/lib/comet/models/update_campaign_status.rb +1 -1
  192. data/lib/comet/models/update_campaign_status_device_entry.rb +1 -1
  193. data/lib/comet/models/user_custom_email_settings.rb +1 -1
  194. data/lib/comet/models/user_group.rb +92 -0
  195. data/lib/comet/models/user_on_server.rb +1 -1
  196. data/lib/comet/models/user_policy.rb +10 -1
  197. data/lib/comet/models/user_profile_config.rb +29 -2
  198. data/lib/comet/models/user_profile_fragment.rb +1 -1
  199. data/lib/comet/models/user_server_config.rb +1 -1
  200. data/lib/comet/models/vault_snapshot.rb +1 -1
  201. data/lib/comet/models/vmdksnapshot_view_options.rb +1 -1
  202. data/lib/comet/models/vmware_connection.rb +1 -1
  203. data/lib/comet/models/vmware_machine_info.rb +1 -1
  204. data/lib/comet/models/vsphere_connection.rb +1 -1
  205. data/lib/comet/models/vsscomponent.rb +1 -1
  206. data/lib/comet/models/vsswriter_info.rb +1 -1
  207. data/lib/comet/models/wasabi_virtual_storage_role_settings.rb +1 -1
  208. data/lib/comet/models/web_authn_authenticator_selection.rb +1 -1
  209. data/lib/comet/models/web_authn_credential.rb +1 -1
  210. data/lib/comet/models/web_authn_credential_assertion.rb +1 -1
  211. data/lib/comet/models/web_authn_credential_descriptor.rb +1 -1
  212. data/lib/comet/models/web_authn_credential_entity.rb +1 -1
  213. data/lib/comet/models/web_authn_credential_parameter.rb +1 -1
  214. data/lib/comet/models/web_authn_public_key_credential_creation_options.rb +1 -1
  215. data/lib/comet/models/web_authn_public_key_credential_request_options.rb +1 -1
  216. data/lib/comet/models/web_authn_registration_challenge_response.rb +1 -1
  217. data/lib/comet/models/web_authn_relying_party_entity.rb +1 -1
  218. data/lib/comet/models/web_authn_sign_request.rb +1 -1
  219. data/lib/comet/models/web_authn_sign_response.rb +1 -1
  220. data/lib/comet/models/web_authn_user_entity.rb +1 -1
  221. data/lib/comet/models/web_dav_destination_location.rb +1 -1
  222. data/lib/comet/models/web_interface_branding_properties.rb +1 -1
  223. data/lib/comet/models/webhook_option.rb +1 -1
  224. data/lib/comet/models/win_smbauth.rb +1 -1
  225. data/lib/comet/models/windows_code_sign_properties.rb +1 -1
  226. data/lib/comet_backup_ruby_sdk.rb +6 -1
  227. metadata +7 -2
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -99,6 +99,12 @@ module Comet
99
99
  # @type [Number] total_unlicensed_mails_count
100
100
  attr_accessor :total_unlicensed_mails_count
101
101
 
102
+ # If this field is present, this job did not perform some work because the Storage Vault is
103
+ # currently busy.
104
+ # This field is available in Comet 24.9.2 and later.
105
+ # @type [String] conflicting_job_id
106
+ attr_accessor :conflicting_job_id
107
+
102
108
  # If this field is present, it is possible to request cancellation of this job via the API.
103
109
  # @type [String] cancellation_id
104
110
  attr_accessor :cancellation_id
@@ -149,6 +155,7 @@ module Comet
149
155
  @total_accounts_count = 0
150
156
  @total_licensed_mails_count = 0
151
157
  @total_unlicensed_mails_count = 0
158
+ @conflicting_job_id = ''
152
159
  @cancellation_id = ''
153
160
  @progress = Comet::BackupJobProgress.new
154
161
  @destination_size_start = Comet::SizeMeasurement.new
@@ -269,6 +276,10 @@ module Comet
269
276
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
270
277
 
271
278
  @total_unlicensed_mails_count = v
279
+ when 'ConflictingJobID'
280
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
281
+
282
+ @conflicting_job_id = v
272
283
  when 'CancellationID'
273
284
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
274
285
 
@@ -332,6 +343,9 @@ module Comet
332
343
  unless @total_unlicensed_mails_count.nil?
333
344
  ret['TotalUnlicensedMailsCount'] = @total_unlicensed_mails_count
334
345
  end
346
+ unless @conflicting_job_id.nil?
347
+ ret['ConflictingJobID'] = @conflicting_job_id
348
+ end
335
349
  unless @cancellation_id.nil?
336
350
  ret['CancellationID'] = @cancellation_id
337
351
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -31,6 +31,9 @@ module Comet
31
31
  # @type [Number] items_done
32
32
  attr_accessor :items_done
33
33
 
34
+ # @type [Number] items_total
35
+ attr_accessor :items_total
36
+
34
37
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
35
38
  attr_accessor :unknown_json_fields
36
39
 
@@ -44,6 +47,7 @@ module Comet
44
47
  @recieved_time = 0
45
48
  @bytes_done = 0
46
49
  @items_done = 0
50
+ @items_total = 0
47
51
  @unknown_json_fields = {}
48
52
  end
49
53
 
@@ -80,6 +84,10 @@ module Comet
80
84
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
81
85
 
82
86
  @items_done = v
87
+ when 'ItemsTotal'
88
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
89
+
90
+ @items_total = v
83
91
  else
84
92
  @unknown_json_fields[k] = v
85
93
  end
@@ -94,6 +102,7 @@ module Comet
94
102
  ret['RecievedTime'] = @recieved_time
95
103
  ret['BytesDone'] = @bytes_done
96
104
  ret['ItemsDone'] = @items_done
105
+ ret['ItemsTotal'] = @items_total
97
106
  @unknown_json_fields.each do |k, v|
98
107
  ret[k] = v
99
108
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -0,0 +1,92 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
+ # Please see the LICENSE file for usage information.
5
+ #
6
+ # SPDX-License-Identifier: MIT
7
+
8
+ require 'json'
9
+
10
+ module Comet
11
+
12
+ # CreateUserGroupResponse is a typed class wrapper around the underlying Comet Server API data structure.
13
+ class CreateUserGroupResponse
14
+
15
+ # If the operation was successful, the status will be in the 200-299 range.
16
+ # @type [Number] status
17
+ attr_accessor :status
18
+
19
+ # @type [String] message
20
+ attr_accessor :message
21
+
22
+ # @type [String] user_group_id
23
+ attr_accessor :user_group_id
24
+
25
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
26
+ attr_accessor :unknown_json_fields
27
+
28
+ def initialize
29
+ clear
30
+ end
31
+
32
+ def clear
33
+ @status = 0
34
+ @message = ''
35
+ @user_group_id = ''
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 'Status'
53
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
54
+
55
+ @status = v
56
+ when 'Message'
57
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
58
+
59
+ @message = v
60
+ when 'UserGroupID'
61
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
62
+
63
+ @user_group_id = v
64
+ else
65
+ @unknown_json_fields[k] = v
66
+ end
67
+ end
68
+ end
69
+
70
+ # @return [Hash] The complete object as a Ruby hash
71
+ def to_hash
72
+ ret = {}
73
+ ret['Status'] = @status
74
+ ret['Message'] = @message
75
+ ret['UserGroupID'] = @user_group_id
76
+ @unknown_json_fields.each do |k, v|
77
+ ret[k] = v
78
+ end
79
+ ret
80
+ end
81
+
82
+ # @return [Hash] The complete object as a Ruby hash
83
+ def to_h
84
+ to_hash
85
+ end
86
+
87
+ # @return [String] The complete object as a JSON string
88
+ def to_json(options = {})
89
+ to_hash.to_json(options)
90
+ end
91
+ end
92
+ end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -253,6 +253,9 @@ module Comet
253
253
  # @type [String] retention_error
254
254
  attr_accessor :retention_error
255
255
 
256
+ # @type [Array<String>] associated_devices
257
+ attr_accessor :associated_devices
258
+
256
259
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
257
260
  attr_accessor :unknown_json_fields
258
261
 
@@ -316,6 +319,7 @@ module Comet
316
319
  @statistics = Comet::DestinationStatistics.new
317
320
  @default_retention = Comet::RetentionPolicy.new
318
321
  @retention_error = ''
322
+ @associated_devices = []
319
323
  @unknown_json_fields = {}
320
324
  end
321
325
 
@@ -590,6 +594,17 @@ module Comet
590
594
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
591
595
 
592
596
  @retention_error = v
597
+ when 'AssociatedDevices'
598
+ if v.nil?
599
+ @associated_devices = []
600
+ else
601
+ @associated_devices = Array.new(v.length)
602
+ v.each_with_index do |v1, i1|
603
+ raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
604
+
605
+ @associated_devices[i1] = v1
606
+ end
607
+ end
593
608
  else
594
609
  @unknown_json_fields[k] = v
595
610
  end
@@ -665,6 +680,7 @@ module Comet
665
680
  ret['DefaultRetention'] = @default_retention
666
681
  ret['RebrandStorage'] = @rebrand_storage
667
682
  ret['RetentionError'] = @retention_error
683
+ ret['AssociatedDevices'] = @associated_devices
668
684
  @unknown_json_fields.each do |k, v|
669
685
  ret[k] = v
670
686
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -27,22 +27,33 @@ module Comet
27
27
  # @type [String] serial_number
28
28
  attr_accessor :serial_number
29
29
 
30
+ # Bytes
30
31
  # @type [Number] size
31
32
  attr_accessor :size
32
33
 
33
34
  # @type [Array<Comet::Partition>] partitions
34
35
  attr_accessor :partitions
35
36
 
37
+ # For physical disks, this array will be empty. For virtual disks, RAID devices or Linux DM devices,
38
+ # this array may contain the DeviceName of the parent device.
39
+ # This field is available in Comet 24.6.x and later.
40
+ # @type [Array<String>] device_parents
41
+ attr_accessor :device_parents
42
+
43
+ # See WINDISKFLAG_ constants
36
44
  # @type [Number] flags
37
45
  attr_accessor :flags
38
46
 
39
47
  # @type [Number] cylinders
48
+ # @deprecated This member has been deprecated since Comet version 24.6.x This value is reported from the disk driver if available. Otherwise emulates a value based on modern LBA addressing. The field value is not used.
40
49
  attr_accessor :cylinders
41
50
 
42
51
  # @type [Number] heads
52
+ # @deprecated This member has been deprecated since Comet version 24.6.x This value is reported from the disk driver if available. Otherwise emulates a value based on modern LBA addressing. The field value is not used.
43
53
  attr_accessor :heads
44
54
 
45
55
  # @type [Number] sectors
56
+ # @deprecated This member has been deprecated since Comet version 24.6.x This value is reported from the disk driver if available. Otherwise emulates a value based on modern LBA addressing. The field value is not used.
46
57
  attr_accessor :sectors
47
58
 
48
59
  # @type [Number] sector_size
@@ -63,6 +74,7 @@ module Comet
63
74
  @serial_number = ''
64
75
  @size = 0
65
76
  @partitions = []
77
+ @device_parents = []
66
78
  @flags = 0
67
79
  @cylinders = 0
68
80
  @heads = 0
@@ -118,6 +130,17 @@ module Comet
118
130
  @partitions[i1].from_hash(v1)
119
131
  end
120
132
  end
133
+ when 'DeviceParents'
134
+ if v.nil?
135
+ @device_parents = []
136
+ else
137
+ @device_parents = Array.new(v.length)
138
+ v.each_with_index do |v1, i1|
139
+ raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
140
+
141
+ @device_parents[i1] = v1
142
+ end
143
+ end
121
144
  when 'Flags'
122
145
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
123
146
 
@@ -154,6 +177,7 @@ module Comet
154
177
  ret['SerialNumber'] = @serial_number
155
178
  ret['Size'] = @size
156
179
  ret['Partitions'] = @partitions
180
+ ret['DeviceParents'] = @device_parents
157
181
  ret['Flags'] = @flags
158
182
  ret['Cylinders'] = @cylinders
159
183
  ret['Heads'] = @heads
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2024 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2025 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT