comet_backup_ruby_sdk 1.11.0 → 1.14.0

Sign up to get free protection for your applications and to get access to all the features.
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,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
+ # BackupRuleEventTriggers is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class BackupRuleEventTriggers
16
+
17
+ # @type [Boolean] on_pcboot
18
+ attr_accessor :on_pcboot
19
+
20
+ # @type [Boolean] on_pcboot_if_last_job_missed
21
+ attr_accessor :on_pcboot_if_last_job_missed
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
+ @unknown_json_fields = {}
32
+ end
33
+
34
+ # @param [String] json_string The complete object in JSON format
35
+ def from_json(json_string)
36
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
37
+
38
+ from_hash(JSON.parse(json_string))
39
+ end
40
+
41
+ # @param [Hash] obj The complete object as a Ruby hash
42
+ def from_hash(obj)
43
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
44
+
45
+ obj.each do |k, v|
46
+ case k
47
+ when 'OnPCBoot'
48
+ @on_pcboot = v
49
+ when 'OnPCBootIfLastJobMissed'
50
+ @on_pcboot_if_last_job_missed = v
51
+ else
52
+ @unknown_json_fields[k] = v
53
+ end
54
+ end
55
+ end
56
+
57
+ # @return [Hash] The complete object as a Ruby hash
58
+ def to_hash
59
+ ret = {}
60
+ unless @on_pcboot.nil?
61
+ ret['OnPCBoot'] = @on_pcboot
62
+ end
63
+ unless @on_pcboot_if_last_job_missed.nil?
64
+ ret['OnPCBootIfLastJobMissed'] = @on_pcboot_if_last_job_missed
65
+ end
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,335 @@
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
+ # BrandingOptions is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class BrandingOptions
16
+
17
+ # @type [String] brand_name
18
+ attr_accessor :brand_name
19
+
20
+ # @type [String] logo_image
21
+ attr_accessor :logo_image
22
+
23
+ # @type [String] top_color
24
+ attr_accessor :top_color
25
+
26
+ # @type [String] favicon
27
+ attr_accessor :favicon
28
+
29
+ # @type [Boolean] hide_news_area
30
+ attr_accessor :hide_news_area
31
+
32
+ # @type [String] product_name
33
+ attr_accessor :product_name
34
+
35
+ # @type [String] company_name
36
+ attr_accessor :company_name
37
+
38
+ # @type [String] help_url
39
+ attr_accessor :help_url
40
+
41
+ # @type [Boolean] help_is_popup
42
+ attr_accessor :help_is_popup
43
+
44
+ # @type [String] default_login_server_url
45
+ attr_accessor :default_login_server_url
46
+
47
+ # @type [String] tile_background_color
48
+ attr_accessor :tile_background_color
49
+
50
+ # @type [String] account_register_url
51
+ attr_accessor :account_register_url
52
+
53
+ # @type [Boolean] hide_background_logo
54
+ attr_accessor :hide_background_logo
55
+
56
+ # @type [String] path_ico_file
57
+ attr_accessor :path_ico_file
58
+
59
+ # @type [String] path_icns_file
60
+ attr_accessor :path_icns_file
61
+
62
+ # @type [String] path_menu_bar_icns_file
63
+ attr_accessor :path_menu_bar_icns_file
64
+
65
+ # @type [String] path_eula_rtf
66
+ attr_accessor :path_eula_rtf
67
+
68
+ # @type [String] path_tile_png
69
+ attr_accessor :path_tile_png
70
+
71
+ # @type [String] path_header_image
72
+ attr_accessor :path_header_image
73
+
74
+ # @type [String] path_app_icon_image
75
+ attr_accessor :path_app_icon_image
76
+
77
+ # @type [String] package_identifier
78
+ attr_accessor :package_identifier
79
+
80
+ # @type [String] windows_code_sign_pkcs12file_path
81
+ attr_accessor :windows_code_sign_pkcs12file_path
82
+
83
+ # @type [Number] windows_code_sign_pkcs12password_format
84
+ attr_accessor :windows_code_sign_pkcs12password_format
85
+
86
+ # @type [String] windows_code_sign_pkcs12password
87
+ attr_accessor :windows_code_sign_pkcs12password
88
+
89
+ # @type [String] windows_code_sign_pkcs11engine
90
+ attr_accessor :windows_code_sign_pkcs11engine
91
+
92
+ # @type [String] windows_code_sign_pkcs11module
93
+ attr_accessor :windows_code_sign_pkcs11module
94
+
95
+ # @type [String] windows_code_sign_pkcs11certfile
96
+ attr_accessor :windows_code_sign_pkcs11certfile
97
+
98
+ # @type [String] windows_code_sign_pkcs11key_id
99
+ attr_accessor :windows_code_sign_pkcs11key_id
100
+
101
+ # @type [Number] windows_code_sign_pkcs11password_format
102
+ attr_accessor :windows_code_sign_pkcs11password_format
103
+
104
+ # @type [String] windows_code_sign_pkcs11password
105
+ attr_accessor :windows_code_sign_pkcs11password
106
+
107
+ # @type [Comet::MacOSCodeSignProperties] mac_oscode_sign
108
+ attr_accessor :mac_oscode_sign
109
+
110
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
111
+ attr_accessor :unknown_json_fields
112
+
113
+ def initialize
114
+ clear
115
+ end
116
+
117
+ def clear
118
+ @brand_name = ''
119
+ @logo_image = ''
120
+ @top_color = ''
121
+ @favicon = ''
122
+ @product_name = ''
123
+ @company_name = ''
124
+ @help_url = ''
125
+ @default_login_server_url = ''
126
+ @tile_background_color = ''
127
+ @account_register_url = ''
128
+ @path_ico_file = ''
129
+ @path_icns_file = ''
130
+ @path_menu_bar_icns_file = ''
131
+ @path_eula_rtf = ''
132
+ @path_tile_png = ''
133
+ @path_header_image = ''
134
+ @path_app_icon_image = ''
135
+ @package_identifier = ''
136
+ @windows_code_sign_pkcs12file_path = ''
137
+ @windows_code_sign_pkcs12password_format = 0
138
+ @windows_code_sign_pkcs12password = ''
139
+ @windows_code_sign_pkcs11engine = ''
140
+ @windows_code_sign_pkcs11module = ''
141
+ @windows_code_sign_pkcs11certfile = ''
142
+ @windows_code_sign_pkcs11key_id = ''
143
+ @windows_code_sign_pkcs11password_format = 0
144
+ @windows_code_sign_pkcs11password = ''
145
+ @mac_oscode_sign = Comet::MacOSCodeSignProperties.new
146
+ @unknown_json_fields = {}
147
+ end
148
+
149
+ # @param [String] json_string The complete object in JSON format
150
+ def from_json(json_string)
151
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
152
+
153
+ from_hash(JSON.parse(json_string))
154
+ end
155
+
156
+ # @param [Hash] obj The complete object as a Ruby hash
157
+ def from_hash(obj)
158
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
159
+
160
+ obj.each do |k, v|
161
+ case k
162
+ when 'BrandName'
163
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
164
+
165
+ @brand_name = v
166
+ when 'LogoImage'
167
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
168
+
169
+ @logo_image = v
170
+ when 'TopColor'
171
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
172
+
173
+ @top_color = v
174
+ when 'Favicon'
175
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
176
+
177
+ @favicon = v
178
+ when 'HideNewsArea'
179
+ @hide_news_area = v
180
+ when 'ProductName'
181
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
182
+
183
+ @product_name = v
184
+ when 'CompanyName'
185
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
186
+
187
+ @company_name = v
188
+ when 'HelpURL'
189
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
190
+
191
+ @help_url = v
192
+ when 'HelpIsPopup'
193
+ @help_is_popup = v
194
+ when 'DefaultLoginServerURL'
195
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
196
+
197
+ @default_login_server_url = v
198
+ when 'TileBackgroundColor'
199
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
200
+
201
+ @tile_background_color = v
202
+ when 'AccountRegisterURL'
203
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
204
+
205
+ @account_register_url = v
206
+ when 'HideBackgroundLogo'
207
+ @hide_background_logo = v
208
+ when 'PathIcoFile'
209
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
210
+
211
+ @path_ico_file = v
212
+ when 'PathIcnsFile'
213
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
214
+
215
+ @path_icns_file = v
216
+ when 'PathMenuBarIcnsFile'
217
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
218
+
219
+ @path_menu_bar_icns_file = v
220
+ when 'PathEulaRtf'
221
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
222
+
223
+ @path_eula_rtf = v
224
+ when 'PathTilePng'
225
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
226
+
227
+ @path_tile_png = v
228
+ when 'PathHeaderImage'
229
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
230
+
231
+ @path_header_image = v
232
+ when 'PathAppIconImage'
233
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
234
+
235
+ @path_app_icon_image = v
236
+ when 'PackageIdentifier'
237
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
238
+
239
+ @package_identifier = v
240
+ when 'WindowsCodeSignPKCS12FilePath'
241
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
242
+
243
+ @windows_code_sign_pkcs12file_path = v
244
+ when 'WindowsCodeSignPKCS12PasswordFormat'
245
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
246
+
247
+ @windows_code_sign_pkcs12password_format = v
248
+ when 'WindowsCodeSignPKCS12Password'
249
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
250
+
251
+ @windows_code_sign_pkcs12password = v
252
+ when 'WindowsCodeSignPKCS11Engine'
253
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
254
+
255
+ @windows_code_sign_pkcs11engine = v
256
+ when 'WindowsCodeSignPKCS11Module'
257
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
258
+
259
+ @windows_code_sign_pkcs11module = v
260
+ when 'WindowsCodeSignPKCS11Certfile'
261
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
262
+
263
+ @windows_code_sign_pkcs11certfile = v
264
+ when 'WindowsCodeSignPKCS11KeyID'
265
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
266
+
267
+ @windows_code_sign_pkcs11key_id = v
268
+ when 'WindowsCodeSignPKCS11PasswordFormat'
269
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
270
+
271
+ @windows_code_sign_pkcs11password_format = v
272
+ when 'WindowsCodeSignPKCS11Password'
273
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
274
+
275
+ @windows_code_sign_pkcs11password = v
276
+ when 'MacOSCodeSign'
277
+ @mac_oscode_sign = Comet::MacOSCodeSignProperties.new
278
+ @mac_oscode_sign.from_hash(v)
279
+ else
280
+ @unknown_json_fields[k] = v
281
+ end
282
+ end
283
+ end
284
+
285
+ # @return [Hash] The complete object as a Ruby hash
286
+ def to_hash
287
+ ret = {}
288
+ ret['BrandName'] = @brand_name
289
+ ret['LogoImage'] = @logo_image
290
+ ret['TopColor'] = @top_color
291
+ ret['Favicon'] = @favicon
292
+ ret['HideNewsArea'] = @hide_news_area
293
+ ret['ProductName'] = @product_name
294
+ ret['CompanyName'] = @company_name
295
+ ret['HelpURL'] = @help_url
296
+ ret['HelpIsPopup'] = @help_is_popup
297
+ ret['DefaultLoginServerURL'] = @default_login_server_url
298
+ ret['TileBackgroundColor'] = @tile_background_color
299
+ ret['AccountRegisterURL'] = @account_register_url
300
+ ret['HideBackgroundLogo'] = @hide_background_logo
301
+ ret['PathIcoFile'] = @path_ico_file
302
+ ret['PathIcnsFile'] = @path_icns_file
303
+ ret['PathMenuBarIcnsFile'] = @path_menu_bar_icns_file
304
+ ret['PathEulaRtf'] = @path_eula_rtf
305
+ ret['PathTilePng'] = @path_tile_png
306
+ ret['PathHeaderImage'] = @path_header_image
307
+ ret['PathAppIconImage'] = @path_app_icon_image
308
+ ret['PackageIdentifier'] = @package_identifier
309
+ ret['WindowsCodeSignPKCS12FilePath'] = @windows_code_sign_pkcs12file_path
310
+ ret['WindowsCodeSignPKCS12PasswordFormat'] = @windows_code_sign_pkcs12password_format
311
+ ret['WindowsCodeSignPKCS12Password'] = @windows_code_sign_pkcs12password
312
+ ret['WindowsCodeSignPKCS11Engine'] = @windows_code_sign_pkcs11engine
313
+ ret['WindowsCodeSignPKCS11Module'] = @windows_code_sign_pkcs11module
314
+ ret['WindowsCodeSignPKCS11Certfile'] = @windows_code_sign_pkcs11certfile
315
+ ret['WindowsCodeSignPKCS11KeyID'] = @windows_code_sign_pkcs11key_id
316
+ ret['WindowsCodeSignPKCS11PasswordFormat'] = @windows_code_sign_pkcs11password_format
317
+ ret['WindowsCodeSignPKCS11Password'] = @windows_code_sign_pkcs11password
318
+ ret['MacOSCodeSign'] = @mac_oscode_sign
319
+ @unknown_json_fields.each do |k, v|
320
+ ret[k] = v
321
+ end
322
+ ret
323
+ end
324
+
325
+ # @return [Hash] The complete object as a Ruby hash
326
+ def to_h
327
+ to_hash
328
+ end
329
+
330
+ # @return [String] The complete object as a JSON string
331
+ def to_json(options = {})
332
+ to_hash.to_json(options)
333
+ end
334
+ end
335
+ end