comet_backup_ruby_sdk 2.15.0 → 2.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (217) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -0
  3. data/Gemfile.lock +1 -1
  4. data/comet_backup_ruby_sdk.gemspec +1 -1
  5. data/lib/comet/api_response_error.rb +0 -0
  6. data/lib/comet/comet_server.rb +28 -0
  7. data/lib/comet/definitions.rb +43 -2
  8. data/lib/comet/models/add_bucket_response_message.rb +0 -0
  9. data/lib/comet/models/admin_account_properties_response.rb +0 -0
  10. data/lib/comet/models/admin_email_options.rb +0 -0
  11. data/lib/comet/models/admin_resource_response.rb +0 -0
  12. data/lib/comet/models/admin_security_options.rb +0 -0
  13. data/lib/comet/models/admin_u2fregistration.rb +0 -0
  14. data/lib/comet/models/admin_user_permissions.rb +0 -0
  15. data/lib/comet/models/admin_web_authn_registration.rb +0 -0
  16. data/lib/comet/models/allowed_admin_user.rb +0 -0
  17. data/lib/comet/models/amazon_awsvirtual_storage_role_settings.rb +0 -0
  18. data/lib/comet/models/authentication_role_options.rb +0 -0
  19. data/lib/comet/models/available_download.rb +0 -0
  20. data/lib/comet/models/azure_destination_location.rb +0 -0
  21. data/lib/comet/models/b2destination_location.rb +0 -0
  22. data/lib/comet/models/b2storage_extra_info.rb +0 -0
  23. data/lib/comet/models/b2transaction_totals.rb +0 -0
  24. data/lib/comet/models/b2virtual_storage_role_settings.rb +0 -0
  25. data/lib/comet/models/backup_job_advanced_options.rb +0 -0
  26. data/lib/comet/models/backup_job_detail.rb +0 -0
  27. data/lib/comet/models/backup_job_progress.rb +0 -0
  28. data/lib/comet/models/backup_rule_config.rb +0 -0
  29. data/lib/comet/models/backup_rule_event_triggers.rb +0 -0
  30. data/lib/comet/models/branding_options.rb +0 -0
  31. data/lib/comet/models/branding_properties.rb +0 -0
  32. data/lib/comet/models/browse_disk_drives_response.rb +0 -0
  33. data/lib/comet/models/browse_edbresponse.rb +0 -0
  34. data/lib/comet/models/browse_hvresponse.rb +0 -0
  35. data/lib/comet/models/browse_office_365list_virtual_accounts_response.rb +0 -0
  36. data/lib/comet/models/browse_office_365objects_response.rb +0 -0
  37. data/lib/comet/models/browse_sqlserver_response.rb +0 -0
  38. data/lib/comet/models/browse_vmware_response.rb +98 -0
  39. data/lib/comet/models/browse_vssresponse.rb +0 -0
  40. data/lib/comet/models/bucket_properties.rb +0 -0
  41. data/lib/comet/models/bucket_usage_info.rb +0 -0
  42. data/lib/comet/models/comet_apiresponse_message.rb +0 -0
  43. data/lib/comet/models/comet_destination_location.rb +0 -0
  44. data/lib/comet/models/constellation_check_report.rb +0 -0
  45. data/lib/comet/models/constellation_role_options.rb +0 -0
  46. data/lib/comet/models/constellation_stats.rb +0 -0
  47. data/lib/comet/models/constellation_status_apiresponse.rb +0 -0
  48. data/lib/comet/models/content_measurement.rb +0 -0
  49. data/lib/comet/models/content_measurement_component.rb +0 -0
  50. data/lib/comet/models/count_jobs_response.rb +0 -0
  51. data/lib/comet/models/create_group_policy_response.rb +0 -0
  52. data/lib/comet/models/custom_remote_bucket_settings.rb +0 -0
  53. data/lib/comet/models/days_of_week_config.rb +0 -0
  54. data/lib/comet/models/default_email_report_policy.rb +0 -0
  55. data/lib/comet/models/default_source_with_osrestriction.rb +0 -0
  56. data/lib/comet/models/destination_config.rb +9 -0
  57. data/lib/comet/models/destination_location.rb +9 -0
  58. data/lib/comet/models/destination_statistics.rb +0 -0
  59. data/lib/comet/models/device_config.rb +0 -0
  60. data/lib/comet/models/disk_drive.rb +0 -0
  61. data/lib/comet/models/dispatcher_admin_sources_response.rb +0 -0
  62. data/lib/comet/models/dispatcher_stored_objects_response.rb +0 -0
  63. data/lib/comet/models/dispatcher_vault_snapshots_response.rb +0 -0
  64. data/lib/comet/models/dispatcher_windisk_snapshot_response.rb +0 -0
  65. data/lib/comet/models/edbfile_info.rb +0 -0
  66. data/lib/comet/models/email_options.rb +0 -0
  67. data/lib/comet/models/email_report_config.rb +0 -0
  68. data/lib/comet/models/email_report_generated_preview.rb +0 -0
  69. data/lib/comet/models/email_reporting_option.rb +0 -0
  70. data/lib/comet/models/external_authentication_source.rb +0 -0
  71. data/lib/comet/models/external_authentication_source_display.rb +0 -0
  72. data/lib/comet/models/external_authentication_source_response.rb +0 -0
  73. data/lib/comet/models/external_ldapauthentication_source_server.rb +0 -0
  74. data/lib/comet/models/external_ldapauthentication_source_settings.rb +0 -0
  75. data/lib/comet/models/extra_file_exclusion.rb +0 -0
  76. data/lib/comet/models/file_option.rb +0 -0
  77. data/lib/comet/models/ftpdestination_location.rb +0 -0
  78. data/lib/comet/models/get_group_policy_response.rb +0 -0
  79. data/lib/comet/models/get_profile_and_hash_response_message.rb +0 -0
  80. data/lib/comet/models/get_profile_hash_response_message.rb +0 -0
  81. data/lib/comet/models/global_override_options.rb +0 -0
  82. data/lib/comet/models/group_policy.rb +0 -0
  83. data/lib/comet/models/hour_sched_config.rb +0 -0
  84. data/lib/comet/models/httpconnector_options.rb +0 -0
  85. data/lib/comet/models/hyper_vmachine_info.rb +0 -0
  86. data/lib/comet/models/install_creds.rb +0 -0
  87. data/lib/comet/models/install_token.rb +0 -0
  88. data/lib/comet/models/install_token_response.rb +0 -0
  89. data/lib/comet/models/job_entry.rb +0 -0
  90. data/lib/comet/models/license_options.rb +0 -0
  91. data/lib/comet/models/live_user_connection.rb +0 -0
  92. data/lib/comet/models/local_destination_location.rb +0 -0
  93. data/lib/comet/models/local_storage_directory.rb +0 -0
  94. data/lib/comet/models/mac_oscode_sign_properties.rb +0 -0
  95. data/lib/comet/models/mongo_dbconnection.rb +0 -0
  96. data/lib/comet/models/mssqlconnection.rb +0 -0
  97. data/lib/comet/models/mssqllogin_args.rb +0 -0
  98. data/lib/comet/models/my_sqlconnection.rb +0 -0
  99. data/lib/comet/models/new_bucket_detail.rb +0 -0
  100. data/lib/comet/models/news_entry.rb +0 -0
  101. data/lib/comet/models/office_365connection.rb +0 -0
  102. data/lib/comet/models/office_365credential.rb +0 -0
  103. data/lib/comet/models/office_365custom_setting.rb +0 -0
  104. data/lib/comet/models/office_365custom_setting_v2.rb +0 -0
  105. data/lib/comet/models/office_365mixed_virtual_account.rb +0 -0
  106. data/lib/comet/models/office_365object_info.rb +0 -0
  107. data/lib/comet/models/oidc_claim.rb +0 -0
  108. data/lib/comet/models/oidc_config.rb +0 -0
  109. data/lib/comet/models/organization.rb +0 -0
  110. data/lib/comet/models/organization_login_urlresponse.rb +0 -0
  111. data/lib/comet/models/organization_response.rb +0 -0
  112. data/lib/comet/models/osinfo.rb +0 -0
  113. data/lib/comet/models/partition.rb +0 -0
  114. data/lib/comet/models/private_branding_properties.rb +0 -0
  115. data/lib/comet/models/protected_item_engine_type_policy.rb +0 -0
  116. data/lib/comet/models/psaconfig.rb +0 -0
  117. data/lib/comet/models/psagrouped_by.rb +0 -0
  118. data/lib/comet/models/public_branding_properties.rb +0 -0
  119. data/lib/comet/models/ratelimit_options.rb +0 -0
  120. data/lib/comet/models/ratelimit_rule.rb +0 -0
  121. data/lib/comet/models/register_office_application_begin_response.rb +0 -0
  122. data/lib/comet/models/register_office_application_check_response.rb +0 -0
  123. data/lib/comet/models/registration_lobby_connection.rb +0 -0
  124. data/lib/comet/models/remote_server_address.rb +0 -0
  125. data/lib/comet/models/remote_storage_option.rb +0 -0
  126. data/lib/comet/models/replica_server.rb +0 -0
  127. data/lib/comet/models/replicator_state_apiresponse.rb +0 -0
  128. data/lib/comet/models/request_storage_vault_response_message.rb +0 -0
  129. data/lib/comet/models/restore_job_advanced_options.rb +0 -0
  130. data/lib/comet/models/retention_policy.rb +0 -0
  131. data/lib/comet/models/retention_range.rb +0 -0
  132. data/lib/comet/models/s3destination_location.rb +0 -0
  133. data/lib/comet/models/s3generic_virtual_storage_role.rb +0 -0
  134. data/lib/comet/models/schedule_config.rb +0 -0
  135. data/lib/comet/models/search_clause.rb +0 -0
  136. data/lib/comet/models/search_result_file_info.rb +0 -0
  137. data/lib/comet/models/search_snapshots_response.rb +0 -0
  138. data/lib/comet/models/self_backup_export_options.rb +0 -0
  139. data/lib/comet/models/self_backup_options.rb +0 -0
  140. data/lib/comet/models/self_backup_statistics.rb +0 -0
  141. data/lib/comet/models/self_backup_target.rb +0 -0
  142. data/lib/comet/models/server_config_options.rb +0 -0
  143. data/lib/comet/models/server_config_options_branding_fragment.rb +0 -0
  144. data/lib/comet/models/server_config_options_software_build_role_fragment.rb +0 -0
  145. data/lib/comet/models/server_meta_branding_properties.rb +0 -0
  146. data/lib/comet/models/server_meta_version_info.rb +0 -0
  147. data/lib/comet/models/session_key_regenerated_response.rb +0 -0
  148. data/lib/comet/models/session_options.rb +0 -0
  149. data/lib/comet/models/sftpdestination_location.rb +0 -0
  150. data/lib/comet/models/single_field_source.rb +0 -0
  151. data/lib/comet/models/size_measurement.rb +0 -0
  152. data/lib/comet/models/software_build_role_options.rb +0 -0
  153. data/lib/comet/models/software_update_news_response.rb +0 -0
  154. data/lib/comet/models/source_basic_info.rb +0 -0
  155. data/lib/comet/models/source_config.rb +0 -0
  156. data/lib/comet/models/source_include_pattern.rb +0 -0
  157. data/lib/comet/models/source_statistics.rb +0 -0
  158. data/lib/comet/models/spanned_destination_location.rb +0 -0
  159. data/lib/comet/models/spanned_storage_extra_info.rb +0 -0
  160. data/lib/comet/models/sshconnection.rb +0 -0
  161. data/lib/comet/models/stat_result.rb +0 -0
  162. data/lib/comet/models/storage_free_space_info.rb +0 -0
  163. data/lib/comet/models/storage_role_options.rb +0 -0
  164. data/lib/comet/models/storage_vault_provider_policy.rb +0 -0
  165. data/lib/comet/models/stored_object.rb +0 -0
  166. data/lib/comet/models/storj_destination_location.rb +0 -0
  167. data/lib/comet/models/storj_virtual_storage_role_setting.rb +0 -0
  168. data/lib/comet/models/streamable_event.rb +0 -0
  169. data/lib/comet/models/swift_destination_location.rb +0 -0
  170. data/lib/comet/models/test_response.rb +0 -0
  171. data/lib/comet/models/time_span.rb +0 -0
  172. data/lib/comet/models/totp_regenerated_response.rb +0 -0
  173. data/lib/comet/models/u2fregister_request.rb +0 -0
  174. data/lib/comet/models/u2fregistered_key.rb +0 -0
  175. data/lib/comet/models/u2fregistration_challenge_response.rb +0 -0
  176. data/lib/comet/models/u2fsign_request.rb +0 -0
  177. data/lib/comet/models/u2fsign_response.rb +0 -0
  178. data/lib/comet/models/uninstall_config.rb +0 -0
  179. data/lib/comet/models/update_campaign_device_status.rb +0 -0
  180. data/lib/comet/models/update_campaign_options.rb +0 -0
  181. data/lib/comet/models/update_campaign_properties.rb +0 -0
  182. data/lib/comet/models/update_campaign_status.rb +0 -0
  183. data/lib/comet/models/update_campaign_status_device_entry.rb +0 -0
  184. data/lib/comet/models/user_custom_email_settings.rb +0 -0
  185. data/lib/comet/models/user_on_server.rb +0 -0
  186. data/lib/comet/models/user_policy.rb +0 -0
  187. data/lib/comet/models/user_profile_config.rb +0 -0
  188. data/lib/comet/models/user_profile_fragment.rb +0 -0
  189. data/lib/comet/models/user_server_config.rb +0 -0
  190. data/lib/comet/models/vault_snapshot.rb +0 -0
  191. data/lib/comet/models/vmdksnapshot_view_options.rb +0 -0
  192. data/lib/comet/models/vmware_connection.rb +90 -0
  193. data/lib/comet/models/vmware_machine_info.rb +73 -0
  194. data/lib/comet/models/vsphere_connection.rb +112 -0
  195. data/lib/comet/models/vsscomponent.rb +0 -0
  196. data/lib/comet/models/vsswriter_info.rb +0 -0
  197. data/lib/comet/models/wasabi_virtual_storage_role_settings.rb +0 -0
  198. data/lib/comet/models/web_authn_authenticator_selection.rb +0 -0
  199. data/lib/comet/models/web_authn_credential.rb +0 -0
  200. data/lib/comet/models/web_authn_credential_assertion.rb +0 -0
  201. data/lib/comet/models/web_authn_credential_descriptor.rb +0 -0
  202. data/lib/comet/models/web_authn_credential_entity.rb +0 -0
  203. data/lib/comet/models/web_authn_credential_parameter.rb +0 -0
  204. data/lib/comet/models/web_authn_public_key_credential_creation_options.rb +0 -0
  205. data/lib/comet/models/web_authn_public_key_credential_request_options.rb +0 -0
  206. data/lib/comet/models/web_authn_registration_challenge_response.rb +0 -0
  207. data/lib/comet/models/web_authn_relying_party_entity.rb +0 -0
  208. data/lib/comet/models/web_authn_sign_request.rb +0 -0
  209. data/lib/comet/models/web_authn_sign_response.rb +0 -0
  210. data/lib/comet/models/web_authn_user_entity.rb +0 -0
  211. data/lib/comet/models/web_dav_destination_location.rb +0 -0
  212. data/lib/comet/models/web_interface_branding_properties.rb +0 -0
  213. data/lib/comet/models/webhook_option.rb +0 -0
  214. data/lib/comet/models/win_smbauth.rb +0 -0
  215. data/lib/comet/models/windows_code_sign_properties.rb +0 -0
  216. data/lib/comet_backup_ruby_sdk.rb +4 -0
  217. metadata +6 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 262330318e772731adda8873518301dcc352e8d558fdd9b884ba5b6a51294caa
4
- data.tar.gz: 2e2f507f7491f7588d45d4227cdd39cf4dc2ac5291dd49175fa2c1e6f966ab24
3
+ metadata.gz: c1edfdb3a130d9f6c3f4a1ff2624a05271b02fd3c2de3ab7520236f849968448
4
+ data.tar.gz: 94779eead6804de0c7ced5b7d45ecaa89e64109ff35a117c5577e970e7733442
5
5
  SHA512:
6
- metadata.gz: 20ab7b575bd8b2154021882e424aa95f9793f297a6f1d8562d8f94c89d9b3ba38ffb6ddfdcd239f8d2e5ab45c70c57c57a3c920c69a51f5444161aa3fdc551b2
7
- data.tar.gz: c5e28a689ee9fe9d34eb558c2cd8d3f25704728fb88996e3a2b3a230cb3f776bcb3903d7848fbd9854d4e9b0e802c27afbfced381c9c64d367d893d0f41b878c
6
+ metadata.gz: 27737e45d384a3d8016990a253cd4aa538f62b355a13630a0e9011db4ed1d11d15293fb3e26805b89c6350e6b59b8e22e2cd0b51241c5f76a95f4219777615d2
7
+ data.tar.gz: 88474756f8934567f4a117d9aad8c44e93b135b9f88a87ec93fc67f7610b988bc3f2950f1c4fc4edc8fcf0a45733b68a930341deb08331bfce83aa61d20cdd27
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 2023-10-25 v2.18.0
4
+
5
+ - Based on Comet 23.9.7
6
+ - Add VMware support
7
+
8
+ ## 2023-10-18 v2.16.0
9
+
10
+ - Based on Comet 23.9.6
11
+ - Added Comet Storage Remote Server Type
12
+
3
13
  ## 2023-10-12 v2.15.0
4
14
 
5
15
  - Based on Comet 23.9.5
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- comet_backup_ruby_sdk (2.15.0)
4
+ comet_backup_ruby_sdk (2.18.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -12,7 +12,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
12
12
 
13
13
  Gem::Specification.new do |spec|
14
14
  spec.name = 'comet_backup_ruby_sdk'
15
- spec.version = '2.15.0'
15
+ spec.version = '2.18.0'
16
16
  spec.authors = ['Comet Licensing Ltd.']
17
17
  spec.email = ['hello@cometbackup.com']
18
18
 
File without changes
@@ -1644,6 +1644,34 @@ module Comet
1644
1644
  ret
1645
1645
  end
1646
1646
 
1647
+ # AdminDispatcherRequestBrowseVmware
1648
+ #
1649
+ # Request a list of VMware vSphere virtual machines.
1650
+ # The remote device must have given consent for an MSP to browse their files.
1651
+ #
1652
+ # You must supply administrator authentication credentials to use this API.
1653
+ # This API requires the Auth Role to be enabled.
1654
+ #
1655
+ # @param [String] target_id The live connection GUID
1656
+ # @param [Comet::VMwareConnection] credentials The VMware vSphere connection settings
1657
+ # @return [Comet::BrowseVMwareResponse]
1658
+ def admin_dispatcher_request_browse_vmware(target_id, credentials)
1659
+ submit_params = {}
1660
+ raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
1661
+
1662
+ submit_params['TargetID'] = target_id
1663
+ raise TypeError, "'credentials' expected Comet::VMwareConnection, got #{credentials.class}" unless credentials.is_a? Comet::VMwareConnection
1664
+
1665
+ submit_params['Credentials'] = credentials.to_json
1666
+
1667
+ body = perform_request('api/v1/admin/dispatcher/request-browse-vmware', submit_params)
1668
+ json_body = JSON.parse body
1669
+ check_status json_body
1670
+ ret = Comet::BrowseVMwareResponse.new
1671
+ ret.from_hash(json_body)
1672
+ ret
1673
+ end
1674
+
1647
1675
  # AdminDispatcherRequestBrowseVssAaw
1648
1676
  #
1649
1677
  # Request a list of installed VSS Writers (Application-Aware Writers) from a live connected device.
@@ -7,13 +7,13 @@
7
7
 
8
8
  module Comet
9
9
 
10
- APPLICATION_VERSION = '23.9.5'
10
+ APPLICATION_VERSION = '23.9.7'
11
11
 
12
12
  APPLICATION_VERSION_MAJOR = 23
13
13
 
14
14
  APPLICATION_VERSION_MINOR = 9
15
15
 
16
- APPLICATION_VERSION_REVISION = 5
16
+ APPLICATION_VERSION_REVISION = 7
17
17
 
18
18
  # AutoRetentionLevel: The system will automatically choose how often to run an automatic Retention Pass after each backup job.
19
19
  BACKUPJOBAUTORETENTION_AUTOMATIC = 0
@@ -210,6 +210,9 @@ module Comet
210
210
  # Office 365
211
211
  ENGINE_BUILTIN_MSOFFICE = 'engine1/winmsofficemail'
212
212
 
213
+ # VMware
214
+ ENGINE_BUILTIN_VMWARE = 'engine1/vmware'
215
+
213
216
  # FtpsModeType: Use plain FTP, do not use FTPS.
214
217
  FTPS_MODE_PLAINTEXT = 0
215
218
 
@@ -219,6 +222,17 @@ module Comet
219
222
  # FtpsModeType: Use explicit FTPS, first creating an insecure connection and then upgrading to SSL/TLS using AUTH TLS (like STARTTLS).
220
223
  FTPS_MODE_EXPLICIT = 2
221
224
 
225
+ # Back up Hyper-V virtual machines using VSS mode. This includes all previous snapshots.
226
+ HYPERV_METHOD_VSS = 'vss'
227
+
228
+ # Back up Hyper-V virtual machines using WMI mode. This includes the latest snapshot data only.
229
+ # This const is available in Comet 23.9.8 and later.
230
+ HYPERV_METHOD_WMI_COPY = 'copy'
231
+
232
+ # Back up Hyper-V virtual machines using WMI mode with RCT acceleration. This includes the latest snapshot data only.
233
+ # This const is available in Comet 23.9.8 and later.
234
+ HYPERV_METHOD_WMI_CBT = 'wmi'
235
+
222
236
  # JobClassification: All BackupJobDetail.Classification fields will fall in the 4xxx range.
223
237
  JOB_CLASSIFICATION__MIN = 4000
224
238
 
@@ -418,6 +432,9 @@ module Comet
418
432
  # RemoteServerType
419
433
  REMOTESERVER_COMET = 'comet'
420
434
 
435
+ # RemoteServerType
436
+ REMOTESERVER_COMET_STORAGE = 'cometstorage'
437
+
421
438
  # RemoteServerType
422
439
  REMOTESERVER_LDAP = 'ldap'
423
440
 
@@ -982,6 +999,30 @@ module Comet
982
999
 
983
1000
  UNSUPPORT_VMDK_FILE_SYSTEM = 'ERR_UNSUPPORT_VMDK_FILE_SYSTEM'
984
1001
 
1002
+ # VMwareConnectionType
1003
+ VMWARE_CONNECTION_SSH = 'ssh'
1004
+
1005
+ # VMwareConnectionType
1006
+ VMWARE_CONNECTION_VSPHERE = 'vsphere'
1007
+
1008
+ # VmwareSnapshotType
1009
+ VMWARE_SNAPSHOT_FAST = ''
1010
+
1011
+ # VmwareSnapshotType
1012
+ VMWARE_SNAPSHOT_QUIESCE = 'quiesce'
1013
+
1014
+ # VmwareSnapshotType
1015
+ VMWARE_SNAPSHOT_MEMORY = 'memory'
1016
+
1017
+ # VmwareBackupType
1018
+ VMWARE_BACKUP_FULL = 'full'
1019
+
1020
+ # VmwareBackupType
1021
+ VMWARE_BACKUP_CBT = 'cbt'
1022
+
1023
+ # VmwareBackupType
1024
+ VMWARE_BACKUP_COPY = 'copy'
1025
+
985
1026
  VHDX_PARTITON_READ_ERR_MSG = 'ERR_VHDX_PARTITION'
986
1027
 
987
1028
  # WebAuthnDeviceType
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
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,98 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2020-2023 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
+ # BrowseVMwareResponse is a typed class wrapper around the underlying Comet Server API data structure.
13
+ class BrowseVMwareResponse
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 [Array<Comet::VMwareMachineInfo>] virtual_machines
23
+ attr_accessor :virtual_machines
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
+ @virtual_machines = []
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 'VirtualMachines'
61
+ if v.nil?
62
+ @virtual_machines = []
63
+ else
64
+ @virtual_machines = Array.new(v.length)
65
+ v.each_with_index do |v1, i1|
66
+ @virtual_machines[i1] = Comet::VMwareMachineInfo.new
67
+ @virtual_machines[i1].from_hash(v1)
68
+ end
69
+ end
70
+ else
71
+ @unknown_json_fields[k] = v
72
+ end
73
+ end
74
+ end
75
+
76
+ # @return [Hash] The complete object as a Ruby hash
77
+ def to_hash
78
+ ret = {}
79
+ ret['Status'] = @status
80
+ ret['Message'] = @message
81
+ ret['VirtualMachines'] = @virtual_machines
82
+ @unknown_json_fields.each do |k, v|
83
+ ret[k] = v
84
+ end
85
+ ret
86
+ end
87
+
88
+ # @return [Hash] The complete object as a Ruby hash
89
+ def to_h
90
+ to_hash
91
+ end
92
+
93
+ # @return [String] The complete object as a JSON string
94
+ def to_json(options = {})
95
+ to_hash.to_json(options)
96
+ end
97
+ end
98
+ 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
File without changes
File without changes
File without changes
@@ -210,6 +210,9 @@ module Comet
210
210
  # @type [Boolean] span_use_static_slots
211
211
  attr_accessor :span_use_static_slots
212
212
 
213
+ # @type [String] tag
214
+ attr_accessor :tag
215
+
213
216
  # One of the ENCRYPTIONMETHOD_ constants
214
217
  # @type [Number] encryption_key_encryption_method
215
218
  attr_accessor :encryption_key_encryption_method
@@ -297,6 +300,7 @@ module Comet
297
300
  @web_dav = Comet::WebDavDestinationLocation.new
298
301
  @storj = Comet::StorjDestinationLocation.new
299
302
  @span_targets = []
303
+ @tag = ''
300
304
  @encryption_key_encryption_method = 0
301
305
  @encrypted_encryption_key = ''
302
306
  @repo_init_timestamp = 0
@@ -540,6 +544,10 @@ module Comet
540
544
  end
541
545
  when 'SpanUseStaticSlots'
542
546
  @span_use_static_slots = v
547
+ when 'Tag'
548
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
549
+
550
+ @tag = v
543
551
  when 'EncryptionKeyEncryptionMethod'
544
552
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
545
553
 
@@ -628,6 +636,7 @@ module Comet
628
636
  ret['Storj'] = @storj
629
637
  ret['SpanTargets'] = @span_targets
630
638
  ret['SpanUseStaticSlots'] = @span_use_static_slots
639
+ ret['Tag'] = @tag
631
640
  ret['EncryptionKeyEncryptionMethod'] = @encryption_key_encryption_method
632
641
  ret['EncryptedEncryptionKey'] = @encrypted_encryption_key
633
642
  ret['RepoInitTimestamp'] = @repo_init_timestamp
@@ -190,6 +190,9 @@ module Comet
190
190
  # @type [Boolean] span_use_static_slots
191
191
  attr_accessor :span_use_static_slots
192
192
 
193
+ # @type [String] tag
194
+ attr_accessor :tag
195
+
193
196
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
194
197
  attr_accessor :unknown_json_fields
195
198
 
@@ -238,6 +241,7 @@ module Comet
238
241
  @web_dav = Comet::WebDavDestinationLocation.new
239
242
  @storj = Comet::StorjDestinationLocation.new
240
243
  @span_targets = []
244
+ @tag = ''
241
245
  @unknown_json_fields = {}
242
246
  end
243
247
 
@@ -430,6 +434,10 @@ module Comet
430
434
  end
431
435
  when 'SpanUseStaticSlots'
432
436
  @span_use_static_slots = v
437
+ when 'Tag'
438
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
439
+
440
+ @tag = v
433
441
  else
434
442
  @unknown_json_fields[k] = v
435
443
  end
@@ -486,6 +494,7 @@ module Comet
486
494
  ret['Storj'] = @storj
487
495
  ret['SpanTargets'] = @span_targets
488
496
  ret['SpanUseStaticSlots'] = @span_use_static_slots
497
+ ret['Tag'] = @tag
489
498
  @unknown_json_fields.each do |k, v|
490
499
  ret[k] = v
491
500
  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
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
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
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