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,562 @@
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
+ # DestinationConfig is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class DestinationConfig
16
+
17
+ # @type [String] description
18
+ attr_accessor :description
19
+
20
+ # @type [Number] create_time
21
+ attr_accessor :create_time
22
+
23
+ # @type [Number] modify_time
24
+ attr_accessor :modify_time
25
+
26
+ # @type [Array<String>] pre_exec
27
+ attr_accessor :pre_exec
28
+
29
+ # @type [Array<String>] thaw_exec
30
+ attr_accessor :thaw_exec
31
+
32
+ # @type [Array<String>] post_exec
33
+ attr_accessor :post_exec
34
+
35
+ # @type [Number] destination_type
36
+ attr_accessor :destination_type
37
+
38
+ # @type [String] comet_server
39
+ attr_accessor :comet_server
40
+
41
+ # @type [String] comet_bucket
42
+ attr_accessor :comet_bucket
43
+
44
+ # @type [String] comet_bucket_key
45
+ attr_accessor :comet_bucket_key
46
+
47
+ # @type [String] s3server
48
+ attr_accessor :s3server
49
+
50
+ # @type [Boolean] s3uses_tls
51
+ attr_accessor :s3uses_tls
52
+
53
+ # @type [String] s3access_key
54
+ attr_accessor :s3access_key
55
+
56
+ # @type [String] s3secret_key
57
+ attr_accessor :s3secret_key
58
+
59
+ # @type [String] s3bucket_name
60
+ attr_accessor :s3bucket_name
61
+
62
+ # @type [String] s3subdir
63
+ attr_accessor :s3subdir
64
+
65
+ # @type [Boolean] s3uses_v2signing
66
+ attr_accessor :s3uses_v2signing
67
+
68
+ # @type [String] sftpserver
69
+ attr_accessor :sftpserver
70
+
71
+ # @type [String] sftpusername
72
+ attr_accessor :sftpusername
73
+
74
+ # @type [String] sftpremote_path
75
+ attr_accessor :sftpremote_path
76
+
77
+ # @type [Number] sftpauth_mode
78
+ attr_accessor :sftpauth_mode
79
+
80
+ # @type [String] sftppassword
81
+ attr_accessor :sftppassword
82
+
83
+ # @type [String] sftpprivate_key
84
+ attr_accessor :sftpprivate_key
85
+
86
+ # @type [Boolean] sftpcustom_auth__use_known_hosts_file
87
+ attr_accessor :sftpcustom_auth__use_known_hosts_file
88
+
89
+ # @type [String] sftpcustom_auth__known_hosts_file
90
+ attr_accessor :sftpcustom_auth__known_hosts_file
91
+
92
+ # @type [String] ftpserver
93
+ attr_accessor :ftpserver
94
+
95
+ # @type [String] ftpusername
96
+ attr_accessor :ftpusername
97
+
98
+ # @type [String] ftppassword
99
+ attr_accessor :ftppassword
100
+
101
+ # @type [Boolean] ftpbase_use_home_directory
102
+ attr_accessor :ftpbase_use_home_directory
103
+
104
+ # @type [String] ftpcustom_base_directory
105
+ attr_accessor :ftpcustom_base_directory
106
+
107
+ # @type [Number] ftpsmode
108
+ attr_accessor :ftpsmode
109
+
110
+ # @type [Number] ftpport
111
+ attr_accessor :ftpport
112
+
113
+ # @type [Number] ftpmax_connections
114
+ attr_accessor :ftpmax_connections
115
+
116
+ # @type [Boolean] ftpaccept_invalid_ssl
117
+ attr_accessor :ftpaccept_invalid_ssl
118
+
119
+ # @type [String] azbaccount_name
120
+ attr_accessor :azbaccount_name
121
+
122
+ # @type [String] azbaccount_key
123
+ attr_accessor :azbaccount_key
124
+
125
+ # @type [String] azbcontainer
126
+ attr_accessor :azbcontainer
127
+
128
+ # @type [String] azbrealm
129
+ attr_accessor :azbrealm
130
+
131
+ # @type [String] azbprefix
132
+ attr_accessor :azbprefix
133
+
134
+ # @type [String] localcopy_path
135
+ attr_accessor :localcopy_path
136
+
137
+ # @type [String] localcopy_win_smbusername
138
+ attr_accessor :localcopy_win_smbusername
139
+
140
+ # @type [String] localcopy_win_smbpassword
141
+ attr_accessor :localcopy_win_smbpassword
142
+
143
+ # @type [Number] localcopy_win_smbpassword_format
144
+ attr_accessor :localcopy_win_smbpassword_format
145
+
146
+ # @type [Comet::SwiftDestinationLocation] swift
147
+ attr_accessor :swift
148
+
149
+ # @type [Comet::B2DestinationLocation] b2
150
+ attr_accessor :b2
151
+
152
+ # @type [Array<Comet::DestinationLocation>] span_targets
153
+ attr_accessor :span_targets
154
+
155
+ # @type [Boolean] span_use_static_slots
156
+ attr_accessor :span_use_static_slots
157
+
158
+ # @type [Number] encryption_key_encryption_method
159
+ attr_accessor :encryption_key_encryption_method
160
+
161
+ # @type [String] encrypted_encryption_key
162
+ attr_accessor :encrypted_encryption_key
163
+
164
+ # @type [Number] repo_init_timestamp
165
+ attr_accessor :repo_init_timestamp
166
+
167
+ # @type [Boolean] storage_limit_enabled
168
+ attr_accessor :storage_limit_enabled
169
+
170
+ # @type [Number] storage_limit_bytes
171
+ attr_accessor :storage_limit_bytes
172
+
173
+ # @type [Comet::DestinationStatistics] statistics
174
+ attr_accessor :statistics
175
+
176
+ # @type [Comet::RetentionPolicy] default_retention
177
+ attr_accessor :default_retention
178
+
179
+ # @type [Boolean] rebrand_storage
180
+ attr_accessor :rebrand_storage
181
+
182
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
183
+ attr_accessor :unknown_json_fields
184
+
185
+ def initialize
186
+ clear
187
+ end
188
+
189
+ def clear
190
+ @description = ''
191
+ @create_time = 0
192
+ @modify_time = 0
193
+ @pre_exec = []
194
+ @thaw_exec = []
195
+ @post_exec = []
196
+ @destination_type = 0
197
+ @comet_server = ''
198
+ @comet_bucket = ''
199
+ @comet_bucket_key = ''
200
+ @s3server = ''
201
+ @s3access_key = ''
202
+ @s3secret_key = ''
203
+ @s3bucket_name = ''
204
+ @s3subdir = ''
205
+ @sftpserver = ''
206
+ @sftpusername = ''
207
+ @sftpremote_path = ''
208
+ @sftpauth_mode = 0
209
+ @sftppassword = ''
210
+ @sftpprivate_key = ''
211
+ @sftpcustom_auth__known_hosts_file = ''
212
+ @ftpserver = ''
213
+ @ftpusername = ''
214
+ @ftppassword = ''
215
+ @ftpcustom_base_directory = ''
216
+ @ftpsmode = 0
217
+ @ftpport = 0
218
+ @ftpmax_connections = 0
219
+ @azbaccount_name = ''
220
+ @azbaccount_key = ''
221
+ @azbcontainer = ''
222
+ @azbrealm = ''
223
+ @azbprefix = ''
224
+ @localcopy_path = ''
225
+ @localcopy_win_smbusername = ''
226
+ @localcopy_win_smbpassword = ''
227
+ @localcopy_win_smbpassword_format = 0
228
+ @swift = Comet::SwiftDestinationLocation.new
229
+ @b2 = Comet::B2DestinationLocation.new
230
+ @span_targets = []
231
+ @encryption_key_encryption_method = 0
232
+ @encrypted_encryption_key = ''
233
+ @repo_init_timestamp = 0
234
+ @storage_limit_bytes = 0
235
+ @statistics = Comet::DestinationStatistics.new
236
+ @default_retention = Comet::RetentionPolicy.new
237
+ @unknown_json_fields = {}
238
+ end
239
+
240
+ # @param [String] json_string The complete object in JSON format
241
+ def from_json(json_string)
242
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
243
+
244
+ from_hash(JSON.parse(json_string))
245
+ end
246
+
247
+ # @param [Hash] obj The complete object as a Ruby hash
248
+ def from_hash(obj)
249
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
250
+
251
+ obj.each do |k, v|
252
+ case k
253
+ when 'Description'
254
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
255
+
256
+ @description = v
257
+ when 'CreateTime'
258
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
259
+
260
+ @create_time = v
261
+ when 'ModifyTime'
262
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
263
+
264
+ @modify_time = v
265
+ when 'PreExec'
266
+ if v.nil?
267
+ @pre_exec = []
268
+ else
269
+ @pre_exec = Array.new(v.length)
270
+ v.each_with_index do |v1, i1|
271
+ raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
272
+
273
+ @pre_exec[i1] = v1
274
+ end
275
+ end
276
+ when 'ThawExec'
277
+ if v.nil?
278
+ @thaw_exec = []
279
+ else
280
+ @thaw_exec = Array.new(v.length)
281
+ v.each_with_index do |v1, i1|
282
+ raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
283
+
284
+ @thaw_exec[i1] = v1
285
+ end
286
+ end
287
+ when 'PostExec'
288
+ if v.nil?
289
+ @post_exec = []
290
+ else
291
+ @post_exec = Array.new(v.length)
292
+ v.each_with_index do |v1, i1|
293
+ raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
294
+
295
+ @post_exec[i1] = v1
296
+ end
297
+ end
298
+ when 'DestinationType'
299
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
300
+
301
+ @destination_type = v
302
+ when 'CometServer'
303
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
304
+
305
+ @comet_server = v
306
+ when 'CometBucket'
307
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
308
+
309
+ @comet_bucket = v
310
+ when 'CometBucketKey'
311
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
312
+
313
+ @comet_bucket_key = v
314
+ when 'S3Server'
315
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
316
+
317
+ @s3server = v
318
+ when 'S3UsesTLS'
319
+ @s3uses_tls = v
320
+ when 'S3AccessKey'
321
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
322
+
323
+ @s3access_key = v
324
+ when 'S3SecretKey'
325
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
326
+
327
+ @s3secret_key = v
328
+ when 'S3BucketName'
329
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
330
+
331
+ @s3bucket_name = v
332
+ when 'S3Subdir'
333
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
334
+
335
+ @s3subdir = v
336
+ when 'S3UsesV2Signing'
337
+ @s3uses_v2signing = v
338
+ when 'SFTPServer'
339
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
340
+
341
+ @sftpserver = v
342
+ when 'SFTPUsername'
343
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
344
+
345
+ @sftpusername = v
346
+ when 'SFTPRemotePath'
347
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
348
+
349
+ @sftpremote_path = v
350
+ when 'SFTPAuthMode'
351
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
352
+
353
+ @sftpauth_mode = v
354
+ when 'SFTPPassword'
355
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
356
+
357
+ @sftppassword = v
358
+ when 'SFTPPrivateKey'
359
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
360
+
361
+ @sftpprivate_key = v
362
+ when 'SFTPCustomAuth_UseKnownHostsFile'
363
+ @sftpcustom_auth__use_known_hosts_file = v
364
+ when 'SFTPCustomAuth_KnownHostsFile'
365
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
366
+
367
+ @sftpcustom_auth__known_hosts_file = v
368
+ when 'FTPServer'
369
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
370
+
371
+ @ftpserver = v
372
+ when 'FTPUsername'
373
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
374
+
375
+ @ftpusername = v
376
+ when 'FTPPassword'
377
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
378
+
379
+ @ftppassword = v
380
+ when 'FTPBaseUseHomeDirectory'
381
+ @ftpbase_use_home_directory = v
382
+ when 'FTPCustomBaseDirectory'
383
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
384
+
385
+ @ftpcustom_base_directory = v
386
+ when 'FTPSMode'
387
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
388
+
389
+ @ftpsmode = v
390
+ when 'FTPPort'
391
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
392
+
393
+ @ftpport = v
394
+ when 'FTPMaxConnections'
395
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
396
+
397
+ @ftpmax_connections = v
398
+ when 'FTPAcceptInvalidSSL'
399
+ @ftpaccept_invalid_ssl = v
400
+ when 'AZBAccountName'
401
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
402
+
403
+ @azbaccount_name = v
404
+ when 'AZBAccountKey'
405
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
406
+
407
+ @azbaccount_key = v
408
+ when 'AZBContainer'
409
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
410
+
411
+ @azbcontainer = v
412
+ when 'AZBRealm'
413
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
414
+
415
+ @azbrealm = v
416
+ when 'AZBPrefix'
417
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
418
+
419
+ @azbprefix = v
420
+ when 'LocalcopyPath'
421
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
422
+
423
+ @localcopy_path = v
424
+ when 'LocalcopyWinSMBUsername'
425
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
426
+
427
+ @localcopy_win_smbusername = v
428
+ when 'LocalcopyWinSMBPassword'
429
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
430
+
431
+ @localcopy_win_smbpassword = v
432
+ when 'LocalcopyWinSMBPasswordFormat'
433
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
434
+
435
+ @localcopy_win_smbpassword_format = v
436
+ when 'Swift'
437
+ @swift = Comet::SwiftDestinationLocation.new
438
+ @swift.from_hash(v)
439
+ when 'B2'
440
+ @b2 = Comet::B2DestinationLocation.new
441
+ @b2.from_hash(v)
442
+ when 'SpanTargets'
443
+ if v.nil?
444
+ @span_targets = []
445
+ else
446
+ @span_targets = Array.new(v.length)
447
+ v.each_with_index do |v1, i1|
448
+ @span_targets[i1] = Comet::DestinationLocation.new
449
+ @span_targets[i1].from_hash(v1)
450
+ end
451
+ end
452
+ when 'SpanUseStaticSlots'
453
+ @span_use_static_slots = v
454
+ when 'EncryptionKeyEncryptionMethod'
455
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
456
+
457
+ @encryption_key_encryption_method = v
458
+ when 'EncryptedEncryptionKey'
459
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
460
+
461
+ @encrypted_encryption_key = v
462
+ when 'RepoInitTimestamp'
463
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
464
+
465
+ @repo_init_timestamp = v
466
+ when 'StorageLimitEnabled'
467
+ @storage_limit_enabled = v
468
+ when 'StorageLimitBytes'
469
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
470
+
471
+ @storage_limit_bytes = v
472
+ when 'Statistics'
473
+ @statistics = Comet::DestinationStatistics.new
474
+ @statistics.from_hash(v)
475
+ when 'DefaultRetention'
476
+ @default_retention = Comet::RetentionPolicy.new
477
+ @default_retention.from_hash(v)
478
+ when 'RebrandStorage'
479
+ @rebrand_storage = v
480
+ else
481
+ @unknown_json_fields[k] = v
482
+ end
483
+ end
484
+ end
485
+
486
+ # @return [Hash] The complete object as a Ruby hash
487
+ def to_hash
488
+ ret = {}
489
+ ret['Description'] = @description
490
+ ret['CreateTime'] = @create_time
491
+ ret['ModifyTime'] = @modify_time
492
+ ret['PreExec'] = @pre_exec
493
+ ret['ThawExec'] = @thaw_exec
494
+ ret['PostExec'] = @post_exec
495
+ ret['DestinationType'] = @destination_type
496
+ ret['CometServer'] = @comet_server
497
+ ret['CometBucket'] = @comet_bucket
498
+ ret['CometBucketKey'] = @comet_bucket_key
499
+ ret['S3Server'] = @s3server
500
+ ret['S3UsesTLS'] = @s3uses_tls
501
+ ret['S3AccessKey'] = @s3access_key
502
+ ret['S3SecretKey'] = @s3secret_key
503
+ ret['S3BucketName'] = @s3bucket_name
504
+ ret['S3Subdir'] = @s3subdir
505
+ ret['S3UsesV2Signing'] = @s3uses_v2signing
506
+ ret['SFTPServer'] = @sftpserver
507
+ ret['SFTPUsername'] = @sftpusername
508
+ ret['SFTPRemotePath'] = @sftpremote_path
509
+ ret['SFTPAuthMode'] = @sftpauth_mode
510
+ ret['SFTPPassword'] = @sftppassword
511
+ ret['SFTPPrivateKey'] = @sftpprivate_key
512
+ ret['SFTPCustomAuth_UseKnownHostsFile'] = @sftpcustom_auth__use_known_hosts_file
513
+ ret['SFTPCustomAuth_KnownHostsFile'] = @sftpcustom_auth__known_hosts_file
514
+ ret['FTPServer'] = @ftpserver
515
+ ret['FTPUsername'] = @ftpusername
516
+ ret['FTPPassword'] = @ftppassword
517
+ ret['FTPBaseUseHomeDirectory'] = @ftpbase_use_home_directory
518
+ ret['FTPCustomBaseDirectory'] = @ftpcustom_base_directory
519
+ ret['FTPSMode'] = @ftpsmode
520
+ ret['FTPPort'] = @ftpport
521
+ ret['FTPMaxConnections'] = @ftpmax_connections
522
+ ret['FTPAcceptInvalidSSL'] = @ftpaccept_invalid_ssl
523
+ ret['AZBAccountName'] = @azbaccount_name
524
+ ret['AZBAccountKey'] = @azbaccount_key
525
+ ret['AZBContainer'] = @azbcontainer
526
+ ret['AZBRealm'] = @azbrealm
527
+ ret['AZBPrefix'] = @azbprefix
528
+ ret['LocalcopyPath'] = @localcopy_path
529
+ ret['LocalcopyWinSMBUsername'] = @localcopy_win_smbusername
530
+ ret['LocalcopyWinSMBPassword'] = @localcopy_win_smbpassword
531
+ ret['LocalcopyWinSMBPasswordFormat'] = @localcopy_win_smbpassword_format
532
+ ret['Swift'] = @swift
533
+ ret['B2'] = @b2
534
+ ret['SpanTargets'] = @span_targets
535
+ ret['SpanUseStaticSlots'] = @span_use_static_slots
536
+ ret['EncryptionKeyEncryptionMethod'] = @encryption_key_encryption_method
537
+ ret['EncryptedEncryptionKey'] = @encrypted_encryption_key
538
+ ret['RepoInitTimestamp'] = @repo_init_timestamp
539
+ ret['StorageLimitEnabled'] = @storage_limit_enabled
540
+ ret['StorageLimitBytes'] = @storage_limit_bytes
541
+ unless @statistics.nil?
542
+ ret['Statistics'] = @statistics
543
+ end
544
+ ret['DefaultRetention'] = @default_retention
545
+ ret['RebrandStorage'] = @rebrand_storage
546
+ @unknown_json_fields.each do |k, v|
547
+ ret[k] = v
548
+ end
549
+ ret
550
+ end
551
+
552
+ # @return [Hash] The complete object as a Ruby hash
553
+ def to_h
554
+ to_hash
555
+ end
556
+
557
+ # @return [String] The complete object as a JSON string
558
+ def to_json(options = {})
559
+ to_hash.to_json(options)
560
+ end
561
+ end
562
+ end