comet_backup_ruby_sdk 1.11.0 → 1.14.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 (345) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +28 -2
  3. data/Gemfile.lock +1 -1
  4. data/README.md +3 -2
  5. data/RELEASING.md +1 -1
  6. data/comet_backup_ruby_sdk.gemspec +1 -1
  7. data/lib/api_response_error.rb +27 -0
  8. data/lib/comet/api_response_error.rb +1 -1
  9. data/lib/comet/comet_server.rb +85 -6
  10. data/lib/comet/definitions.rb +72 -14
  11. data/lib/comet/models/add_bucket_response_message.rb +1 -1
  12. data/lib/comet/models/admin_account_properties_response.rb +1 -1
  13. data/lib/comet/models/admin_email_options.rb +1 -1
  14. data/lib/comet/models/admin_resource_response.rb +1 -1
  15. data/lib/comet/models/admin_security_options.rb +3 -1
  16. data/lib/comet/models/admin_u2fregistration.rb +2 -1
  17. data/lib/comet/models/admin_user_permissions.rb +1 -1
  18. data/lib/comet/models/admin_web_authn_registration.rb +10 -1
  19. data/lib/comet/models/allowed_admin_user.rb +3 -1
  20. data/lib/comet/models/available_download.rb +1 -1
  21. data/lib/comet/models/azure_destination_location.rb +1 -1
  22. data/lib/comet/models/b2destination_location.rb +2 -1
  23. data/lib/comet/models/b2storage_extra_info.rb +1 -1
  24. data/lib/comet/models/b2transaction_totals.rb +1 -1
  25. data/lib/comet/models/b2virtual_storage_role_settings.rb +1 -1
  26. data/lib/comet/models/backup_job_advanced_options.rb +10 -1
  27. data/lib/comet/models/backup_job_detail.rb +54 -1
  28. data/lib/comet/models/backup_job_progress.rb +1 -1
  29. data/lib/comet/models/backup_rule_config.rb +10 -1
  30. data/lib/comet/models/backup_rule_event_triggers.rb +1 -1
  31. data/lib/comet/models/branding_options.rb +10 -1
  32. data/lib/comet/models/branding_properties.rb +10 -1
  33. data/lib/comet/models/browse_disk_drives_response.rb +1 -1
  34. data/lib/comet/models/browse_edbresponse.rb +1 -1
  35. data/lib/comet/models/browse_hvresponse.rb +1 -1
  36. data/lib/comet/models/browse_office_365list_virtual_accounts_response.rb +1 -1
  37. data/lib/comet/models/browse_office_365objects_response.rb +1 -1
  38. data/lib/comet/models/browse_sqlserver_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_stats.rb +1 -1
  46. data/lib/comet/models/constellation_status_apiresponse.rb +1 -1
  47. data/lib/comet/models/content_measurement.rb +1 -1
  48. data/lib/comet/models/content_measurement_component.rb +1 -1
  49. data/lib/comet/models/create_group_policy_response.rb +1 -1
  50. data/lib/comet/models/custom_remote_bucket_settings.rb +1 -1
  51. data/lib/comet/models/days_of_week_config.rb +108 -0
  52. data/lib/comet/models/default_email_report_policy.rb +1 -1
  53. data/lib/comet/models/default_source_with_osrestriction.rb +1 -1
  54. data/lib/comet/models/destination_config.rb +1 -1
  55. data/lib/comet/models/destination_location.rb +1 -1
  56. data/lib/comet/models/destination_statistics.rb +1 -1
  57. data/lib/comet/models/device_config.rb +1 -1
  58. data/lib/comet/models/disk_drive.rb +1 -1
  59. data/lib/comet/models/dispatcher_admin_sources_response.rb +1 -1
  60. data/lib/comet/models/dispatcher_stored_objects_response.rb +1 -1
  61. data/lib/comet/models/dispatcher_vault_snapshots_response.rb +1 -1
  62. data/lib/comet/models/dispatcher_windisk_snapshot_response.rb +1 -1
  63. data/lib/comet/models/edbfile_info.rb +1 -1
  64. data/lib/comet/models/email_options.rb +1 -1
  65. data/lib/comet/models/email_report_config.rb +1 -1
  66. data/lib/comet/models/email_report_generated_preview.rb +1 -1
  67. data/lib/comet/models/external_ldapauthentication_source_settings.rb +1 -1
  68. data/lib/comet/models/extra_file_exclusion.rb +1 -1
  69. data/lib/comet/models/ftpdestination_location.rb +1 -1
  70. data/lib/comet/models/get_group_policy_response.rb +1 -1
  71. data/lib/comet/models/get_profile_and_hash_response_message.rb +1 -1
  72. data/lib/comet/models/get_profile_hash_response_message.rb +1 -1
  73. data/lib/comet/models/group_policy.rb +1 -1
  74. data/lib/comet/models/hour_sched_config.rb +84 -0
  75. data/lib/comet/models/hyper_vmachine_info.rb +1 -1
  76. data/lib/comet/models/install_creds.rb +1 -1
  77. data/lib/comet/models/install_token.rb +1 -1
  78. data/lib/comet/models/install_token_response.rb +1 -1
  79. data/lib/comet/models/job_entry.rb +2 -1
  80. data/lib/comet/models/live_user_connection.rb +1 -1
  81. data/lib/comet/models/local_destination_location.rb +1 -1
  82. data/lib/comet/models/mac_oscode_sign_properties.rb +70 -1
  83. data/lib/comet/models/mongo_dbconnection.rb +1 -1
  84. data/lib/comet/models/mssqlconnection.rb +1 -1
  85. data/lib/comet/models/my_sqlconnection.rb +1 -1
  86. data/lib/comet/models/new_bucket_detail.rb +1 -1
  87. data/lib/comet/models/news_entry.rb +1 -1
  88. data/lib/comet/models/office_365connection.rb +1 -1
  89. data/lib/comet/models/office_365credential.rb +1 -1
  90. data/lib/comet/models/office_365custom_setting.rb +2 -1
  91. data/lib/comet/models/office_365custom_setting_v2.rb +1 -1
  92. data/lib/comet/models/office_365mixed_virtual_account.rb +9 -1
  93. data/lib/comet/models/office_365object_info.rb +1 -1
  94. data/lib/comet/models/organization.rb +1 -1
  95. data/lib/comet/models/organization_response.rb +1 -1
  96. data/lib/comet/models/osinfo.rb +1 -1
  97. data/lib/comet/models/partition.rb +1 -1
  98. data/lib/comet/models/private_branding_properties.rb +10 -1
  99. data/lib/comet/models/protected_item_engine_type_policy.rb +1 -1
  100. data/lib/comet/models/public_branding_properties.rb +1 -1
  101. data/lib/comet/models/register_office_application_begin_response.rb +1 -1
  102. data/lib/comet/models/register_office_application_check_response.rb +1 -1
  103. data/lib/comet/models/remote_server_address.rb +1 -1
  104. data/lib/comet/models/remote_storage_option.rb +1 -1
  105. data/lib/comet/models/replicator_state_apiresponse.rb +1 -1
  106. data/lib/comet/models/request_storage_vault_response_message.rb +1 -1
  107. data/lib/comet/models/restore_job_advanced_options.rb +1 -1
  108. data/lib/comet/models/retention_policy.rb +1 -1
  109. data/lib/comet/models/retention_range.rb +1 -1
  110. data/lib/comet/models/s3destination_location.rb +1 -1
  111. data/lib/comet/models/schedule_config.rb +37 -1
  112. data/lib/comet/models/search_clause.rb +1 -1
  113. data/lib/comet/models/self_backup_statistics.rb +1 -1
  114. data/lib/comet/models/server_config_options_branding_fragment.rb +1 -1
  115. data/lib/comet/models/server_config_options_software_build_role_fragment.rb +1 -1
  116. data/lib/comet/models/server_meta_branding_properties.rb +1 -1
  117. data/lib/comet/models/server_meta_version_info.rb +1 -1
  118. data/lib/comet/models/session_key_regenerated_response.rb +1 -1
  119. data/lib/comet/models/sftpdestination_location.rb +1 -1
  120. data/lib/comet/models/size_measurement.rb +1 -1
  121. data/lib/comet/models/software_build_role_options.rb +1 -1
  122. data/lib/comet/models/software_update_news_response.rb +1 -1
  123. data/lib/comet/models/source_basic_info.rb +1 -1
  124. data/lib/comet/models/source_config.rb +1 -1
  125. data/lib/comet/models/source_include_pattern.rb +1 -1
  126. data/lib/comet/models/source_statistics.rb +1 -1
  127. data/lib/comet/models/spanned_destination_location.rb +1 -1
  128. data/lib/comet/models/spanned_storage_extra_info.rb +1 -1
  129. data/lib/comet/models/sshconnection.rb +1 -1
  130. data/lib/comet/models/stat_result.rb +1 -1
  131. data/lib/comet/models/storage_free_space_info.rb +1 -1
  132. data/lib/comet/models/storage_vault_provider_policy.rb +1 -1
  133. data/lib/comet/models/stored_object.rb +2 -1
  134. data/lib/comet/models/streamable_event.rb +1 -1
  135. data/lib/comet/models/swift_destination_location.rb +1 -1
  136. data/lib/comet/models/test_response.rb +1 -1
  137. data/lib/comet/models/totp_regenerated_response.rb +1 -1
  138. data/lib/comet/models/u2fregister_request.rb +2 -1
  139. data/lib/comet/models/u2fregistered_key.rb +2 -1
  140. data/lib/comet/models/u2fregistration_challenge_response.rb +2 -1
  141. data/lib/comet/models/u2fsign_request.rb +2 -1
  142. data/lib/comet/models/u2fsign_response.rb +2 -1
  143. data/lib/comet/models/uninstall_config.rb +1 -1
  144. data/lib/comet/models/update_campaign_device_status.rb +1 -1
  145. data/lib/comet/models/update_campaign_options.rb +24 -1
  146. data/lib/comet/models/update_campaign_properties.rb +21 -1
  147. data/lib/comet/models/update_campaign_status.rb +21 -1
  148. data/lib/comet/models/update_campaign_status_device_entry.rb +1 -1
  149. data/lib/comet/models/user_custom_email_settings.rb +1 -1
  150. data/lib/comet/models/user_on_server.rb +1 -1
  151. data/lib/comet/models/user_policy.rb +1 -1
  152. data/lib/comet/models/user_profile_config.rb +10 -1
  153. data/lib/comet/models/user_profile_fragment.rb +1 -1
  154. data/lib/comet/models/vault_snapshot.rb +1 -1
  155. data/lib/comet/models/vmdksnapshot_view_options.rb +90 -0
  156. data/lib/comet/models/vsscomponent.rb +1 -1
  157. data/lib/comet/models/vsswriter_info.rb +1 -1
  158. data/lib/comet/models/wasabi_virtual_storage_role_settings.rb +1 -1
  159. data/lib/comet/models/web_authn_authenticator_selection.rb +1 -1
  160. data/lib/comet/models/web_authn_credential.rb +1 -1
  161. data/lib/comet/models/web_authn_credential_assertion.rb +1 -1
  162. data/lib/comet/models/web_authn_credential_descriptor.rb +1 -1
  163. data/lib/comet/models/web_authn_credential_entity.rb +1 -1
  164. data/lib/comet/models/web_authn_credential_parameter.rb +1 -1
  165. data/lib/comet/models/web_authn_public_key_credential_creation_options.rb +3 -4
  166. data/lib/comet/models/web_authn_public_key_credential_request_options.rb +3 -4
  167. data/lib/comet/models/web_authn_registration_challenge_response.rb +1 -1
  168. data/lib/comet/models/web_authn_relying_party_entity.rb +1 -1
  169. data/lib/comet/models/web_authn_sign_request.rb +1 -1
  170. data/lib/comet/models/web_authn_sign_response.rb +1 -1
  171. data/lib/comet/models/web_authn_user_entity.rb +1 -1
  172. data/lib/comet/models/web_interface_branding_properties.rb +1 -1
  173. data/lib/comet/models/webhook_option.rb +1 -1
  174. data/lib/comet/models/win_smbauth.rb +1 -1
  175. data/lib/comet/models/windows_code_sign_properties.rb +1 -1
  176. data/lib/comet_backup_ruby_sdk.rb +4 -1
  177. data/lib/comet_server.rb +3785 -0
  178. data/lib/definitions.rb +710 -0
  179. data/lib/models/add_bucket_response_message.rb +102 -0
  180. data/lib/models/admin_account_properties_response.rb +91 -0
  181. data/lib/models/admin_email_options.rb +84 -0
  182. data/lib/models/admin_resource_response.rb +93 -0
  183. data/lib/models/admin_security_options.rb +177 -0
  184. data/lib/models/admin_u2fregistration.rb +93 -0
  185. data/lib/models/admin_user_permissions.rb +106 -0
  186. data/lib/models/admin_web_authn_registration.rb +121 -0
  187. data/lib/models/allowed_admin_user.rb +214 -0
  188. data/lib/models/available_download.rb +90 -0
  189. data/lib/models/azure_destination_location.rb +111 -0
  190. data/lib/models/b2destination_location.rb +130 -0
  191. data/lib/models/b2storage_extra_info.rb +81 -0
  192. data/lib/models/b2transaction_totals.rb +93 -0
  193. data/lib/models/b2virtual_storage_role_settings.rb +99 -0
  194. data/lib/models/backup_job_advanced_options.rb +117 -0
  195. data/lib/models/backup_job_detail.rb +328 -0
  196. data/lib/models/backup_job_progress.rb +111 -0
  197. data/lib/models/backup_rule_config.rb +233 -0
  198. data/lib/models/backup_rule_event_triggers.rb +82 -0
  199. data/lib/models/branding_options.rb +335 -0
  200. data/lib/models/branding_properties.rb +293 -0
  201. data/lib/models/browse_disk_drives_response.rb +99 -0
  202. data/lib/models/browse_edbresponse.rb +99 -0
  203. data/lib/models/browse_hvresponse.rb +99 -0
  204. data/lib/models/browse_office_365list_virtual_accounts_response.rb +99 -0
  205. data/lib/models/browse_office_365objects_response.rb +99 -0
  206. data/lib/models/browse_sqlserver_response.rb +100 -0
  207. data/lib/models/browse_vssresponse.rb +99 -0
  208. data/lib/models/bucket_properties.rb +110 -0
  209. data/lib/models/bucket_usage_info.rb +97 -0
  210. data/lib/models/comet_apiresponse_message.rb +84 -0
  211. data/lib/models/comet_destination_location.rb +93 -0
  212. data/lib/models/constellation_check_report.rb +99 -0
  213. data/lib/models/constellation_stats.rb +102 -0
  214. data/lib/models/constellation_status_apiresponse.rb +114 -0
  215. data/lib/models/content_measurement.rb +99 -0
  216. data/lib/models/content_measurement_component.rb +91 -0
  217. data/lib/models/create_group_policy_response.rb +93 -0
  218. data/lib/models/custom_remote_bucket_settings.rb +75 -0
  219. data/lib/models/days_of_week_config.rb +108 -0
  220. data/lib/models/default_email_report_policy.rb +87 -0
  221. data/lib/models/default_source_with_osrestriction.rb +83 -0
  222. data/lib/models/destination_config.rb +562 -0
  223. data/lib/models/destination_location.rb +421 -0
  224. data/lib/models/destination_statistics.rb +115 -0
  225. data/lib/models/device_config.rb +124 -0
  226. data/lib/models/disk_drive.rb +180 -0
  227. data/lib/models/dispatcher_admin_sources_response.rb +100 -0
  228. data/lib/models/dispatcher_stored_objects_response.rb +99 -0
  229. data/lib/models/dispatcher_vault_snapshots_response.rb +99 -0
  230. data/lib/models/dispatcher_windisk_snapshot_response.rb +99 -0
  231. data/lib/models/edbfile_info.rb +99 -0
  232. data/lib/models/email_options.rb +153 -0
  233. data/lib/models/email_report_config.rb +98 -0
  234. data/lib/models/email_report_generated_preview.rb +136 -0
  235. data/lib/models/external_ldapauthentication_source_settings.rb +135 -0
  236. data/lib/models/extra_file_exclusion.rb +90 -0
  237. data/lib/models/ftpdestination_location.rb +141 -0
  238. data/lib/models/get_group_policy_response.rb +101 -0
  239. data/lib/models/get_profile_and_hash_response_message.rb +101 -0
  240. data/lib/models/get_profile_hash_response_message.rb +93 -0
  241. data/lib/models/group_policy.rb +98 -0
  242. data/lib/models/hour_sched_config.rb +84 -0
  243. data/lib/models/hyper_vmachine_info.rb +84 -0
  244. data/lib/models/install_creds.rb +99 -0
  245. data/lib/models/install_token.rb +117 -0
  246. data/lib/models/install_token_response.rb +92 -0
  247. data/lib/models/job_entry.rb +94 -0
  248. data/lib/models/live_user_connection.rb +149 -0
  249. data/lib/models/local_destination_location.rb +102 -0
  250. data/lib/models/mac_oscode_sign_properties.rb +197 -0
  251. data/lib/models/mongo_dbconnection.rb +230 -0
  252. data/lib/models/mssqlconnection.rb +120 -0
  253. data/lib/models/my_sqlconnection.rb +141 -0
  254. data/lib/models/new_bucket_detail.rb +84 -0
  255. data/lib/models/news_entry.rb +93 -0
  256. data/lib/models/office_365connection.rb +131 -0
  257. data/lib/models/office_365credential.rb +111 -0
  258. data/lib/models/office_365custom_setting.rb +133 -0
  259. data/lib/models/office_365custom_setting_v2.rb +108 -0
  260. data/lib/models/office_365mixed_virtual_account.rb +211 -0
  261. data/lib/models/office_365object_info.rb +118 -0
  262. data/lib/models/organization.rb +151 -0
  263. data/lib/models/organization_response.rb +101 -0
  264. data/lib/models/osinfo.rb +99 -0
  265. data/lib/models/partition.rb +172 -0
  266. data/lib/models/private_branding_properties.rb +227 -0
  267. data/lib/models/protected_item_engine_type_policy.rb +88 -0
  268. data/lib/models/public_branding_properties.rb +132 -0
  269. data/lib/models/register_office_application_begin_response.rb +93 -0
  270. data/lib/models/register_office_application_check_response.rb +100 -0
  271. data/lib/models/remote_server_address.rb +167 -0
  272. data/lib/models/remote_storage_option.rb +188 -0
  273. data/lib/models/replicator_state_apiresponse.rb +174 -0
  274. data/lib/models/request_storage_vault_response_message.rb +93 -0
  275. data/lib/models/restore_job_advanced_options.rb +131 -0
  276. data/lib/models/retention_policy.rb +90 -0
  277. data/lib/models/retention_range.rb +138 -0
  278. data/lib/models/s3destination_location.rb +123 -0
  279. data/lib/models/s3generic_virtual_storage_role.rb +111 -0
  280. data/lib/models/schedule_config.rb +131 -0
  281. data/lib/models/search_clause.rb +119 -0
  282. data/lib/models/self_backup_statistics.rb +108 -0
  283. data/lib/models/server_config_options_branding_fragment.rb +74 -0
  284. data/lib/models/server_config_options_software_build_role_fragment.rb +74 -0
  285. data/lib/models/server_meta_branding_properties.rb +144 -0
  286. data/lib/models/server_meta_version_info.rb +261 -0
  287. data/lib/models/session_key_regenerated_response.rb +102 -0
  288. data/lib/models/sftpdestination_location.rb +135 -0
  289. data/lib/models/size_measurement.rb +93 -0
  290. data/lib/models/software_build_role_options.rb +78 -0
  291. data/lib/models/software_update_news_response.rb +109 -0
  292. data/lib/models/source_basic_info.rb +101 -0
  293. data/lib/models/source_config.rb +202 -0
  294. data/lib/models/source_include_pattern.rb +84 -0
  295. data/lib/models/source_statistics.rb +82 -0
  296. data/lib/models/spanned_destination_location.rb +87 -0
  297. data/lib/models/spanned_storage_extra_info.rb +81 -0
  298. data/lib/models/sshconnection.rb +126 -0
  299. data/lib/models/stat_result.rb +111 -0
  300. data/lib/models/storage_free_space_info.rb +110 -0
  301. data/lib/models/storage_vault_provider_policy.rb +88 -0
  302. data/lib/models/stored_object.rb +238 -0
  303. data/lib/models/streamable_event.rb +92 -0
  304. data/lib/models/swift_destination_location.rb +209 -0
  305. data/lib/models/test_response.rb +90 -0
  306. data/lib/models/totp_regenerated_response.rb +111 -0
  307. data/lib/models/u2fregister_request.rb +85 -0
  308. data/lib/models/u2fregistered_key.rb +94 -0
  309. data/lib/models/u2fregistration_challenge_response.rb +133 -0
  310. data/lib/models/u2fsign_request.rb +109 -0
  311. data/lib/models/u2fsign_response.rb +103 -0
  312. data/lib/models/uninstall_config.rb +78 -0
  313. data/lib/models/update_campaign_device_status.rb +75 -0
  314. data/lib/models/update_campaign_options.rb +113 -0
  315. data/lib/models/update_campaign_properties.rb +128 -0
  316. data/lib/models/update_campaign_status.rb +143 -0
  317. data/lib/models/update_campaign_status_device_entry.rb +93 -0
  318. data/lib/models/user_custom_email_settings.rb +81 -0
  319. data/lib/models/user_on_server.rb +84 -0
  320. data/lib/models/user_policy.rb +339 -0
  321. data/lib/models/user_profile_config.rb +349 -0
  322. data/lib/models/user_profile_fragment.rb +75 -0
  323. data/lib/models/vault_snapshot.rb +99 -0
  324. data/lib/models/vmdksnapshot_view_options.rb +90 -0
  325. data/lib/models/vsscomponent.rb +99 -0
  326. data/lib/models/vsswriter_info.rb +90 -0
  327. data/lib/models/wasabi_virtual_storage_role_settings.rb +93 -0
  328. data/lib/models/web_authn_authenticator_selection.rb +96 -0
  329. data/lib/models/web_authn_credential.rb +105 -0
  330. data/lib/models/web_authn_credential_assertion.rb +74 -0
  331. data/lib/models/web_authn_credential_descriptor.rb +101 -0
  332. data/lib/models/web_authn_credential_entity.rb +86 -0
  333. data/lib/models/web_authn_credential_parameter.rb +84 -0
  334. data/lib/models/web_authn_public_key_credential_creation_options.rb +172 -0
  335. data/lib/models/web_authn_public_key_credential_request_options.rb +140 -0
  336. data/lib/models/web_authn_registration_challenge_response.rb +101 -0
  337. data/lib/models/web_authn_relying_party_entity.rb +95 -0
  338. data/lib/models/web_authn_sign_request.rb +83 -0
  339. data/lib/models/web_authn_sign_response.rb +84 -0
  340. data/lib/models/web_authn_user_entity.rb +105 -0
  341. data/lib/models/web_interface_branding_properties.rb +108 -0
  342. data/lib/models/webhook_option.rb +107 -0
  343. data/lib/models/win_smbauth.rb +102 -0
  344. data/lib/models/windows_code_sign_properties.rb +147 -0
  345. metadata +174 -2
@@ -0,0 +1,202 @@
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
+ # SourceConfig is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class SourceConfig
16
+
17
+ # @type [String] engine
18
+ attr_accessor :engine
19
+
20
+ # @type [String] description
21
+ attr_accessor :description
22
+
23
+ # @type [String] owner_device
24
+ attr_accessor :owner_device
25
+
26
+ # @type [Number] create_time
27
+ attr_accessor :create_time
28
+
29
+ # @type [Number] modify_time
30
+ attr_accessor :modify_time
31
+
32
+ # @type [Array<String>] pre_exec
33
+ attr_accessor :pre_exec
34
+
35
+ # @type [Array<String>] thaw_exec
36
+ attr_accessor :thaw_exec
37
+
38
+ # @type [Array<String>] post_exec
39
+ attr_accessor :post_exec
40
+
41
+ # @type [Hash{String => String}] engine_props
42
+ attr_accessor :engine_props
43
+
44
+ # @type [Hash{String => Comet::RetentionPolicy}] override_destination_retention
45
+ attr_accessor :override_destination_retention
46
+
47
+ # @type [Comet::SourceStatistics] statistics
48
+ attr_accessor :statistics
49
+
50
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
51
+ attr_accessor :unknown_json_fields
52
+
53
+ def initialize
54
+ clear
55
+ end
56
+
57
+ def clear
58
+ @engine = ''
59
+ @description = ''
60
+ @owner_device = ''
61
+ @create_time = 0
62
+ @modify_time = 0
63
+ @pre_exec = []
64
+ @thaw_exec = []
65
+ @post_exec = []
66
+ @engine_props = {}
67
+ @override_destination_retention = {}
68
+ @statistics = Comet::SourceStatistics.new
69
+ @unknown_json_fields = {}
70
+ end
71
+
72
+ # @param [String] json_string The complete object in JSON format
73
+ def from_json(json_string)
74
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
75
+
76
+ from_hash(JSON.parse(json_string))
77
+ end
78
+
79
+ # @param [Hash] obj The complete object as a Ruby hash
80
+ def from_hash(obj)
81
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
82
+
83
+ obj.each do |k, v|
84
+ case k
85
+ when 'Engine'
86
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
87
+
88
+ @engine = v
89
+ when 'Description'
90
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
91
+
92
+ @description = v
93
+ when 'OwnerDevice'
94
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
95
+
96
+ @owner_device = v
97
+ when 'CreateTime'
98
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
99
+
100
+ @create_time = v
101
+ when 'ModifyTime'
102
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
103
+
104
+ @modify_time = v
105
+ when 'PreExec'
106
+ if v.nil?
107
+ @pre_exec = []
108
+ else
109
+ @pre_exec = Array.new(v.length)
110
+ v.each_with_index do |v1, i1|
111
+ raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
112
+
113
+ @pre_exec[i1] = v1
114
+ end
115
+ end
116
+ when 'ThawExec'
117
+ if v.nil?
118
+ @thaw_exec = []
119
+ else
120
+ @thaw_exec = Array.new(v.length)
121
+ v.each_with_index do |v1, i1|
122
+ raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
123
+
124
+ @thaw_exec[i1] = v1
125
+ end
126
+ end
127
+ when 'PostExec'
128
+ if v.nil?
129
+ @post_exec = []
130
+ else
131
+ @post_exec = Array.new(v.length)
132
+ v.each_with_index do |v1, i1|
133
+ raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
134
+
135
+ @post_exec[i1] = v1
136
+ end
137
+ end
138
+ when 'EngineProps'
139
+ @engine_props = {}
140
+ if v.nil?
141
+ @engine_props = {}
142
+ else
143
+ v.each do |k1, v1|
144
+ raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
145
+
146
+ @engine_props[k1] = v1
147
+ end
148
+ end
149
+ when 'OverrideDestinationRetention'
150
+ @override_destination_retention = {}
151
+ if v.nil?
152
+ @override_destination_retention = {}
153
+ else
154
+ v.each do |k1, v1|
155
+ @override_destination_retention[k1] = Comet::RetentionPolicy.new
156
+ @override_destination_retention[k1].from_hash(v1)
157
+ end
158
+ end
159
+ when 'Statistics'
160
+ @statistics = Comet::SourceStatistics.new
161
+ @statistics.from_hash(v)
162
+ else
163
+ @unknown_json_fields[k] = v
164
+ end
165
+ end
166
+ end
167
+
168
+ # @return [Hash] The complete object as a Ruby hash
169
+ def to_hash
170
+ ret = {}
171
+ ret['Engine'] = @engine
172
+ ret['Description'] = @description
173
+ ret['OwnerDevice'] = @owner_device
174
+ ret['CreateTime'] = @create_time
175
+ ret['ModifyTime'] = @modify_time
176
+ ret['PreExec'] = @pre_exec
177
+ ret['ThawExec'] = @thaw_exec
178
+ ret['PostExec'] = @post_exec
179
+ ret['EngineProps'] = @engine_props
180
+ unless @override_destination_retention.nil?
181
+ ret['OverrideDestinationRetention'] = @override_destination_retention
182
+ end
183
+ unless @statistics.nil?
184
+ ret['Statistics'] = @statistics
185
+ end
186
+ @unknown_json_fields.each do |k, v|
187
+ ret[k] = v
188
+ end
189
+ ret
190
+ end
191
+
192
+ # @return [Hash] The complete object as a Ruby hash
193
+ def to_h
194
+ to_hash
195
+ end
196
+
197
+ # @return [String] The complete object as a JSON string
198
+ def to_json(options = {})
199
+ to_hash.to_json(options)
200
+ end
201
+ end
202
+ end
@@ -0,0 +1,84 @@
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
+ # SourceIncludePattern is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class SourceIncludePattern
16
+
17
+ # @type [String] top_directory
18
+ attr_accessor :top_directory
19
+
20
+ # @type [String] value
21
+ attr_accessor :value
22
+
23
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
24
+ attr_accessor :unknown_json_fields
25
+
26
+ def initialize
27
+ clear
28
+ end
29
+
30
+ def clear
31
+ @top_directory = ''
32
+ @value = ''
33
+ @unknown_json_fields = {}
34
+ end
35
+
36
+ # @param [String] json_string The complete object in JSON format
37
+ def from_json(json_string)
38
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
39
+
40
+ from_hash(JSON.parse(json_string))
41
+ end
42
+
43
+ # @param [Hash] obj The complete object as a Ruby hash
44
+ def from_hash(obj)
45
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
46
+
47
+ obj.each do |k, v|
48
+ case k
49
+ when 'TopDirectory'
50
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
51
+
52
+ @top_directory = v
53
+ when 'Value'
54
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
55
+
56
+ @value = v
57
+ else
58
+ @unknown_json_fields[k] = v
59
+ end
60
+ end
61
+ end
62
+
63
+ # @return [Hash] The complete object as a Ruby hash
64
+ def to_hash
65
+ ret = {}
66
+ ret['TopDirectory'] = @top_directory
67
+ ret['Value'] = @value
68
+ @unknown_json_fields.each do |k, v|
69
+ ret[k] = v
70
+ end
71
+ ret
72
+ end
73
+
74
+ # @return [Hash] The complete object as a Ruby hash
75
+ def to_h
76
+ to_hash
77
+ end
78
+
79
+ # @return [String] The complete object as a JSON string
80
+ def to_json(options = {})
81
+ to_hash.to_json(options)
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,82 @@
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
+ # SourceStatistics is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class SourceStatistics
16
+
17
+ # @type [Comet::BackupJobDetail] last_backup_job
18
+ attr_accessor :last_backup_job
19
+
20
+ # @type [Comet::BackupJobDetail] last_successful_backup_job
21
+ attr_accessor :last_successful_backup_job
22
+
23
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
24
+ attr_accessor :unknown_json_fields
25
+
26
+ def initialize
27
+ clear
28
+ end
29
+
30
+ def clear
31
+ @last_backup_job = Comet::BackupJobDetail.new
32
+ @last_successful_backup_job = Comet::BackupJobDetail.new
33
+ @unknown_json_fields = {}
34
+ end
35
+
36
+ # @param [String] json_string The complete object in JSON format
37
+ def from_json(json_string)
38
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
39
+
40
+ from_hash(JSON.parse(json_string))
41
+ end
42
+
43
+ # @param [Hash] obj The complete object as a Ruby hash
44
+ def from_hash(obj)
45
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
46
+
47
+ obj.each do |k, v|
48
+ case k
49
+ when 'LastBackupJob'
50
+ @last_backup_job = Comet::BackupJobDetail.new
51
+ @last_backup_job.from_hash(v)
52
+ when 'LastSuccessfulBackupJob'
53
+ @last_successful_backup_job = Comet::BackupJobDetail.new
54
+ @last_successful_backup_job.from_hash(v)
55
+ else
56
+ @unknown_json_fields[k] = v
57
+ end
58
+ end
59
+ end
60
+
61
+ # @return [Hash] The complete object as a Ruby hash
62
+ def to_hash
63
+ ret = {}
64
+ ret['LastBackupJob'] = @last_backup_job
65
+ ret['LastSuccessfulBackupJob'] = @last_successful_backup_job
66
+ @unknown_json_fields.each do |k, v|
67
+ ret[k] = v
68
+ end
69
+ ret
70
+ end
71
+
72
+ # @return [Hash] The complete object as a Ruby hash
73
+ def to_h
74
+ to_hash
75
+ end
76
+
77
+ # @return [String] The complete object as a JSON string
78
+ def to_json(options = {})
79
+ to_hash.to_json(options)
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,87 @@
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
+ # SpannedDestinationLocation is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class SpannedDestinationLocation
16
+
17
+ # @type [Array<Comet::DestinationLocation>] span_targets
18
+ attr_accessor :span_targets
19
+
20
+ # @type [Boolean] span_use_static_slots
21
+ attr_accessor :span_use_static_slots
22
+
23
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
24
+ attr_accessor :unknown_json_fields
25
+
26
+ def initialize
27
+ clear
28
+ end
29
+
30
+ def clear
31
+ @span_targets = []
32
+ @unknown_json_fields = {}
33
+ end
34
+
35
+ # @param [String] json_string The complete object in JSON format
36
+ def from_json(json_string)
37
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
38
+
39
+ from_hash(JSON.parse(json_string))
40
+ end
41
+
42
+ # @param [Hash] obj The complete object as a Ruby hash
43
+ def from_hash(obj)
44
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
45
+
46
+ obj.each do |k, v|
47
+ case k
48
+ when 'SpanTargets'
49
+ if v.nil?
50
+ @span_targets = []
51
+ else
52
+ @span_targets = Array.new(v.length)
53
+ v.each_with_index do |v1, i1|
54
+ @span_targets[i1] = Comet::DestinationLocation.new
55
+ @span_targets[i1].from_hash(v1)
56
+ end
57
+ end
58
+ when 'SpanUseStaticSlots'
59
+ @span_use_static_slots = v
60
+ else
61
+ @unknown_json_fields[k] = v
62
+ end
63
+ end
64
+ end
65
+
66
+ # @return [Hash] The complete object as a Ruby hash
67
+ def to_hash
68
+ ret = {}
69
+ ret['SpanTargets'] = @span_targets
70
+ ret['SpanUseStaticSlots'] = @span_use_static_slots
71
+ @unknown_json_fields.each do |k, v|
72
+ ret[k] = v
73
+ end
74
+ ret
75
+ end
76
+
77
+ # @return [Hash] The complete object as a Ruby hash
78
+ def to_h
79
+ to_hash
80
+ end
81
+
82
+ # @return [String] The complete object as a JSON string
83
+ def to_json(options = {})
84
+ to_hash.to_json(options)
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,81 @@
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
+ # SpannedStorageExtraInfo is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class SpannedStorageExtraInfo
16
+
17
+ # @type [Array<Comet::StorageFreeSpaceInfo>] targets
18
+ attr_accessor :targets
19
+
20
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
21
+ attr_accessor :unknown_json_fields
22
+
23
+ def initialize
24
+ clear
25
+ end
26
+
27
+ def clear
28
+ @targets = []
29
+ @unknown_json_fields = {}
30
+ end
31
+
32
+ # @param [String] json_string The complete object in JSON format
33
+ def from_json(json_string)
34
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
35
+
36
+ from_hash(JSON.parse(json_string))
37
+ end
38
+
39
+ # @param [Hash] obj The complete object as a Ruby hash
40
+ def from_hash(obj)
41
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
42
+
43
+ obj.each do |k, v|
44
+ case k
45
+ when 'Targets'
46
+ if v.nil?
47
+ @targets = []
48
+ else
49
+ @targets = Array.new(v.length)
50
+ v.each_with_index do |v1, i1|
51
+ @targets[i1] = Comet::StorageFreeSpaceInfo.new
52
+ @targets[i1].from_hash(v1)
53
+ end
54
+ end
55
+ else
56
+ @unknown_json_fields[k] = v
57
+ end
58
+ end
59
+ end
60
+
61
+ # @return [Hash] The complete object as a Ruby hash
62
+ def to_hash
63
+ ret = {}
64
+ ret['Targets'] = @targets
65
+ @unknown_json_fields.each do |k, v|
66
+ ret[k] = v
67
+ end
68
+ ret
69
+ end
70
+
71
+ # @return [Hash] The complete object as a Ruby hash
72
+ def to_h
73
+ to_hash
74
+ end
75
+
76
+ # @return [String] The complete object as a JSON string
77
+ def to_json(options = {})
78
+ to_hash.to_json(options)
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,126 @@
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
+ # SSHConnection is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class SSHConnection
16
+
17
+ # @type [String] sshserver
18
+ attr_accessor :sshserver
19
+
20
+ # @type [String] sshusername
21
+ attr_accessor :sshusername
22
+
23
+ # @type [Number] sshauth_mode
24
+ attr_accessor :sshauth_mode
25
+
26
+ # @type [String] sshpassword
27
+ attr_accessor :sshpassword
28
+
29
+ # @type [String] sshprivate_key
30
+ attr_accessor :sshprivate_key
31
+
32
+ # @type [Boolean] sshcustom_auth__use_known_hosts_file
33
+ attr_accessor :sshcustom_auth__use_known_hosts_file
34
+
35
+ # @type [String] sshcustom_auth__known_hosts_file
36
+ attr_accessor :sshcustom_auth__known_hosts_file
37
+
38
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
39
+ attr_accessor :unknown_json_fields
40
+
41
+ def initialize
42
+ clear
43
+ end
44
+
45
+ def clear
46
+ @sshserver = ''
47
+ @sshusername = ''
48
+ @sshauth_mode = 0
49
+ @sshpassword = ''
50
+ @sshprivate_key = ''
51
+ @sshcustom_auth__known_hosts_file = ''
52
+ @unknown_json_fields = {}
53
+ end
54
+
55
+ # @param [String] json_string The complete object in JSON format
56
+ def from_json(json_string)
57
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
58
+
59
+ from_hash(JSON.parse(json_string))
60
+ end
61
+
62
+ # @param [Hash] obj The complete object as a Ruby hash
63
+ def from_hash(obj)
64
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
65
+
66
+ obj.each do |k, v|
67
+ case k
68
+ when 'SSHServer'
69
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
70
+
71
+ @sshserver = v
72
+ when 'SSHUsername'
73
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
74
+
75
+ @sshusername = v
76
+ when 'SSHAuthMode'
77
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
78
+
79
+ @sshauth_mode = v
80
+ when 'SSHPassword'
81
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
82
+
83
+ @sshpassword = v
84
+ when 'SSHPrivateKey'
85
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
86
+
87
+ @sshprivate_key = v
88
+ when 'SSHCustomAuth_UseKnownHostsFile'
89
+ @sshcustom_auth__use_known_hosts_file = v
90
+ when 'SSHCustomAuth_KnownHostsFile'
91
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
92
+
93
+ @sshcustom_auth__known_hosts_file = v
94
+ else
95
+ @unknown_json_fields[k] = v
96
+ end
97
+ end
98
+ end
99
+
100
+ # @return [Hash] The complete object as a Ruby hash
101
+ def to_hash
102
+ ret = {}
103
+ ret['SSHServer'] = @sshserver
104
+ ret['SSHUsername'] = @sshusername
105
+ ret['SSHAuthMode'] = @sshauth_mode
106
+ ret['SSHPassword'] = @sshpassword
107
+ ret['SSHPrivateKey'] = @sshprivate_key
108
+ ret['SSHCustomAuth_UseKnownHostsFile'] = @sshcustom_auth__use_known_hosts_file
109
+ ret['SSHCustomAuth_KnownHostsFile'] = @sshcustom_auth__known_hosts_file
110
+ @unknown_json_fields.each do |k, v|
111
+ ret[k] = v
112
+ end
113
+ ret
114
+ end
115
+
116
+ # @return [Hash] The complete object as a Ruby hash
117
+ def to_h
118
+ to_hash
119
+ end
120
+
121
+ # @return [String] The complete object as a JSON string
122
+ def to_json(options = {})
123
+ to_hash.to_json(options)
124
+ end
125
+ end
126
+ end