aspose_email_cloud 20.2.0 → 20.3.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 (244) hide show
  1. checksums.yaml +4 -4
  2. data/lib/aspose-email-cloud.rb +13 -0
  3. data/lib/aspose-email-cloud/api/email_api.rb +921 -879
  4. data/lib/aspose-email-cloud/api_client.rb +386 -382
  5. data/lib/aspose-email-cloud/api_error.rb +41 -41
  6. data/lib/aspose-email-cloud/configuration.rb +240 -240
  7. data/lib/aspose-email-cloud/models/account_base_request.rb +263 -260
  8. data/lib/aspose-email-cloud/models/add_attachment_request.rb +226 -223
  9. data/lib/aspose-email-cloud/models/ai_bcr_base64_image.rb +231 -228
  10. data/lib/aspose-email-cloud/models/ai_bcr_base64_rq.rb +228 -225
  11. data/lib/aspose-email-cloud/models/ai_bcr_image.rb +218 -215
  12. data/lib/aspose-email-cloud/models/ai_bcr_image_storage_file.rb +231 -228
  13. data/lib/aspose-email-cloud/models/ai_bcr_ocr_data.rb +256 -253
  14. data/lib/aspose-email-cloud/models/ai_bcr_ocr_data_part.rb +300 -297
  15. data/lib/aspose-email-cloud/models/ai_bcr_options.rb +226 -223
  16. data/lib/aspose-email-cloud/models/ai_bcr_parse_ocr_data_rq.rb +233 -230
  17. data/lib/aspose-email-cloud/models/ai_bcr_parse_storage_rq.rb +251 -248
  18. data/lib/aspose-email-cloud/models/ai_bcr_rq.rb +213 -210
  19. data/lib/aspose-email-cloud/models/ai_bcr_storage_image_rq.rb +233 -230
  20. data/lib/aspose-email-cloud/models/ai_name_component.rb +267 -264
  21. data/lib/aspose-email-cloud/models/ai_name_cultural_context.rb +270 -267
  22. data/lib/aspose-email-cloud/models/ai_name_extracted.rb +233 -230
  23. data/lib/aspose-email-cloud/models/ai_name_extracted_component.rb +231 -228
  24. data/lib/aspose-email-cloud/models/ai_name_formatted.rb +226 -223
  25. data/lib/aspose-email-cloud/models/ai_name_gender_hypothesis.rb +236 -233
  26. data/lib/aspose-email-cloud/models/ai_name_match_result.rb +233 -230
  27. data/lib/aspose-email-cloud/models/ai_name_mismatch.rb +249 -246
  28. data/lib/aspose-email-cloud/models/ai_name_parsed_match_rq.rb +266 -263
  29. data/lib/aspose-email-cloud/models/ai_name_parsed_rq.rb +246 -243
  30. data/lib/aspose-email-cloud/models/ai_name_weighted.rb +231 -228
  31. data/lib/aspose-email-cloud/models/ai_name_weighted_variants.rb +228 -225
  32. data/lib/aspose-email-cloud/models/alternate_view.rb +282 -279
  33. data/lib/aspose-email-cloud/models/append_email_account_base_request.rb +318 -315
  34. data/lib/aspose-email-cloud/models/append_email_base_request.rb +336 -333
  35. data/lib/aspose-email-cloud/models/append_email_mime_base_request.rb +355 -352
  36. data/lib/aspose-email-cloud/models/append_email_model_rq.rb +336 -333
  37. data/lib/aspose-email-cloud/models/associated_person.rb +244 -241
  38. data/lib/aspose-email-cloud/models/attachment.rb +324 -321
  39. data/lib/aspose-email-cloud/models/attachment_base.rb +254 -251
  40. data/lib/aspose-email-cloud/models/base_object.rb +5 -2
  41. data/lib/aspose-email-cloud/models/calendar_dto.rb +557 -554
  42. data/lib/aspose-email-cloud/models/calendar_dto_alternate_rq.rb +268 -265
  43. data/lib/aspose-email-cloud/models/calendar_dto_list.rb +215 -212
  44. data/lib/aspose-email-cloud/models/calendar_reminder.rb +318 -315
  45. data/lib/aspose-email-cloud/models/contact_dto.rb +699 -696
  46. data/lib/aspose-email-cloud/models/contact_dto_list.rb +215 -212
  47. data/lib/aspose-email-cloud/models/contact_photo.rb +231 -228
  48. data/lib/aspose-email-cloud/models/content_type.rb +267 -264
  49. data/lib/aspose-email-cloud/models/content_type_parameter.rb +226 -223
  50. data/lib/aspose-email-cloud/models/create_email_request.rb +231 -228
  51. data/lib/aspose-email-cloud/models/create_folder_base_request.rb +313 -310
  52. data/lib/aspose-email-cloud/models/customer_event.rb +231 -228
  53. data/lib/aspose-email-cloud/models/delete_folder_base_request.rb +318 -315
  54. data/lib/aspose-email-cloud/models/delete_message_base_request.rb +318 -315
  55. data/lib/aspose-email-cloud/models/disc_usage.rb +236 -233
  56. data/lib/aspose-email-cloud/models/discover_email_config_oauth.rb +391 -388
  57. data/lib/aspose-email-cloud/models/discover_email_config_password.rb +304 -301
  58. data/lib/aspose-email-cloud/models/discover_email_config_rq.rb +268 -265
  59. data/lib/aspose-email-cloud/models/email_account_config.rb +323 -320
  60. data/lib/aspose-email-cloud/models/email_account_config_list.rb +215 -212
  61. data/lib/aspose-email-cloud/models/email_account_request.rb +397 -394
  62. data/lib/aspose-email-cloud/models/email_address.rb +270 -267
  63. data/lib/aspose-email-cloud/models/email_client_account.rb +337 -0
  64. data/lib/aspose-email-cloud/models/email_client_account_credentials.rb +261 -0
  65. data/lib/aspose-email-cloud/models/email_client_account_oauth_credentials.rb +385 -0
  66. data/lib/aspose-email-cloud/models/email_client_account_password_credentials.rb +298 -0
  67. data/lib/aspose-email-cloud/models/email_client_multi_account.rb +233 -0
  68. data/lib/aspose-email-cloud/models/email_document.rb +233 -230
  69. data/lib/aspose-email-cloud/models/email_document_response.rb +213 -210
  70. data/lib/aspose-email-cloud/models/email_dto.rb +681 -678
  71. data/lib/aspose-email-cloud/models/email_dto_list.rb +215 -212
  72. data/lib/aspose-email-cloud/models/email_properties.rb +233 -230
  73. data/lib/aspose-email-cloud/models/email_property.rb +268 -265
  74. data/lib/aspose-email-cloud/models/email_property_response.rb +213 -210
  75. data/lib/aspose-email-cloud/models/enum_with_custom_of_associated_person_category.rb +230 -227
  76. data/lib/aspose-email-cloud/models/enum_with_custom_of_email_address_category.rb +230 -227
  77. data/lib/aspose-email-cloud/models/enum_with_custom_of_event_category.rb +230 -227
  78. data/lib/aspose-email-cloud/models/enum_with_custom_of_instant_messenger_category.rb +230 -227
  79. data/lib/aspose-email-cloud/models/enum_with_custom_of_phone_number_category.rb +230 -227
  80. data/lib/aspose-email-cloud/models/enum_with_custom_of_postal_address_category.rb +230 -227
  81. data/lib/aspose-email-cloud/models/enum_with_custom_of_url_category.rb +230 -227
  82. data/lib/aspose-email-cloud/models/error.rb +252 -249
  83. data/lib/aspose-email-cloud/models/error_details.rb +231 -228
  84. data/lib/aspose-email-cloud/models/file_version.rb +306 -303
  85. data/lib/aspose-email-cloud/models/file_versions.rb +215 -212
  86. data/lib/aspose-email-cloud/models/files_list.rb +215 -212
  87. data/lib/aspose-email-cloud/models/files_upload_result.rb +230 -227
  88. data/lib/aspose-email-cloud/models/hierarchical_object.rb +5 -2
  89. data/lib/aspose-email-cloud/models/hierarchical_object_request.rb +231 -228
  90. data/lib/aspose-email-cloud/models/hierarchical_object_response.rb +226 -223
  91. data/lib/aspose-email-cloud/models/indexed_hierarchical_object.rb +5 -2
  92. data/lib/aspose-email-cloud/models/indexed_primitive_object.rb +5 -2
  93. data/lib/aspose-email-cloud/models/instant_messenger_address.rb +244 -241
  94. data/lib/aspose-email-cloud/models/link.rb +252 -249
  95. data/lib/aspose-email-cloud/models/linked_resource.rb +267 -264
  96. data/lib/aspose-email-cloud/models/list_response_of_ai_bcr_ocr_data.rb +214 -211
  97. data/lib/aspose-email-cloud/models/list_response_of_ai_name_component.rb +214 -211
  98. data/lib/aspose-email-cloud/models/list_response_of_ai_name_extracted.rb +214 -211
  99. data/lib/aspose-email-cloud/models/list_response_of_ai_name_gender_hypothesis.rb +214 -211
  100. data/lib/aspose-email-cloud/models/list_response_of_contact_dto.rb +214 -211
  101. data/lib/aspose-email-cloud/models/list_response_of_email_account_config.rb +214 -211
  102. data/lib/aspose-email-cloud/models/list_response_of_email_dto.rb +214 -211
  103. data/lib/aspose-email-cloud/models/list_response_of_hierarchical_object.rb +214 -211
  104. data/lib/aspose-email-cloud/models/list_response_of_hierarchical_object_response.rb +214 -211
  105. data/lib/aspose-email-cloud/models/list_response_of_mail_server_folder.rb +214 -211
  106. data/lib/aspose-email-cloud/models/list_response_of_storage_file_location.rb +214 -211
  107. data/lib/aspose-email-cloud/models/list_response_of_storage_model_of_calendar_dto.rb +214 -211
  108. data/lib/aspose-email-cloud/models/list_response_of_storage_model_of_contact_dto.rb +214 -211
  109. data/lib/aspose-email-cloud/models/list_response_of_storage_model_of_email_dto.rb +214 -211
  110. data/lib/aspose-email-cloud/models/list_response_of_string.rb +214 -211
  111. data/lib/aspose-email-cloud/models/mail_address.rb +244 -241
  112. data/lib/aspose-email-cloud/models/mail_server_folder.rb +226 -223
  113. data/lib/aspose-email-cloud/models/mime_response.rb +213 -210
  114. data/lib/aspose-email-cloud/models/name_value_pair.rb +226 -222
  115. data/lib/aspose-email-cloud/models/object_exist.rb +236 -233
  116. data/lib/aspose-email-cloud/models/phone_number.rb +244 -241
  117. data/lib/aspose-email-cloud/models/postal_address.rb +353 -350
  118. data/lib/aspose-email-cloud/models/primitive_object.rb +5 -2
  119. data/lib/aspose-email-cloud/models/reminder_attendee.rb +213 -210
  120. data/lib/aspose-email-cloud/models/reminder_trigger.rb +249 -246
  121. data/lib/aspose-email-cloud/models/requests/add_calendar_attachment_request_data.rb +99 -99
  122. data/lib/aspose-email-cloud/models/requests/add_contact_attachment_request_data.rb +109 -109
  123. data/lib/aspose-email-cloud/models/requests/add_email_attachment_request_data.rb +99 -99
  124. data/lib/aspose-email-cloud/models/requests/add_mapi_attachment_request_data.rb +99 -99
  125. data/lib/aspose-email-cloud/models/requests/ai_bcr_ocr_request_data.rb +79 -79
  126. data/lib/aspose-email-cloud/models/requests/ai_bcr_ocr_storage_request_data.rb +79 -79
  127. data/lib/aspose-email-cloud/models/requests/ai_bcr_parse_model_request_data.rb +79 -79
  128. data/lib/aspose-email-cloud/models/requests/ai_bcr_parse_ocr_data_model_request_data.rb +79 -79
  129. data/lib/aspose-email-cloud/models/requests/ai_bcr_parse_request_data.rb +79 -79
  130. data/lib/aspose-email-cloud/models/requests/ai_bcr_parse_storage_request_data.rb +79 -79
  131. data/lib/aspose-email-cloud/models/requests/ai_name_complete_request_data.rb +110 -110
  132. data/lib/aspose-email-cloud/models/requests/ai_name_expand_parsed_request_data.rb +79 -79
  133. data/lib/aspose-email-cloud/models/requests/ai_name_expand_request_data.rb +110 -110
  134. data/lib/aspose-email-cloud/models/requests/ai_name_format_parsed_request_data.rb +79 -79
  135. data/lib/aspose-email-cloud/models/requests/ai_name_format_request_data.rb +116 -116
  136. data/lib/aspose-email-cloud/models/requests/ai_name_genderize_parsed_request_data.rb +79 -79
  137. data/lib/aspose-email-cloud/models/requests/ai_name_genderize_request_data.rb +110 -110
  138. data/lib/aspose-email-cloud/models/requests/ai_name_match_parsed_request_data.rb +79 -79
  139. data/lib/aspose-email-cloud/models/requests/ai_name_match_request_data.rb +121 -121
  140. data/lib/aspose-email-cloud/models/requests/ai_name_parse_email_address_request_data.rb +110 -110
  141. data/lib/aspose-email-cloud/models/requests/ai_name_parse_request_data.rb +110 -110
  142. data/lib/aspose-email-cloud/models/requests/append_email_message_request_data.rb +79 -79
  143. data/lib/aspose-email-cloud/models/requests/append_email_model_message_request_data.rb +79 -79
  144. data/lib/aspose-email-cloud/models/requests/append_mime_message_request_data.rb +79 -79
  145. data/lib/aspose-email-cloud/models/requests/convert_calendar_model_to_alternate_request_data.rb +79 -79
  146. data/lib/aspose-email-cloud/models/requests/convert_email_request_data.rb +90 -90
  147. data/lib/aspose-email-cloud/models/requests/copy_file_request_data.rb +108 -108
  148. data/lib/aspose-email-cloud/models/requests/copy_folder_request_data.rb +102 -102
  149. data/lib/aspose-email-cloud/models/requests/create_calendar_request_data.rb +89 -89
  150. data/lib/aspose-email-cloud/models/requests/create_contact_request_data.rb +99 -99
  151. data/lib/aspose-email-cloud/models/requests/create_email_folder_request_data.rb +79 -79
  152. data/lib/aspose-email-cloud/models/requests/create_email_request_data.rb +89 -89
  153. data/lib/aspose-email-cloud/models/requests/create_folder_request_data.rb +85 -85
  154. data/lib/aspose-email-cloud/models/requests/create_mapi_request_data.rb +89 -89
  155. data/lib/aspose-email-cloud/models/requests/delete_calendar_property_request_data.rb +109 -109
  156. data/lib/aspose-email-cloud/models/requests/delete_contact_property_request_data.rb +119 -119
  157. data/lib/aspose-email-cloud/models/requests/delete_email_folder_request_data.rb +79 -79
  158. data/lib/aspose-email-cloud/models/requests/delete_email_message_request_data.rb +79 -79
  159. data/lib/aspose-email-cloud/models/requests/delete_file_request_data.rb +91 -91
  160. data/lib/aspose-email-cloud/models/requests/delete_folder_request_data.rb +91 -91
  161. data/lib/aspose-email-cloud/models/requests/delete_mapi_attachment_request_data.rb +99 -99
  162. data/lib/aspose-email-cloud/models/requests/delete_mapi_properties_request_data.rb +89 -89
  163. data/lib/aspose-email-cloud/models/requests/discover_email_config_oauth_request_data.rb +79 -79
  164. data/lib/aspose-email-cloud/models/requests/discover_email_config_password_request_data.rb +79 -79
  165. data/lib/aspose-email-cloud/models/requests/discover_email_config_request_data.rb +86 -86
  166. data/lib/aspose-email-cloud/models/requests/download_file_request_data.rb +91 -91
  167. data/lib/aspose-email-cloud/models/requests/email_request.rb +75 -75
  168. data/lib/aspose-email-cloud/models/requests/fetch_email_message_request_data.rb +109 -109
  169. data/lib/aspose-email-cloud/models/requests/fetch_email_model_request_data.rb +109 -109
  170. data/lib/aspose-email-cloud/models/requests/get_calendar_attachment_request_data.rb +101 -101
  171. data/lib/aspose-email-cloud/models/requests/get_calendar_list_request_data.rb +108 -108
  172. data/lib/aspose-email-cloud/models/requests/get_calendar_model_as_alternate_request_data.rb +107 -107
  173. data/lib/aspose-email-cloud/models/requests/get_calendar_model_list_request_data.rb +98 -98
  174. data/lib/aspose-email-cloud/models/requests/get_calendar_model_request_data.rb +91 -91
  175. data/lib/aspose-email-cloud/models/requests/get_calendar_request_data.rb +91 -91
  176. data/lib/aspose-email-cloud/models/requests/get_contact_attachment_request_data.rb +111 -111
  177. data/lib/aspose-email-cloud/models/requests/get_contact_list_request_data.rb +103 -103
  178. data/lib/aspose-email-cloud/models/requests/get_contact_model_list_request_data.rb +103 -103
  179. data/lib/aspose-email-cloud/models/requests/get_contact_model_request_data.rb +101 -101
  180. data/lib/aspose-email-cloud/models/requests/get_contact_properties_request_data.rb +101 -101
  181. data/lib/aspose-email-cloud/models/requests/get_disc_usage_request_data.rb +75 -75
  182. data/lib/aspose-email-cloud/models/requests/get_email_as_file_request_data.rb +101 -101
  183. data/lib/aspose-email-cloud/models/requests/get_email_attachment_request_data.rb +101 -101
  184. data/lib/aspose-email-cloud/models/requests/get_email_client_account_request_data.rb +102 -0
  185. data/lib/aspose-email-cloud/models/requests/get_email_client_multi_account_request_data.rb +102 -0
  186. data/lib/aspose-email-cloud/models/requests/get_email_model_list_request_data.rb +103 -103
  187. data/lib/aspose-email-cloud/models/requests/get_email_model_request_data.rb +101 -101
  188. data/lib/aspose-email-cloud/models/requests/get_email_property_request_data.rb +101 -101
  189. data/lib/aspose-email-cloud/models/requests/get_email_request_data.rb +91 -91
  190. data/lib/aspose-email-cloud/models/requests/get_file_versions_request_data.rb +85 -85
  191. data/lib/aspose-email-cloud/models/requests/get_files_list_request_data.rb +85 -85
  192. data/lib/aspose-email-cloud/models/requests/get_mapi_attachment_request_data.rb +101 -101
  193. data/lib/aspose-email-cloud/models/requests/get_mapi_attachments_request_data.rb +91 -91
  194. data/lib/aspose-email-cloud/models/requests/get_mapi_list_request_data.rb +93 -93
  195. data/lib/aspose-email-cloud/models/requests/get_mapi_properties_request_data.rb +91 -91
  196. data/lib/aspose-email-cloud/models/requests/http_request.rb +51 -51
  197. data/lib/aspose-email-cloud/models/requests/is_email_address_disposable_request_data.rb +79 -0
  198. data/lib/aspose-email-cloud/models/requests/list_email_folders_request_data.rb +104 -104
  199. data/lib/aspose-email-cloud/models/requests/list_email_messages_request_data.rb +127 -127
  200. data/lib/aspose-email-cloud/models/requests/list_email_models_request_data.rb +127 -127
  201. data/lib/aspose-email-cloud/models/requests/move_file_request_data.rb +108 -108
  202. data/lib/aspose-email-cloud/models/requests/move_folder_request_data.rb +102 -102
  203. data/lib/aspose-email-cloud/models/requests/object_exists_request_data.rb +91 -91
  204. data/lib/aspose-email-cloud/models/requests/save_calendar_model_request_data.rb +89 -89
  205. data/lib/aspose-email-cloud/models/requests/save_contact_model_request_data.rb +99 -99
  206. data/lib/aspose-email-cloud/models/requests/save_email_client_account_request_data.rb +79 -0
  207. data/lib/aspose-email-cloud/models/requests/save_email_client_multi_account_request_data.rb +79 -0
  208. data/lib/aspose-email-cloud/models/requests/save_email_model_request_data.rb +99 -99
  209. data/lib/aspose-email-cloud/models/requests/save_mail_account_request_data.rb +79 -79
  210. data/lib/aspose-email-cloud/models/requests/save_mail_o_auth_account_request_data.rb +79 -79
  211. data/lib/aspose-email-cloud/models/requests/send_email_mime_request_data.rb +79 -79
  212. data/lib/aspose-email-cloud/models/requests/send_email_model_request_data.rb +79 -79
  213. data/lib/aspose-email-cloud/models/requests/send_email_request_data.rb +79 -79
  214. data/lib/aspose-email-cloud/models/requests/set_email_property_request_data.rb +99 -99
  215. data/lib/aspose-email-cloud/models/requests/set_email_read_flag_request_data.rb +79 -79
  216. data/lib/aspose-email-cloud/models/requests/storage_exists_request_data.rb +79 -79
  217. data/lib/aspose-email-cloud/models/requests/update_calendar_properties_request_data.rb +89 -89
  218. data/lib/aspose-email-cloud/models/requests/update_contact_properties_request_data.rb +99 -99
  219. data/lib/aspose-email-cloud/models/requests/update_mapi_properties_request_data.rb +89 -89
  220. data/lib/aspose-email-cloud/models/requests/upload_file_request_data.rb +97 -97
  221. data/lib/aspose-email-cloud/models/save_email_account_request.rb +434 -431
  222. data/lib/aspose-email-cloud/models/save_o_auth_email_account_request.rb +521 -505
  223. data/lib/aspose-email-cloud/models/send_email_base_request.rb +281 -278
  224. data/lib/aspose-email-cloud/models/send_email_mime_base_request.rb +300 -297
  225. data/lib/aspose-email-cloud/models/send_email_model_rq.rb +276 -273
  226. data/lib/aspose-email-cloud/models/set_email_property_request.rb +231 -228
  227. data/lib/aspose-email-cloud/models/set_message_read_flag_account_base_request.rb +318 -315
  228. data/lib/aspose-email-cloud/models/storage_exist.rb +218 -215
  229. data/lib/aspose-email-cloud/models/storage_file.rb +275 -272
  230. data/lib/aspose-email-cloud/models/storage_file_location.rb +263 -260
  231. data/lib/aspose-email-cloud/models/storage_file_rq_of_email_client_account.rb +225 -0
  232. data/lib/aspose-email-cloud/models/storage_file_rq_of_email_client_multi_account.rb +225 -0
  233. data/lib/aspose-email-cloud/models/storage_folder_location.rb +226 -223
  234. data/lib/aspose-email-cloud/models/storage_model_of_calendar_dto.rb +225 -222
  235. data/lib/aspose-email-cloud/models/storage_model_of_contact_dto.rb +225 -222
  236. data/lib/aspose-email-cloud/models/storage_model_of_email_dto.rb +225 -222
  237. data/lib/aspose-email-cloud/models/storage_model_rq_of_calendar_dto.rb +225 -222
  238. data/lib/aspose-email-cloud/models/storage_model_rq_of_contact_dto.rb +225 -222
  239. data/lib/aspose-email-cloud/models/storage_model_rq_of_email_dto.rb +225 -222
  240. data/lib/aspose-email-cloud/models/url.rb +244 -241
  241. data/lib/aspose-email-cloud/models/value_response.rb +213 -210
  242. data/lib/aspose-email-cloud/models/value_t_of_boolean.rb +217 -0
  243. data/lib/aspose-email-cloud/version.rb +1 -1
  244. metadata +15 -2
@@ -1,431 +1,434 @@
1
- # ----------------------------------------------------------------------------
2
- # <copyright company="Aspose" file="SaveEmailAccountRequest.rb">
3
- # Copyright (c) 2018-2019 Aspose Pty Ltd. All rights reserved.
4
- # </copyright>
5
- # <summary>
6
- # Permission is hereby granted, free of charge, to any person obtaining a
7
- # copy of this software and associated documentation files (the "Software"),
8
- # to deal in the Software without restriction, including without limitation
9
- # the rights to use, copy, modify, merge, publish, distribute, sublicense,
10
- # and/or sell copies of the Software, and to permit persons to whom the
11
- # Software is furnished to do so, subject to the following conditions:
12
- #
13
- # The above copyright notice and this permission notice shall be included in
14
- # all copies or substantial portions of the Software.
15
- #
16
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
- # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22
- # DEALINGS IN THE SOFTWARE.
23
- # </summary>
24
- # ----------------------------------------------------------------------------
25
-
26
-
27
- require 'date'
28
-
29
- module AsposeEmailCloud
30
- # Save email account settings with login/password authentication request
31
- class SaveEmailAccountRequest
32
- # Email account host
33
- # @return [String]
34
- attr_accessor :host
35
-
36
- # Email account port
37
- # @return [Integer]
38
- attr_accessor :port
39
-
40
- # Email account login
41
- # @return [String]
42
- attr_accessor :login
43
-
44
- # Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
45
- # @return [String]
46
- attr_accessor :security_options
47
-
48
- # Type of connection protocol. Enum, available values: IMAP, POP3, SMTP, EWS, WebDav
49
- # @return [String]
50
- attr_accessor :protocol_type
51
-
52
- # Email account description
53
- # @return [String]
54
- attr_accessor :description
55
-
56
- # A storage file location info to store email account
57
- # @return [StorageFileLocation]
58
- attr_accessor :storage_file
59
-
60
- # Email account password
61
- # @return [String]
62
- attr_accessor :password
63
-
64
- # Attribute mapping from ruby-style variable name to JSON key.
65
- def self.attribute_map
66
- {
67
- :'host' => :'host',
68
- :'port' => :'port',
69
- :'login' => :'login',
70
- :'security_options' => :'securityOptions',
71
- :'protocol_type' => :'protocolType',
72
- :'description' => :'description',
73
- :'storage_file' => :'storageFile',
74
- :'password' => :'password'
75
- }
76
- end
77
-
78
- # Attribute type mapping.
79
- def self.swagger_types
80
- {
81
- :'host' => :'String',
82
- :'port' => :'Integer',
83
- :'login' => :'String',
84
- :'security_options' => :'String',
85
- :'protocol_type' => :'String',
86
- :'description' => :'String',
87
- :'storage_file' => :'StorageFileLocation',
88
- :'password' => :'String'
89
- }
90
- end
91
-
92
- # Initializes the object
93
- # @param [Hash] attributes Model attributes in the form of hash
94
- def initialize(attributes = {})
95
- return unless attributes.is_a?(Hash)
96
-
97
- # convert string to symbol for hash key
98
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
99
-
100
- if attributes.has_key?(:'host')
101
- self.host = attributes[:'host']
102
- end
103
-
104
- if attributes.has_key?(:'port')
105
- self.port = attributes[:'port']
106
- end
107
-
108
- if attributes.has_key?(:'login')
109
- self.login = attributes[:'login']
110
- end
111
-
112
- if attributes.has_key?(:'securityOptions')
113
- self.security_options = attributes[:'securityOptions']
114
- end
115
-
116
- if attributes.has_key?(:'protocolType')
117
- self.protocol_type = attributes[:'protocolType']
118
- end
119
-
120
- if attributes.has_key?(:'description')
121
- self.description = attributes[:'description']
122
- end
123
-
124
- if attributes.has_key?(:'storageFile')
125
- self.storage_file = attributes[:'storageFile']
126
- end
127
-
128
- if attributes.has_key?(:'password')
129
- self.password = attributes[:'password']
130
- end
131
- end
132
-
133
- # Initializes the object
134
- # @param [String] host Email account host
135
- # @param [Integer] port Email account port
136
- # @param [String] login Email account login
137
- # @param [String] security_options Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
138
- # @param [String] protocol_type Type of connection protocol. Enum, available values: IMAP, POP3, SMTP, EWS, WebDav
139
- # @param [String] description Email account description
140
- # @param [StorageFileLocation] storage_file A storage file location info to store email account
141
- # @param [String] password Email account password
142
- def initialize(host=nil, port=nil, login=nil, security_options=nil, protocol_type=nil, description=nil, storage_file=nil, password=nil)
143
- self.host = host if host
144
- self.port = port if port
145
- self.login = login if login
146
- self.security_options = security_options if security_options
147
- self.protocol_type = protocol_type if protocol_type
148
- self.description = description if description
149
- self.storage_file = storage_file if storage_file
150
- self.password = password if password
151
- end
152
-
153
- # Show invalid properties with the reasons. Usually used together with valid?
154
- # @return Array for valid properties with the reasons
155
- def list_invalid_properties
156
- invalid_properties = Array.new
157
- if @host.nil?
158
- invalid_properties.push('invalid value for "host", host cannot be nil.')
159
- end
160
-
161
- if @host.to_s.length < 1
162
- invalid_properties.push('invalid value for "host", the character length must be great than or equal to 1.')
163
- end
164
-
165
- if @port.nil?
166
- invalid_properties.push('invalid value for "port", port cannot be nil.')
167
- end
168
-
169
- if @login.nil?
170
- invalid_properties.push('invalid value for "login", login cannot be nil.')
171
- end
172
-
173
- if @login.to_s.length < 1
174
- invalid_properties.push('invalid value for "login", the character length must be great than or equal to 1.')
175
- end
176
-
177
- if @security_options.nil?
178
- invalid_properties.push('invalid value for "security_options", security_options cannot be nil.')
179
- end
180
-
181
- if @security_options.to_s.length < 1
182
- invalid_properties.push('invalid value for "security_options", the character length must be great than or equal to 1.')
183
- end
184
-
185
- if @protocol_type.nil?
186
- invalid_properties.push('invalid value for "protocol_type", protocol_type cannot be nil.')
187
- end
188
-
189
- if @protocol_type.to_s.length < 1
190
- invalid_properties.push('invalid value for "protocol_type", the character length must be great than or equal to 1.')
191
- end
192
-
193
- if @storage_file.nil?
194
- invalid_properties.push('invalid value for "storage_file", storage_file cannot be nil.')
195
- end
196
-
197
- if @password.nil?
198
- invalid_properties.push('invalid value for "password", password cannot be nil.')
199
- end
200
-
201
- if @password.to_s.length < 1
202
- invalid_properties.push('invalid value for "password", the character length must be great than or equal to 1.')
203
- end
204
-
205
- invalid_properties
206
- end
207
-
208
- # Check to see if the all the properties in the model are valid
209
- # @return true if the model is valid
210
- def valid?
211
- return false if @host.nil?
212
- return false if @host.to_s.length < 1
213
- return false if @port.nil?
214
- return false if @login.nil?
215
- return false if @login.to_s.length < 1
216
- return false if @security_options.nil?
217
- return false if @security_options.to_s.length < 1
218
- return false if @protocol_type.nil?
219
- return false if @protocol_type.to_s.length < 1
220
- return false if @storage_file.nil?
221
- return false if @password.nil?
222
- return false if @password.to_s.length < 1
223
- true
224
- end
225
-
226
- # Custom attribute writer method with validation
227
- # @param [Object] host Value to be assigned
228
- def host=(host)
229
- if host.nil?
230
- fail ArgumentError, 'host cannot be nil'
231
- end
232
-
233
- if host.to_s.length < 1
234
- fail ArgumentError, 'invalid value for "host", the character length must be great than or equal to 1.'
235
- end
236
-
237
- @host = host
238
- end
239
-
240
- # Custom attribute writer method with validation
241
- # @param [Object] login Value to be assigned
242
- def login=(login)
243
- if login.nil?
244
- fail ArgumentError, 'login cannot be nil'
245
- end
246
-
247
- if login.to_s.length < 1
248
- fail ArgumentError, 'invalid value for "login", the character length must be great than or equal to 1.'
249
- end
250
-
251
- @login = login
252
- end
253
-
254
- # Custom attribute writer method with validation
255
- # @param [Object] security_options Value to be assigned
256
- def security_options=(security_options)
257
- if security_options.nil?
258
- fail ArgumentError, 'security_options cannot be nil'
259
- end
260
-
261
- if security_options.to_s.length < 1
262
- fail ArgumentError, 'invalid value for "security_options", the character length must be great than or equal to 1.'
263
- end
264
-
265
- @security_options = security_options
266
- end
267
-
268
- # Custom attribute writer method with validation
269
- # @param [Object] protocol_type Value to be assigned
270
- def protocol_type=(protocol_type)
271
- if protocol_type.nil?
272
- fail ArgumentError, 'protocol_type cannot be nil'
273
- end
274
-
275
- if protocol_type.to_s.length < 1
276
- fail ArgumentError, 'invalid value for "protocol_type", the character length must be great than or equal to 1.'
277
- end
278
-
279
- @protocol_type = protocol_type
280
- end
281
-
282
- # Custom attribute writer method with validation
283
- # @param [Object] password Value to be assigned
284
- def password=(password)
285
- if password.nil?
286
- fail ArgumentError, 'password cannot be nil'
287
- end
288
-
289
- if password.to_s.length < 1
290
- fail ArgumentError, 'invalid value for "password", the character length must be great than or equal to 1.'
291
- end
292
-
293
- @password = password
294
- end
295
-
296
- # Checks equality by comparing each attribute.
297
- # @param [Object] Object to be compared
298
- def ==(o)
299
- return true if self.equal?(o)
300
- self.class == o.class &&
301
- host == o.host &&
302
- port == o.port &&
303
- login == o.login &&
304
- security_options == o.security_options &&
305
- protocol_type == o.protocol_type &&
306
- description == o.description &&
307
- storage_file == o.storage_file &&
308
- password == o.password
309
- end
310
-
311
- # @see the `==` method
312
- # @param [Object] Object to be compared
313
- def eql?(o)
314
- self == o
315
- end
316
-
317
- # Calculates hash code according to all attributes.
318
- # @return [Fixnum] Hash code
319
- def hash
320
- [host, port, login, security_options, protocol_type, description, storage_file, password].hash
321
- end
322
-
323
- # Builds the object from hash
324
- # @param [Hash] attributes Model attributes in the form of hash
325
- # @return [Object] Returns the model itself
326
- def build_from_hash(attributes)
327
- return nil unless attributes.is_a?(Hash)
328
- self.class.swagger_types.each_pair do |key, type|
329
- attribute_key = self.class.attribute_map[key]
330
- attribute_key = (attribute_key[0, 1].downcase + attribute_key[1..-1]).to_sym
331
- if type =~ /\AArray<(.*)>/i
332
- # check to ensure the input is an array given that the the attribute
333
- # is documented as an array but the input is not
334
- if attributes[attribute_key].is_a?(Array)
335
- self.send("#{key}=", attributes[attribute_key].map { |v| _deserialize($1, v) })
336
- end
337
- elsif !attributes[attribute_key].nil?
338
- self.send("#{key}=", _deserialize(type, attributes[attribute_key]))
339
- end # or else data not found in attributes(hash), not an issue as the data can be optional
340
- end
341
-
342
- self
343
- end
344
-
345
- # Deserializes the data based on type
346
- # @param string type Data type
347
- # @param string value Value to be deserialized
348
- # @return [Object] Deserialized data
349
- def _deserialize(type, value)
350
- case type.to_sym
351
- when :DateTime
352
- DateTime.parse(value)
353
- when :Date
354
- Date.parse(value)
355
- when :String
356
- value.to_s
357
- when :Integer
358
- value.to_i
359
- when :Float
360
- value.to_f
361
- when :BOOLEAN
362
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
363
- true
364
- else
365
- false
366
- end
367
- when :Object
368
- # generic object (usually a Hash), return directly
369
- value
370
- when /\AArray<(?<inner_type>.+)>\z/
371
- inner_type = Regexp.last_match[:inner_type]
372
- value.map { |v| _deserialize(inner_type, v) }
373
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
374
- k_type = Regexp.last_match[:k_type]
375
- v_type = Regexp.last_match[:v_type]
376
- {}.tap do |hash|
377
- value.each do |k, v|
378
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
379
- end
380
- end
381
- else # model
382
- type = value[:type] || type
383
- temp_model = AsposeEmailCloud.const_get(type).new
384
- temp_model.build_from_hash(value)
385
- end
386
- end
387
-
388
- # Returns the string representation of the object
389
- # @return [String] String presentation of the object
390
- def to_s
391
- to_hash.to_s
392
- end
393
-
394
- # to_body is an alias to to_hash (backward compatibility)
395
- # @return [Hash] Returns the object in the form of hash
396
- def to_body
397
- to_hash
398
- end
399
-
400
- # Returns the object in the form of hash
401
- # @return [Hash] Returns the object in the form of hash
402
- def to_hash
403
- hash = {}
404
- self.class.attribute_map.each_pair do |attr, param|
405
- value = self.send(attr)
406
- next if value.nil?
407
- hash[param] = _to_hash(value)
408
- end
409
- hash
410
- end
411
-
412
- # Outputs non-array value in the form of hash
413
- # For object, use to_hash. Otherwise, just return the value
414
- # @param [Object] value Any valid value
415
- # @return [Hash] Returns the value in the form of hash
416
- def _to_hash(value)
417
- if value.is_a?(Array)
418
- value.compact.map { |v| _to_hash(v) }
419
- elsif value.is_a?(Hash)
420
- {}.tap do |hash|
421
- value.each { |k, v| hash[k] = _to_hash(v) }
422
- end
423
- elsif value.respond_to? :to_hash
424
- value.to_hash
425
- else
426
- value
427
- end
428
- end
429
-
430
- end
431
- end
1
+ # ----------------------------------------------------------------------------
2
+ # <copyright company="Aspose" file="SaveEmailAccountRequest.rb">
3
+ # Copyright (c) 2018-2019 Aspose Pty Ltd. All rights reserved.
4
+ # </copyright>
5
+ # <summary>
6
+ # Permission is hereby granted, free of charge, to any person obtaining a
7
+ # copy of this software and associated documentation files (the "Software"),
8
+ # to deal in the Software without restriction, including without limitation
9
+ # the rights to use, copy, modify, merge, publish, distribute, sublicense,
10
+ # and/or sell copies of the Software, and to permit persons to whom the
11
+ # Software is furnished to do so, subject to the following conditions:
12
+ #
13
+ # The above copyright notice and this permission notice shall be included in
14
+ # all copies or substantial portions of the Software.
15
+ #
16
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
+ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22
+ # DEALINGS IN THE SOFTWARE.
23
+ # </summary>
24
+ # ----------------------------------------------------------------------------
25
+
26
+
27
+ require 'date'
28
+
29
+ module AsposeEmailCloud
30
+ # Save email account settings with login/password authentication request
31
+ class SaveEmailAccountRequest
32
+ # Email account host
33
+ # @return [String]
34
+ attr_accessor :host
35
+
36
+ # Email account port
37
+ # @return [Integer]
38
+ attr_accessor :port
39
+
40
+ # Email account login
41
+ # @return [String]
42
+ attr_accessor :login
43
+
44
+ # Email account security mode Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
45
+ # @return [String]
46
+ attr_accessor :security_options
47
+
48
+ # Type of connection protocol. Enum, available values: IMAP, POP3, SMTP, EWS, WebDav
49
+ # @return [String]
50
+ attr_accessor :protocol_type
51
+
52
+ # Email account description
53
+ # @return [String]
54
+ attr_accessor :description
55
+
56
+ # A storage file location info to store email account
57
+ # @return [StorageFileLocation]
58
+ attr_accessor :storage_file
59
+
60
+ # Email account password
61
+ # @return [String]
62
+ attr_accessor :password
63
+
64
+ # Attribute mapping from ruby-style variable name to JSON key.
65
+ def self.attribute_map
66
+ {
67
+ :'host' => :'host',
68
+ :'port' => :'port',
69
+ :'login' => :'login',
70
+ :'security_options' => :'securityOptions',
71
+ :'protocol_type' => :'protocolType',
72
+ :'description' => :'description',
73
+ :'storage_file' => :'storageFile',
74
+ :'password' => :'password'
75
+ }
76
+ end
77
+
78
+ # Attribute type mapping.
79
+ def self.swagger_types
80
+ {
81
+ :'host' => :'String',
82
+ :'port' => :'Integer',
83
+ :'login' => :'String',
84
+ :'security_options' => :'String',
85
+ :'protocol_type' => :'String',
86
+ :'description' => :'String',
87
+ :'storage_file' => :'StorageFileLocation',
88
+ :'password' => :'String'
89
+ }
90
+ end
91
+
92
+ # Initializes the object
93
+ # @param [Hash] attributes Model attributes in the form of hash
94
+ def initialize(attributes = {})
95
+ return unless attributes.is_a?(Hash)
96
+
97
+ # convert string to symbol for hash key
98
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
99
+
100
+ if attributes.has_key?(:'host')
101
+ self.host = attributes[:'host']
102
+ end
103
+
104
+ if attributes.has_key?(:'port')
105
+ self.port = attributes[:'port']
106
+ end
107
+
108
+ if attributes.has_key?(:'login')
109
+ self.login = attributes[:'login']
110
+ end
111
+
112
+ if attributes.has_key?(:'securityOptions')
113
+ self.security_options = attributes[:'securityOptions']
114
+ end
115
+
116
+ if attributes.has_key?(:'protocolType')
117
+ self.protocol_type = attributes[:'protocolType']
118
+ end
119
+
120
+ if attributes.has_key?(:'description')
121
+ self.description = attributes[:'description']
122
+ end
123
+
124
+ if attributes.has_key?(:'storageFile')
125
+ self.storage_file = attributes[:'storageFile']
126
+ end
127
+
128
+ if attributes.has_key?(:'password')
129
+ self.password = attributes[:'password']
130
+ end
131
+ end
132
+
133
+ # Initializes the object
134
+ # @param [String] host Email account host
135
+ # @param [Integer] port Email account port
136
+ # @param [String] login Email account login
137
+ # @param [String] security_options Email account security mode Enum, available values: None, SSLExplicit, SSLImplicit, SSLAuto, Auto
138
+ # @param [String] protocol_type Type of connection protocol. Enum, available values: IMAP, POP3, SMTP, EWS, WebDav
139
+ # @param [String] description Email account description
140
+ # @param [StorageFileLocation] storage_file A storage file location info to store email account
141
+ # @param [String] password Email account password
142
+ def initialize(host=nil, port=nil, login=nil, security_options=nil, protocol_type=nil, description=nil, storage_file=nil, password=nil)
143
+ self.host = host if host
144
+ self.port = port if port
145
+ self.login = login if login
146
+ self.security_options = security_options if security_options
147
+ self.protocol_type = protocol_type if protocol_type
148
+ self.description = description if description
149
+ self.storage_file = storage_file if storage_file
150
+ self.password = password if password
151
+ end
152
+
153
+ # Show invalid properties with the reasons. Usually used together with valid?
154
+ # @return Array for valid properties with the reasons
155
+ def list_invalid_properties
156
+ invalid_properties = Array.new
157
+ if @host.nil?
158
+ invalid_properties.push('invalid value for "host", host cannot be nil.')
159
+ end
160
+
161
+ if @host.to_s.length < 1
162
+ invalid_properties.push('invalid value for "host", the character length must be great than or equal to 1.')
163
+ end
164
+
165
+ if @port.nil?
166
+ invalid_properties.push('invalid value for "port", port cannot be nil.')
167
+ end
168
+
169
+ if @login.nil?
170
+ invalid_properties.push('invalid value for "login", login cannot be nil.')
171
+ end
172
+
173
+ if @login.to_s.length < 1
174
+ invalid_properties.push('invalid value for "login", the character length must be great than or equal to 1.')
175
+ end
176
+
177
+ if @security_options.nil?
178
+ invalid_properties.push('invalid value for "security_options", security_options cannot be nil.')
179
+ end
180
+
181
+ if @security_options.to_s.length < 1
182
+ invalid_properties.push('invalid value for "security_options", the character length must be great than or equal to 1.')
183
+ end
184
+
185
+ if @protocol_type.nil?
186
+ invalid_properties.push('invalid value for "protocol_type", protocol_type cannot be nil.')
187
+ end
188
+
189
+ if @protocol_type.to_s.length < 1
190
+ invalid_properties.push('invalid value for "protocol_type", the character length must be great than or equal to 1.')
191
+ end
192
+
193
+ if @storage_file.nil?
194
+ invalid_properties.push('invalid value for "storage_file", storage_file cannot be nil.')
195
+ end
196
+
197
+ if @password.nil?
198
+ invalid_properties.push('invalid value for "password", password cannot be nil.')
199
+ end
200
+
201
+ if @password.to_s.length < 1
202
+ invalid_properties.push('invalid value for "password", the character length must be great than or equal to 1.')
203
+ end
204
+
205
+ invalid_properties
206
+ end
207
+
208
+ # Check to see if the all the properties in the model are valid
209
+ # @return true if the model is valid
210
+ def valid?
211
+ return false if @host.nil?
212
+ return false if @host.to_s.length < 1
213
+ return false if @port.nil?
214
+ return false if @login.nil?
215
+ return false if @login.to_s.length < 1
216
+ return false if @security_options.nil?
217
+ return false if @security_options.to_s.length < 1
218
+ return false if @protocol_type.nil?
219
+ return false if @protocol_type.to_s.length < 1
220
+ return false if @storage_file.nil?
221
+ return false if @password.nil?
222
+ return false if @password.to_s.length < 1
223
+ true
224
+ end
225
+
226
+ # Custom attribute writer method with validation
227
+ # @param [Object] host Value to be assigned
228
+ def host=(host)
229
+ if host.nil?
230
+ fail ArgumentError, 'host cannot be nil'
231
+ end
232
+
233
+ if host.to_s.length < 1
234
+ fail ArgumentError, 'invalid value for "host", the character length must be great than or equal to 1.'
235
+ end
236
+
237
+ @host = host
238
+ end
239
+
240
+ # Custom attribute writer method with validation
241
+ # @param [Object] login Value to be assigned
242
+ def login=(login)
243
+ if login.nil?
244
+ fail ArgumentError, 'login cannot be nil'
245
+ end
246
+
247
+ if login.to_s.length < 1
248
+ fail ArgumentError, 'invalid value for "login", the character length must be great than or equal to 1.'
249
+ end
250
+
251
+ @login = login
252
+ end
253
+
254
+ # Custom attribute writer method with validation
255
+ # @param [Object] security_options Value to be assigned
256
+ def security_options=(security_options)
257
+ if security_options.nil?
258
+ fail ArgumentError, 'security_options cannot be nil'
259
+ end
260
+
261
+ if security_options.to_s.length < 1
262
+ fail ArgumentError, 'invalid value for "security_options", the character length must be great than or equal to 1.'
263
+ end
264
+
265
+ @security_options = security_options
266
+ end
267
+
268
+ # Custom attribute writer method with validation
269
+ # @param [Object] protocol_type Value to be assigned
270
+ def protocol_type=(protocol_type)
271
+ if protocol_type.nil?
272
+ fail ArgumentError, 'protocol_type cannot be nil'
273
+ end
274
+
275
+ if protocol_type.to_s.length < 1
276
+ fail ArgumentError, 'invalid value for "protocol_type", the character length must be great than or equal to 1.'
277
+ end
278
+
279
+ @protocol_type = protocol_type
280
+ end
281
+
282
+ # Custom attribute writer method with validation
283
+ # @param [Object] password Value to be assigned
284
+ def password=(password)
285
+ if password.nil?
286
+ fail ArgumentError, 'password cannot be nil'
287
+ end
288
+
289
+ if password.to_s.length < 1
290
+ fail ArgumentError, 'invalid value for "password", the character length must be great than or equal to 1.'
291
+ end
292
+
293
+ @password = password
294
+ end
295
+
296
+ # Checks equality by comparing each attribute.
297
+ # @param [Object] Object to be compared
298
+ def ==(o)
299
+ return true if self.equal?(o)
300
+ self.class == o.class &&
301
+ host == o.host &&
302
+ port == o.port &&
303
+ login == o.login &&
304
+ security_options == o.security_options &&
305
+ protocol_type == o.protocol_type &&
306
+ description == o.description &&
307
+ storage_file == o.storage_file &&
308
+ password == o.password
309
+ end
310
+
311
+ # @see the `==` method
312
+ # @param [Object] Object to be compared
313
+ def eql?(o)
314
+ self == o
315
+ end
316
+
317
+ # Calculates hash code according to all attributes.
318
+ # @return [Fixnum] Hash code
319
+ def hash
320
+ [host, port, login, security_options, protocol_type, description, storage_file, password].hash
321
+ end
322
+
323
+ # Builds the object from hash
324
+ # @param [Hash] attributes Model attributes in the form of hash
325
+ # @return [Object] Returns the model itself
326
+ def build_from_hash(attributes)
327
+ return nil unless attributes.is_a?(Hash)
328
+ self.class.swagger_types.each_pair do |key, type|
329
+ attribute_key = self.class.attribute_map[key]
330
+ attribute_key = (attribute_key[0, 1].downcase + attribute_key[1..-1]).to_sym
331
+ if type =~ /\AArray<(.*)>/i
332
+ # check to ensure the input is an array given that the the attribute
333
+ # is documented as an array but the input is not
334
+ if attributes[attribute_key].is_a?(Array)
335
+ self.send("#{key}=", attributes[attribute_key].map { |v| _deserialize($1, v) })
336
+ end
337
+ elsif !attributes[attribute_key].nil?
338
+ self.send("#{key}=", _deserialize(type, attributes[attribute_key]))
339
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
340
+ end
341
+
342
+ self
343
+ end
344
+
345
+ # Deserializes the data based on type
346
+ # @param string type Data type
347
+ # @param string value Value to be deserialized
348
+ # @return [Object] Deserialized data
349
+ def _deserialize(type, value)
350
+ case type.to_sym
351
+ when :DateTime
352
+ DateTime.parse(value)
353
+ when :Date
354
+ Date.parse(value)
355
+ when :String
356
+ value.to_s
357
+ when :Integer
358
+ value.to_i
359
+ when :Float
360
+ value.to_f
361
+ when :BOOLEAN
362
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
363
+ true
364
+ else
365
+ false
366
+ end
367
+ when :Object
368
+ # generic object (usually a Hash), return directly
369
+ value
370
+ when /\AArray<(?<inner_type>.+)>\z/
371
+ inner_type = Regexp.last_match[:inner_type]
372
+ value.map { |v| _deserialize(inner_type, v) }
373
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
374
+ k_type = Regexp.last_match[:k_type]
375
+ v_type = Regexp.last_match[:v_type]
376
+ {}.tap do |hash|
377
+ value.each do |k, v|
378
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
379
+ end
380
+ end
381
+ else # model
382
+ sub_type = value[:type] || value[:discriminator] || type
383
+ if AsposeEmailCloud.const_defined?(sub_type)
384
+ type = sub_type
385
+ end
386
+ temp_model = AsposeEmailCloud.const_get(type).new
387
+ temp_model.build_from_hash(value)
388
+ end
389
+ end
390
+
391
+ # Returns the string representation of the object
392
+ # @return [String] String presentation of the object
393
+ def to_s
394
+ to_hash.to_s
395
+ end
396
+
397
+ # to_body is an alias to to_hash (backward compatibility)
398
+ # @return [Hash] Returns the object in the form of hash
399
+ def to_body
400
+ to_hash
401
+ end
402
+
403
+ # Returns the object in the form of hash
404
+ # @return [Hash] Returns the object in the form of hash
405
+ def to_hash
406
+ hash = {}
407
+ self.class.attribute_map.each_pair do |attr, param|
408
+ value = self.send(attr)
409
+ next if value.nil?
410
+ hash[param] = _to_hash(value)
411
+ end
412
+ hash
413
+ end
414
+
415
+ # Outputs non-array value in the form of hash
416
+ # For object, use to_hash. Otherwise, just return the value
417
+ # @param [Object] value Any valid value
418
+ # @return [Hash] Returns the value in the form of hash
419
+ def _to_hash(value)
420
+ if value.is_a?(Array)
421
+ value.compact.map { |v| _to_hash(v) }
422
+ elsif value.is_a?(Hash)
423
+ {}.tap do |hash|
424
+ value.each { |k, v| hash[k] = _to_hash(v) }
425
+ end
426
+ elsif value.respond_to? :to_hash
427
+ value.to_hash
428
+ else
429
+ value
430
+ end
431
+ end
432
+
433
+ end
434
+ end