comet_backup_ruby_sdk 2.17.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 +5 -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 +40 -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 +0 -0
  57. data/lib/comet/models/destination_location.rb +0 -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: e51f22f14215859b506d05275dcde39118daf741417c1f880f43db0da77787c6
4
- data.tar.gz: 0275fccf0713fc1432ee81528e310d34aaa650470b3ef5022425a1d1fe25834c
3
+ metadata.gz: c1edfdb3a130d9f6c3f4a1ff2624a05271b02fd3c2de3ab7520236f849968448
4
+ data.tar.gz: 94779eead6804de0c7ced5b7d45ecaa89e64109ff35a117c5577e970e7733442
5
5
  SHA512:
6
- metadata.gz: 80c7480afd626944a232ebfd1eb50c6015f513c7e75d309bb7559c4b2d706a90ffaad8caaa4cfd752b2d4662c60e351db0eee88cbd44143d406d5d27df64c122
7
- data.tar.gz: 4bf992dbfd18847c2456ffcaf42ed1a26ef8dc798f9860e49b78c3c2aa7014c73c6c652441a1abf3a46c3c20377cd633472345baaa4a5b3c59573d88d397982f
6
+ metadata.gz: 27737e45d384a3d8016990a253cd4aa538f62b355a13630a0e9011db4ed1d11d15293fb3e26805b89c6350e6b59b8e22e2cd0b51241c5f76a95f4219777615d2
7
+ data.tar.gz: 88474756f8934567f4a117d9aad8c44e93b135b9f88a87ec93fc67f7610b988bc3f2950f1c4fc4edc8fcf0a45733b68a930341deb08331bfce83aa61d20cdd27
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
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
+
3
8
  ## 2023-10-18 v2.16.0
4
9
 
5
10
  - Based on Comet 23.9.6
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- comet_backup_ruby_sdk (2.17.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.17.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.6'
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 = 6
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
 
@@ -985,6 +999,30 @@ module Comet
985
999
 
986
1000
  UNSUPPORT_VMDK_FILE_SYSTEM = 'ERR_UNSUPPORT_VMDK_FILE_SYSTEM'
987
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
+
988
1026
  VHDX_PARTITON_READ_ERR_MSG = 'ERR_VHDX_PARTITION'
989
1027
 
990
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
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
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