SematextCloud 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/SematextCloud.gemspec +4 -5
  4. data/docs/AlertNotification.md +2 -1
  5. data/docs/AlertNotificationRequest.md +2 -1
  6. data/docs/AlertNotificationsApi.md +30 -28
  7. data/docs/AlertRule.md +2 -1
  8. data/docs/AlertRuleResponse.md +2 -1
  9. data/docs/AlertRuleResponseEntry.md +2 -1
  10. data/docs/AlertRuleScheduleTimeRangeDto.md +2 -1
  11. data/docs/AlertRuleScheduleWeekdayDto.md +2 -1
  12. data/docs/AlertRulesResponse.md +2 -1
  13. data/docs/AlertRulesResponseEntry.md +2 -1
  14. data/docs/AlertsApi.md +55 -53
  15. data/docs/App.md +2 -1
  16. data/docs/AppDescription.md +2 -1
  17. data/docs/AppMetadata.md +2 -1
  18. data/docs/AppResponse.md +2 -1
  19. data/docs/AppResponseEntry.md +2 -1
  20. data/docs/AppTypesResponse.md +2 -1
  21. data/docs/AppTypesResponseEntry.md +2 -1
  22. data/docs/AppsApi.md +85 -80
  23. data/docs/AppsResponse.md +2 -1
  24. data/docs/AppsResponseEntry.md +2 -1
  25. data/docs/AwsSettingsControllerApi.md +10 -8
  26. data/docs/BasicAuthMethodDto.md +2 -1
  27. data/docs/BasicOrganizationDto.md +2 -1
  28. data/docs/BillingApi.md +31 -29
  29. data/docs/BillingInfo.md +2 -1
  30. data/docs/ChargesDetailsResponseDto.md +2 -1
  31. data/docs/CloudWatchSettings.md +2 -1
  32. data/docs/CloudWatchSettingsResponse.md +2 -1
  33. data/docs/CloudWatchSettingsResponseEntry.md +2 -1
  34. data/docs/CreateAppInfo.md +2 -1
  35. data/docs/CreateTokenDto.md +2 -1
  36. data/docs/DailyDto.md +10 -7
  37. data/docs/DayUsageData.md +23 -23
  38. data/docs/Dimension.md +2 -1
  39. data/docs/Error.md +2 -1
  40. data/docs/EventDto.md +2 -1
  41. data/docs/FilterValue.md +2 -1
  42. data/docs/GenericApiResponse.md +2 -1
  43. data/docs/GenericMapBasedApiResponse.md +2 -1
  44. data/docs/Invitation.md +2 -1
  45. data/docs/Invoice.md +2 -1
  46. data/docs/InvoiceResponse.md +2 -1
  47. data/docs/InvoiceResponseEntry.md +2 -1
  48. data/docs/LimitChangeEventDTO.md +2 -1
  49. data/docs/LogsAppApi.md +10 -8
  50. data/docs/LogsUsageApiControllerApi.md +9 -7
  51. data/docs/MailReportResponse.md +2 -1
  52. data/docs/MailReportResponseResponseEntry.md +2 -1
  53. data/docs/MinPeriodFeePeriod.md +17 -14
  54. data/docs/MonitoringAppApi.md +17 -15
  55. data/docs/NotificationIntegration.md +2 -1
  56. data/docs/NotificationsResponse.md +2 -1
  57. data/docs/NotificationsResponseEntry.md +2 -1
  58. data/docs/Plan.md +2 -1
  59. data/docs/PlansResponse.md +2 -1
  60. data/docs/PlansResponseEntry.md +2 -1
  61. data/docs/ReportInfo.md +13 -11
  62. data/docs/ResetPasswordApi.md +10 -8
  63. data/docs/ServiceIntegration.md +2 -1
  64. data/docs/Subscription.md +20 -18
  65. data/docs/SubscriptionDashboardDto.md +2 -1
  66. data/docs/SubscriptionDto.md +17 -15
  67. data/docs/SubscriptionResponse.md +2 -1
  68. data/docs/SubscriptionResponseEntry.md +2 -1
  69. data/docs/SubscriptionsApi.md +102 -99
  70. data/docs/SubscriptionsResponse.md +2 -1
  71. data/docs/SubscriptionsResponseEntry.md +2 -1
  72. data/docs/TagApiControllerApi.md +32 -30
  73. data/docs/TagNamesResponse.md +2 -1
  74. data/docs/TokenDto.md +2 -1
  75. data/docs/TokenResponse.md +2 -1
  76. data/docs/TokenResponseEntry.md +2 -1
  77. data/docs/TokensApiControllerApi.md +62 -60
  78. data/docs/TokensResponse.md +2 -1
  79. data/docs/TokensResponseEntry.md +2 -1
  80. data/docs/UpdateAppInfo.md +2 -1
  81. data/docs/UpdatePlanResponse.md +2 -1
  82. data/docs/UpdatePlanResponseDto.md +2 -1
  83. data/docs/UpdatePlanResponseEntry.md +2 -1
  84. data/docs/UpdateSubscriptionDto.md +2 -1
  85. data/docs/UpdateTokenDto.md +2 -1
  86. data/docs/UsageDto.md +6 -3
  87. data/docs/UsageMultiResponse.md +2 -1
  88. data/docs/UsageMultiResponseEntry.md +2 -1
  89. data/docs/UsageResponse.md +2 -1
  90. data/docs/UsageResponseEntry.md +2 -1
  91. data/docs/UserInfo.md +2 -1
  92. data/docs/UserPermissions.md +2 -1
  93. data/docs/UserRole.md +2 -1
  94. data/lib/SematextCloud/api/alert_notifications_api.rb +42 -37
  95. data/lib/SematextCloud/api/alerts_api.rb +81 -72
  96. data/lib/SematextCloud/api/apps_api.rb +125 -106
  97. data/lib/SematextCloud/api/aws_settings_controller_api.rb +26 -25
  98. data/lib/SematextCloud/api/billing_api.rb +51 -46
  99. data/lib/SematextCloud/api/logs_app_api.rb +21 -20
  100. data/lib/{stcloud → SematextCloud}/api/logs_usage_api_controller_api.rb +2 -2
  101. data/lib/SematextCloud/api/monitoring_app_api.rb +23 -22
  102. data/lib/SematextCloud/api/reset_password_api.rb +21 -20
  103. data/lib/SematextCloud/api/subscriptions_api.rb +203 -172
  104. data/lib/SematextCloud/api/tag_api_controller_api.rb +53 -50
  105. data/lib/SematextCloud/api/tokens_api_controller_api.rb +84 -73
  106. data/lib/SematextCloud/api_client.rb +41 -42
  107. data/lib/SematextCloud/api_error.rb +21 -2
  108. data/lib/SematextCloud/configuration.rb +5 -9
  109. data/lib/{stcloud → SematextCloud}/models/alert_notification.rb +5 -5
  110. data/lib/SematextCloud/models/alert_notification_request.rb +49 -26
  111. data/lib/SematextCloud/models/alert_rule.rb +175 -152
  112. data/lib/{stcloud/models/app_response.rb → SematextCloud/models/alert_rule_response.rb} +6 -6
  113. data/lib/{stcloud → SematextCloud}/models/alert_rule_response_entry.rb +5 -5
  114. data/lib/SematextCloud/models/alert_rule_schedule_time_range_dto.rb +44 -21
  115. data/lib/SematextCloud/models/alert_rule_schedule_weekday_dto.rb +49 -26
  116. data/lib/SematextCloud/models/alert_rules_response.rb +235 -0
  117. data/lib/{stcloud → SematextCloud}/models/alert_rules_response_entry.rb +5 -5
  118. data/lib/SematextCloud/models/app.rb +163 -93
  119. data/lib/SematextCloud/models/app_description.rb +41 -18
  120. data/lib/SematextCloud/models/app_metadata.rb +60 -37
  121. data/lib/{stcloud/models/alert_rule_response.rb → SematextCloud/models/app_response.rb} +6 -6
  122. data/lib/{stcloud → SematextCloud}/models/app_response_entry.rb +5 -5
  123. data/lib/{stcloud → SematextCloud}/models/app_types_response.rb +5 -5
  124. data/lib/{stcloud → SematextCloud}/models/app_types_response_entry.rb +5 -5
  125. data/lib/{stcloud/models/alert_rules_response.rb → SematextCloud/models/apps_response.rb} +6 -6
  126. data/lib/{stcloud → SematextCloud}/models/apps_response_entry.rb +5 -5
  127. data/lib/SematextCloud/models/basic_auth_method_dto.rb +47 -24
  128. data/lib/SematextCloud/models/basic_organization_dto.rb +51 -28
  129. data/lib/SematextCloud/models/billing_info.rb +48 -25
  130. data/lib/{stcloud → SematextCloud}/models/charges_details_response_dto.rb +5 -5
  131. data/lib/SematextCloud/models/cloud_watch_settings.rb +56 -33
  132. data/lib/SematextCloud/models/cloud_watch_settings_response.rb +235 -0
  133. data/lib/{stcloud → SematextCloud}/models/cloud_watch_settings_response_entry.rb +5 -5
  134. data/lib/SematextCloud/models/create_app_info.rb +53 -31
  135. data/lib/SematextCloud/models/create_token_dto.rb +46 -23
  136. data/lib/{stcloud → SematextCloud}/models/daily_dto.rb +36 -18
  137. data/lib/{stcloud → SematextCloud}/models/day_usage_data.rb +5 -5
  138. data/lib/{stcloud → SematextCloud}/models/dimension.rb +5 -5
  139. data/lib/SematextCloud/models/error.rb +43 -20
  140. data/lib/{stcloud → SematextCloud}/models/event_dto.rb +7 -7
  141. data/lib/SematextCloud/models/filter_value.rb +53 -30
  142. data/lib/SematextCloud/models/generic_api_response.rb +46 -24
  143. data/lib/{stcloud → SematextCloud}/models/generic_map_based_api_response.rb +5 -5
  144. data/lib/SematextCloud/models/invitation.rb +74 -52
  145. data/lib/{stcloud → SematextCloud}/models/invoice.rb +5 -5
  146. data/lib/{stcloud/models/notifications_response.rb → SematextCloud/models/invoice_response.rb} +6 -6
  147. data/lib/{stcloud → SematextCloud}/models/invoice_response_entry.rb +5 -5
  148. data/lib/{stcloud → SematextCloud}/models/limit_change_event_dto.rb +5 -5
  149. data/lib/{stcloud → SematextCloud}/models/mail_report_response.rb +5 -5
  150. data/lib/{stcloud/models/subscription_response_entry.rb → SematextCloud/models/mail_report_response_response_entry.rb} +6 -6
  151. data/lib/{stcloud → SematextCloud}/models/min_period_fee_period.rb +24 -6
  152. data/lib/SematextCloud/models/notification_integration.rb +73 -50
  153. data/lib/SematextCloud/models/notifications_response.rb +235 -0
  154. data/lib/{stcloud → SematextCloud}/models/notifications_response_entry.rb +5 -5
  155. data/lib/SematextCloud/models/plan.rb +80 -57
  156. data/lib/{stcloud → SematextCloud}/models/plans_response.rb +5 -5
  157. data/lib/{stcloud → SematextCloud}/models/plans_response_entry.rb +5 -5
  158. data/lib/SematextCloud/models/report_info.rb +69 -37
  159. data/lib/SematextCloud/models/service_integration.rb +71 -48
  160. data/lib/{stcloud → SematextCloud}/models/subscription.rb +15 -6
  161. data/lib/SematextCloud/models/subscription_dashboard_dto.rb +72 -49
  162. data/lib/SematextCloud/models/subscription_dto.rb +85 -53
  163. data/lib/{stcloud/models/cloud_watch_settings_response.rb → SematextCloud/models/subscription_response.rb} +6 -6
  164. data/lib/{stcloud/models/mail_report_response_response_entry.rb → SematextCloud/models/subscription_response_entry.rb} +6 -6
  165. data/lib/{stcloud → SematextCloud}/models/subscriptions_response.rb +5 -5
  166. data/lib/{stcloud → SematextCloud}/models/subscriptions_response_entry.rb +5 -5
  167. data/lib/{stcloud → SematextCloud}/models/tag_names_response.rb +5 -5
  168. data/lib/{stcloud → SematextCloud}/models/token_dto.rb +5 -5
  169. data/lib/{stcloud → SematextCloud}/models/token_response.rb +5 -5
  170. data/lib/{stcloud → SematextCloud}/models/token_response_entry.rb +5 -5
  171. data/lib/{stcloud/models/subscription_response.rb → SematextCloud/models/tokens_response.rb} +6 -6
  172. data/lib/{stcloud → SematextCloud}/models/tokens_response_entry.rb +5 -5
  173. data/lib/SematextCloud/models/update_app_info.rb +64 -41
  174. data/lib/{stcloud → SematextCloud}/models/update_plan_response.rb +5 -5
  175. data/lib/{stcloud → SematextCloud}/models/update_plan_response_dto.rb +5 -5
  176. data/lib/{stcloud → SematextCloud}/models/update_plan_response_entry.rb +5 -5
  177. data/lib/SematextCloud/models/update_subscription_dto.rb +42 -19
  178. data/lib/SematextCloud/models/update_token_dto.rb +44 -21
  179. data/lib/{stcloud → SematextCloud}/models/usage_dto.rb +39 -21
  180. data/lib/{stcloud → SematextCloud}/models/usage_multi_response.rb +5 -5
  181. data/lib/{stcloud → SematextCloud}/models/usage_multi_response_entry.rb +5 -5
  182. data/lib/{stcloud → SematextCloud}/models/usage_response.rb +5 -5
  183. data/lib/{stcloud → SematextCloud}/models/usage_response_entry.rb +5 -5
  184. data/lib/SematextCloud/models/user_info.rb +42 -19
  185. data/lib/SematextCloud/models/user_permissions.rb +48 -25
  186. data/lib/SematextCloud/models/user_role.rb +53 -30
  187. data/lib/SematextCloud/version.rb +2 -3
  188. data/lib/SematextCloud.rb +57 -7
  189. data/spec/api/alert_notifications_api_spec.rb +8 -8
  190. data/spec/api/alerts_api_spec.rb +8 -8
  191. data/spec/api/apps_api_spec.rb +10 -10
  192. data/spec/api/aws_settings_controller_api_spec.rb +4 -4
  193. data/spec/api/billing_api_spec.rb +6 -6
  194. data/spec/api/logs_app_api_spec.rb +4 -4
  195. data/spec/api/logs_usage_api_controller_api_spec.rb +4 -4
  196. data/spec/api/monitoring_app_api_spec.rb +6 -6
  197. data/spec/api/reset_password_api_spec.rb +4 -4
  198. data/spec/api/subscriptions_api_spec.rb +10 -10
  199. data/spec/api/tag_api_controller_api_spec.rb +6 -6
  200. data/spec/api/tokens_api_controller_api_spec.rb +12 -12
  201. data/spec/api_client_spec.rb +30 -30
  202. data/spec/configuration_spec.rb +4 -4
  203. data/spec/models/alert_notification_request_spec.rb +4 -4
  204. data/spec/models/alert_notification_spec.rb +4 -4
  205. data/spec/models/alert_rule_response_entry_spec.rb +4 -4
  206. data/spec/models/alert_rule_response_spec.rb +4 -4
  207. data/spec/models/alert_rule_schedule_time_range_dto_spec.rb +4 -4
  208. data/spec/models/alert_rule_schedule_weekday_dto_spec.rb +4 -4
  209. data/spec/models/alert_rule_spec.rb +4 -4
  210. data/spec/models/alert_rules_response_entry_spec.rb +4 -4
  211. data/spec/models/alert_rules_response_spec.rb +4 -4
  212. data/spec/models/app_description_spec.rb +4 -4
  213. data/spec/models/app_metadata_spec.rb +4 -4
  214. data/spec/models/app_response_entry_spec.rb +4 -4
  215. data/spec/models/app_response_spec.rb +4 -4
  216. data/spec/models/app_spec.rb +4 -4
  217. data/spec/models/app_types_response_entry_spec.rb +4 -4
  218. data/spec/models/app_types_response_spec.rb +4 -4
  219. data/spec/models/apps_response_entry_spec.rb +4 -4
  220. data/spec/models/apps_response_spec.rb +4 -4
  221. data/spec/models/basic_auth_method_dto_spec.rb +4 -4
  222. data/spec/models/basic_organization_dto_spec.rb +4 -4
  223. data/spec/models/billing_info_spec.rb +4 -4
  224. data/spec/models/charges_details_response_dto_spec.rb +4 -4
  225. data/spec/models/cloud_watch_settings_response_entry_spec.rb +4 -4
  226. data/spec/models/cloud_watch_settings_response_spec.rb +4 -4
  227. data/spec/models/cloud_watch_settings_spec.rb +4 -4
  228. data/spec/models/create_app_info_spec.rb +4 -4
  229. data/spec/models/create_token_dto_spec.rb +4 -4
  230. data/spec/models/daily_dto_spec.rb +18 -6
  231. data/spec/models/day_usage_data_spec.rb +4 -4
  232. data/spec/models/dimension_spec.rb +4 -4
  233. data/spec/models/error_spec.rb +4 -4
  234. data/spec/models/event_dto_spec.rb +5 -5
  235. data/spec/models/filter_value_spec.rb +4 -4
  236. data/spec/models/generic_api_response_spec.rb +4 -4
  237. data/spec/models/generic_map_based_api_response_spec.rb +4 -4
  238. data/spec/models/invitation_spec.rb +4 -4
  239. data/spec/models/invoice_response_entry_spec.rb +4 -4
  240. data/spec/models/invoice_response_spec.rb +4 -4
  241. data/spec/models/invoice_spec.rb +4 -4
  242. data/spec/models/limit_change_event_dto_spec.rb +4 -4
  243. data/spec/models/mail_report_response_response_entry_spec.rb +4 -4
  244. data/spec/models/mail_report_response_spec.rb +4 -4
  245. data/spec/models/min_period_fee_period_spec.rb +16 -4
  246. data/spec/models/notification_integration_spec.rb +4 -4
  247. data/spec/models/notifications_response_entry_spec.rb +4 -4
  248. data/spec/models/notifications_response_spec.rb +4 -4
  249. data/spec/models/plan_spec.rb +5 -5
  250. data/spec/models/plans_response_entry_spec.rb +4 -4
  251. data/spec/models/plans_response_spec.rb +4 -4
  252. data/spec/models/report_info_spec.rb +10 -4
  253. data/spec/models/service_integration_spec.rb +4 -4
  254. data/spec/models/subscription_dashboard_dto_spec.rb +4 -4
  255. data/spec/models/subscription_dto_spec.rb +10 -4
  256. data/spec/models/subscription_response_entry_spec.rb +4 -4
  257. data/spec/models/subscription_response_spec.rb +4 -4
  258. data/spec/models/subscription_spec.rb +10 -4
  259. data/spec/models/subscriptions_response_entry_spec.rb +4 -4
  260. data/spec/models/subscriptions_response_spec.rb +4 -4
  261. data/spec/models/tag_names_response_spec.rb +4 -4
  262. data/spec/models/token_dto_spec.rb +4 -4
  263. data/spec/models/token_response_entry_spec.rb +4 -4
  264. data/spec/models/token_response_spec.rb +4 -4
  265. data/spec/models/tokens_response_entry_spec.rb +4 -4
  266. data/spec/models/tokens_response_spec.rb +4 -4
  267. data/spec/models/update_app_info_spec.rb +4 -4
  268. data/spec/models/update_plan_response_dto_spec.rb +4 -4
  269. data/spec/models/update_plan_response_entry_spec.rb +4 -4
  270. data/spec/models/update_plan_response_spec.rb +4 -4
  271. data/spec/models/update_subscription_dto_spec.rb +4 -4
  272. data/spec/models/update_token_dto_spec.rb +4 -4
  273. data/spec/models/usage_dto_spec.rb +22 -10
  274. data/spec/models/usage_multi_response_entry_spec.rb +4 -4
  275. data/spec/models/usage_multi_response_spec.rb +4 -4
  276. data/spec/models/usage_response_entry_spec.rb +4 -4
  277. data/spec/models/usage_response_spec.rb +4 -4
  278. data/spec/models/user_info_spec.rb +4 -4
  279. data/spec/models/user_permissions_spec.rb +4 -4
  280. data/spec/models/user_role_spec.rb +4 -4
  281. data/spec/spec_helper.rb +2 -2
  282. metadata +55 -121
  283. data/docs/DataSeriesFilter.md +0 -8
  284. data/docs/DataSeriesRequest.md +0 -12
  285. data/docs/MetricsApi.md +0 -227
  286. data/docs/SavedQueriesApi.md +0 -220
  287. data/docs/SavedQuery.md +0 -18
  288. data/lib/SematextCloud/api/metrics_api.rb +0 -247
  289. data/lib/SematextCloud/api/saved_queries_api.rb +0 -237
  290. data/lib/SematextCloud/models/data_series_filter.rb +0 -237
  291. data/lib/SematextCloud/models/data_series_request.rb +0 -283
  292. data/lib/SematextCloud/models/saved_query.rb +0 -291
  293. data/lib/stcloud/api/alert_notifications_api.rb +0 -142
  294. data/lib/stcloud/api/alerts_api.rb +0 -292
  295. data/lib/stcloud/api/apps_api.rb +0 -452
  296. data/lib/stcloud/api/aws_settings_controller_api.rb +0 -84
  297. data/lib/stcloud/api/billing_api.rb +0 -202
  298. data/lib/stcloud/api/logs_app_api.rb +0 -76
  299. data/lib/stcloud/api/monitoring_app_api.rb +0 -76
  300. data/lib/stcloud/api/reset_password_api.rb +0 -76
  301. data/lib/stcloud/api/subscriptions_api.rb +0 -610
  302. data/lib/stcloud/api/tag_api_controller_api.rb +0 -250
  303. data/lib/stcloud/api/tokens_api_controller_api.rb +0 -324
  304. data/lib/stcloud/api_client.rb +0 -388
  305. data/lib/stcloud/api_error.rb +0 -57
  306. data/lib/stcloud/configuration.rb +0 -205
  307. data/lib/stcloud/models/alert_notification_request.rb +0 -235
  308. data/lib/stcloud/models/alert_rule.rb +0 -675
  309. data/lib/stcloud/models/alert_rule_schedule_time_range_dto.rb +0 -215
  310. data/lib/stcloud/models/alert_rule_schedule_weekday_dto.rb +0 -244
  311. data/lib/stcloud/models/app.rb +0 -489
  312. data/lib/stcloud/models/app_description.rb +0 -206
  313. data/lib/stcloud/models/app_metadata.rb +0 -291
  314. data/lib/stcloud/models/apps_response.rb +0 -235
  315. data/lib/stcloud/models/basic_auth_method_dto.rb +0 -249
  316. data/lib/stcloud/models/basic_organization_dto.rb +0 -269
  317. data/lib/stcloud/models/billing_info.rb +0 -224
  318. data/lib/stcloud/models/cloud_watch_settings.rb +0 -279
  319. data/lib/stcloud/models/create_app_info.rb +0 -242
  320. data/lib/stcloud/models/create_token_dto.rb +0 -224
  321. data/lib/stcloud/models/error.rb +0 -215
  322. data/lib/stcloud/models/filter_value.rb +0 -253
  323. data/lib/stcloud/models/generic_api_response.rb +0 -236
  324. data/lib/stcloud/models/invitation.rb +0 -348
  325. data/lib/stcloud/models/invoice_response.rb +0 -235
  326. data/lib/stcloud/models/notification_integration.rb +0 -347
  327. data/lib/stcloud/models/plan.rb +0 -360
  328. data/lib/stcloud/models/report_info.rb +0 -270
  329. data/lib/stcloud/models/service_integration.rb +0 -305
  330. data/lib/stcloud/models/subscription_dashboard_dto.rb +0 -342
  331. data/lib/stcloud/models/subscription_dto.rb +0 -351
  332. data/lib/stcloud/models/tokens_response.rb +0 -235
  333. data/lib/stcloud/models/update_app_info.rb +0 -312
  334. data/lib/stcloud/models/update_subscription_dto.rb +0 -206
  335. data/lib/stcloud/models/update_token_dto.rb +0 -215
  336. data/lib/stcloud/models/user_info.rb +0 -206
  337. data/lib/stcloud/models/user_permissions.rb +0 -224
  338. data/lib/stcloud/models/user_role.rb +0 -270
  339. data/lib/stcloud/version.rb +0 -14
  340. data/lib/stcloud.rb +0 -128
  341. data/spec/api/metrics_api_spec.rb +0 -83
  342. data/spec/api/saved_queries_api_spec.rb +0 -80
  343. data/spec/models/data_series_filter_spec.rb +0 -57
  344. data/spec/models/data_series_request_spec.rb +0 -81
  345. data/spec/models/saved_query_spec.rb +0 -113
@@ -6,13 +6,13 @@
6
6
  OpenAPI spec version: v3
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 3.0.25
9
+ Swagger Codegen version: 3.0.30
10
10
  =end
11
11
 
12
12
  require 'date'
13
13
 
14
- module stcloud
15
- class SubscriptionResponseEntry
14
+ module SematextCloud
15
+ class MailReportResponseResponseEntry
16
16
  attr_accessor :subscription
17
17
 
18
18
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -39,13 +39,13 @@ module stcloud
39
39
  # @param [Hash] attributes Model attributes in the form of hash
40
40
  def initialize(attributes = {})
41
41
  if (!attributes.is_a?(Hash))
42
- fail ArgumentError, "The input argument (attributes) must be a hash in `stcloud::SubscriptionResponseEntry` initialize method"
42
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SematextCloud::MailReportResponseResponseEntry` initialize method"
43
43
  end
44
44
 
45
45
  # check to see if the attribute exists and convert string to symbol for hash key
46
46
  attributes = attributes.each_with_object({}) { |(k, v), h|
47
47
  if (!self.class.attribute_map.key?(k.to_sym))
48
- fail ArgumentError, "`#{k}` is not a valid attribute in `stcloud::SubscriptionResponseEntry`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
48
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SematextCloud::MailReportResponseResponseEntry`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
49
49
  end
50
50
  h[k.to_sym] = v
51
51
  }
@@ -154,7 +154,7 @@ module stcloud
154
154
  end
155
155
  end
156
156
  else # model
157
- stcloud.const_get(type).build_from_hash(value)
157
+ SematextCloud.const_get(type).build_from_hash(value)
158
158
  end
159
159
  end
160
160
 
@@ -6,12 +6,12 @@
6
6
  OpenAPI spec version: v3
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 3.0.25
9
+ Swagger Codegen version: 3.0.30
10
10
  =end
11
11
 
12
12
  require 'date'
13
13
 
14
- module stcloud
14
+ module SematextCloud
15
15
  class MinPeriodFeePeriod
16
16
  attr_accessor :browser_monitors
17
17
 
@@ -23,12 +23,16 @@ module stcloud
23
23
 
24
24
  attr_accessor :id
25
25
 
26
+ attr_accessor :ingestion_period_fee_amount
27
+
26
28
  attr_accessor :min_period_fee_amount
27
29
 
28
30
  attr_accessor :overage_percentage
29
31
 
30
32
  attr_accessor :plan_data_limit
31
33
 
34
+ attr_accessor :storage_period_fee_amount
35
+
32
36
  attr_accessor :to_date
33
37
 
34
38
  attr_accessor :used_plan
@@ -43,9 +47,11 @@ module stcloud
43
47
  :'from_date' => :'fromDate',
44
48
  :'http_monitors' => :'httpMonitors',
45
49
  :'id' => :'id',
50
+ :'ingestion_period_fee_amount' => :'ingestionPeriodFeeAmount',
46
51
  :'min_period_fee_amount' => :'minPeriodFeeAmount',
47
52
  :'overage_percentage' => :'overagePercentage',
48
53
  :'plan_data_limit' => :'planDataLimit',
54
+ :'storage_period_fee_amount' => :'storagePeriodFeeAmount',
49
55
  :'to_date' => :'toDate',
50
56
  :'used_plan' => :'usedPlan',
51
57
  :'used_plan_period_fee' => :'usedPlanPeriodFee'
@@ -60,9 +66,11 @@ module stcloud
60
66
  :'from_date' => :'Object',
61
67
  :'http_monitors' => :'Object',
62
68
  :'id' => :'Object',
69
+ :'ingestion_period_fee_amount' => :'Object',
63
70
  :'min_period_fee_amount' => :'Object',
64
71
  :'overage_percentage' => :'Object',
65
72
  :'plan_data_limit' => :'Object',
73
+ :'storage_period_fee_amount' => :'Object',
66
74
  :'to_date' => :'Object',
67
75
  :'used_plan' => :'Object',
68
76
  :'used_plan_period_fee' => :'Object'
@@ -79,13 +87,13 @@ module stcloud
79
87
  # @param [Hash] attributes Model attributes in the form of hash
80
88
  def initialize(attributes = {})
81
89
  if (!attributes.is_a?(Hash))
82
- fail ArgumentError, "The input argument (attributes) must be a hash in `stcloud::MinPeriodFeePeriod` initialize method"
90
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SematextCloud::MinPeriodFeePeriod` initialize method"
83
91
  end
84
92
 
85
93
  # check to see if the attribute exists and convert string to symbol for hash key
86
94
  attributes = attributes.each_with_object({}) { |(k, v), h|
87
95
  if (!self.class.attribute_map.key?(k.to_sym))
88
- fail ArgumentError, "`#{k}` is not a valid attribute in `stcloud::MinPeriodFeePeriod`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
96
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SematextCloud::MinPeriodFeePeriod`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
89
97
  end
90
98
  h[k.to_sym] = v
91
99
  }
@@ -110,6 +118,10 @@ module stcloud
110
118
  self.id = attributes[:'id']
111
119
  end
112
120
 
121
+ if attributes.key?(:'ingestion_period_fee_amount')
122
+ self.ingestion_period_fee_amount = attributes[:'ingestion_period_fee_amount']
123
+ end
124
+
113
125
  if attributes.key?(:'min_period_fee_amount')
114
126
  self.min_period_fee_amount = attributes[:'min_period_fee_amount']
115
127
  end
@@ -122,6 +134,10 @@ module stcloud
122
134
  self.plan_data_limit = attributes[:'plan_data_limit']
123
135
  end
124
136
 
137
+ if attributes.key?(:'storage_period_fee_amount')
138
+ self.storage_period_fee_amount = attributes[:'storage_period_fee_amount']
139
+ end
140
+
125
141
  if attributes.key?(:'to_date')
126
142
  self.to_date = attributes[:'to_date']
127
143
  end
@@ -158,9 +174,11 @@ module stcloud
158
174
  from_date == o.from_date &&
159
175
  http_monitors == o.http_monitors &&
160
176
  id == o.id &&
177
+ ingestion_period_fee_amount == o.ingestion_period_fee_amount &&
161
178
  min_period_fee_amount == o.min_period_fee_amount &&
162
179
  overage_percentage == o.overage_percentage &&
163
180
  plan_data_limit == o.plan_data_limit &&
181
+ storage_period_fee_amount == o.storage_period_fee_amount &&
164
182
  to_date == o.to_date &&
165
183
  used_plan == o.used_plan &&
166
184
  used_plan_period_fee == o.used_plan_period_fee
@@ -175,7 +193,7 @@ module stcloud
175
193
  # Calculates hash code according to all attributes.
176
194
  # @return [Integer] Hash code
177
195
  def hash
178
- [browser_monitors, discount, from_date, http_monitors, id, min_period_fee_amount, overage_percentage, plan_data_limit, to_date, used_plan, used_plan_period_fee].hash
196
+ [browser_monitors, discount, from_date, http_monitors, id, ingestion_period_fee_amount, min_period_fee_amount, overage_percentage, plan_data_limit, storage_period_fee_amount, to_date, used_plan, used_plan_period_fee].hash
179
197
  end
180
198
 
181
199
  # Builds the object from hash
@@ -244,7 +262,7 @@ module stcloud
244
262
  end
245
263
  end
246
264
  else # model
247
- stcloud.const_get(type).build_from_hash(value)
265
+ SematextCloud.const_get(type).build_from_hash(value)
248
266
  end
249
267
  end
250
268
 
@@ -6,8 +6,7 @@
6
6
  OpenAPI spec version: v3
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.12
10
-
9
+ Swagger Codegen version: 3.0.30
11
10
  =end
12
11
 
13
12
  require 'date'
@@ -73,69 +72,82 @@ module SematextCloud
73
72
  end
74
73
 
75
74
  # Attribute type mapping.
76
- def self.swagger_types
75
+ def self.openapi_types
77
76
  {
78
- :'applicability' => :'String',
79
- :'create_date' => :'DateTime',
80
- :'created_by_owner' => :'BOOLEAN',
81
- :'creator_id' => :'Integer',
82
- :'id' => :'Integer',
83
- :'integration_type' => :'String',
84
- :'name' => :'String',
85
- :'params' => :'Hash<String, String>',
86
- :'state' => :'String',
87
- :'user_id' => :'Integer'
77
+ :'applicability' => :'Object',
78
+ :'create_date' => :'Object',
79
+ :'created_by_owner' => :'Object',
80
+ :'creator_id' => :'Object',
81
+ :'id' => :'Object',
82
+ :'integration_type' => :'Object',
83
+ :'name' => :'Object',
84
+ :'params' => :'Object',
85
+ :'state' => :'Object',
86
+ :'user_id' => :'Object'
88
87
  }
89
88
  end
90
89
 
90
+ # List of attributes with nullable: true
91
+ def self.openapi_nullable
92
+ Set.new([
93
+ ])
94
+ end
95
+
91
96
  # Initializes the object
92
97
  # @param [Hash] attributes Model attributes in the form of hash
93
98
  def initialize(attributes = {})
94
- return unless attributes.is_a?(Hash)
99
+ if (!attributes.is_a?(Hash))
100
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SematextCloud::NotificationIntegration` initialize method"
101
+ end
95
102
 
96
- # convert string to symbol for hash key
97
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
103
+ # check to see if the attribute exists and convert string to symbol for hash key
104
+ attributes = attributes.each_with_object({}) { |(k, v), h|
105
+ if (!self.class.attribute_map.key?(k.to_sym))
106
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SematextCloud::NotificationIntegration`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
107
+ end
108
+ h[k.to_sym] = v
109
+ }
98
110
 
99
- if attributes.has_key?(:'applicability')
111
+ if attributes.key?(:'applicability')
100
112
  self.applicability = attributes[:'applicability']
101
113
  end
102
114
 
103
- if attributes.has_key?(:'createDate')
104
- self.create_date = attributes[:'createDate']
115
+ if attributes.key?(:'create_date')
116
+ self.create_date = attributes[:'create_date']
105
117
  end
106
118
 
107
- if attributes.has_key?(:'createdByOwner')
108
- self.created_by_owner = attributes[:'createdByOwner']
119
+ if attributes.key?(:'created_by_owner')
120
+ self.created_by_owner = attributes[:'created_by_owner']
109
121
  end
110
122
 
111
- if attributes.has_key?(:'creatorId')
112
- self.creator_id = attributes[:'creatorId']
123
+ if attributes.key?(:'creator_id')
124
+ self.creator_id = attributes[:'creator_id']
113
125
  end
114
126
 
115
- if attributes.has_key?(:'id')
127
+ if attributes.key?(:'id')
116
128
  self.id = attributes[:'id']
117
129
  end
118
130
 
119
- if attributes.has_key?(:'integrationType')
120
- self.integration_type = attributes[:'integrationType']
131
+ if attributes.key?(:'integration_type')
132
+ self.integration_type = attributes[:'integration_type']
121
133
  end
122
134
 
123
- if attributes.has_key?(:'name')
135
+ if attributes.key?(:'name')
124
136
  self.name = attributes[:'name']
125
137
  end
126
138
 
127
- if attributes.has_key?(:'params')
139
+ if attributes.key?(:'params')
128
140
  if (value = attributes[:'params']).is_a?(Hash)
129
141
  self.params = value
130
142
  end
131
143
  end
132
144
 
133
- if attributes.has_key?(:'state')
145
+ if attributes.key?(:'state')
134
146
  self.state = attributes[:'state']
135
147
  end
136
148
 
137
- if attributes.has_key?(:'userId')
138
- self.user_id = attributes[:'userId']
149
+ if attributes.key?(:'user_id')
150
+ self.user_id = attributes[:'user_id']
139
151
  end
140
152
  end
141
153
 
@@ -149,11 +161,11 @@ module SematextCloud
149
161
  # Check to see if the all the properties in the model are valid
150
162
  # @return true if the model is valid
151
163
  def valid?
152
- applicability_validator = EnumAttributeValidator.new('String', ['NONE', 'USE_ALWAYS'])
164
+ applicability_validator = EnumAttributeValidator.new('Object', ['NONE', 'USE_ALWAYS'])
153
165
  return false unless applicability_validator.valid?(@applicability)
154
- integration_type_validator = EnumAttributeValidator.new('String', ['PAGER_DUTY', 'NAGIOS', 'WEB_HOOKS', 'WEB_HOOKS_TEMPLATE', 'HIP_CHAT', 'EMAIL_LIST', 'TEMPORARY_EMAIL_LIST'])
166
+ integration_type_validator = EnumAttributeValidator.new('Object', ['PAGER_DUTY', 'NAGIOS', 'WEB_HOOKS', 'WEB_HOOKS_TEMPLATE', 'HIP_CHAT', 'EMAIL_LIST', 'TEMPORARY_EMAIL_LIST'])
155
167
  return false unless integration_type_validator.valid?(@integration_type)
156
- state_validator = EnumAttributeValidator.new('String', ['ACTIVE', 'DISABLED', 'DELETED'])
168
+ state_validator = EnumAttributeValidator.new('Object', ['ACTIVE', 'DISABLED', 'DELETED'])
157
169
  return false unless state_validator.valid?(@state)
158
170
  true
159
171
  end
@@ -161,9 +173,9 @@ module SematextCloud
161
173
  # Custom attribute writer method checking allowed values (enum).
162
174
  # @param [Object] applicability Object to be assigned
163
175
  def applicability=(applicability)
164
- validator = EnumAttributeValidator.new('String', ['NONE', 'USE_ALWAYS'])
176
+ validator = EnumAttributeValidator.new('Object', ['NONE', 'USE_ALWAYS'])
165
177
  unless validator.valid?(applicability)
166
- fail ArgumentError, 'invalid value for "applicability", must be one of #{validator.allowable_values}.'
178
+ fail ArgumentError, "invalid value for \"applicability\", must be one of #{validator.allowable_values}."
167
179
  end
168
180
  @applicability = applicability
169
181
  end
@@ -171,9 +183,9 @@ module SematextCloud
171
183
  # Custom attribute writer method checking allowed values (enum).
172
184
  # @param [Object] integration_type Object to be assigned
173
185
  def integration_type=(integration_type)
174
- validator = EnumAttributeValidator.new('String', ['PAGER_DUTY', 'NAGIOS', 'WEB_HOOKS', 'WEB_HOOKS_TEMPLATE', 'HIP_CHAT', 'EMAIL_LIST', 'TEMPORARY_EMAIL_LIST'])
186
+ validator = EnumAttributeValidator.new('Object', ['PAGER_DUTY', 'NAGIOS', 'WEB_HOOKS', 'WEB_HOOKS_TEMPLATE', 'HIP_CHAT', 'EMAIL_LIST', 'TEMPORARY_EMAIL_LIST'])
175
187
  unless validator.valid?(integration_type)
176
- fail ArgumentError, 'invalid value for "integration_type", must be one of #{validator.allowable_values}.'
188
+ fail ArgumentError, "invalid value for \"integration_type\", must be one of #{validator.allowable_values}."
177
189
  end
178
190
  @integration_type = integration_type
179
191
  end
@@ -181,9 +193,9 @@ module SematextCloud
181
193
  # Custom attribute writer method checking allowed values (enum).
182
194
  # @param [Object] state Object to be assigned
183
195
  def state=(state)
184
- validator = EnumAttributeValidator.new('String', ['ACTIVE', 'DISABLED', 'DELETED'])
196
+ validator = EnumAttributeValidator.new('Object', ['ACTIVE', 'DISABLED', 'DELETED'])
185
197
  unless validator.valid?(state)
186
- fail ArgumentError, 'invalid value for "state", must be one of #{validator.allowable_values}.'
198
+ fail ArgumentError, "invalid value for \"state\", must be one of #{validator.allowable_values}."
187
199
  end
188
200
  @state = state
189
201
  end
@@ -212,26 +224,35 @@ module SematextCloud
212
224
  end
213
225
 
214
226
  # Calculates hash code according to all attributes.
215
- # @return [Fixnum] Hash code
227
+ # @return [Integer] Hash code
216
228
  def hash
217
229
  [applicability, create_date, created_by_owner, creator_id, id, integration_type, name, params, state, user_id].hash
218
230
  end
219
231
 
232
+ # Builds the object from hash
233
+ # @param [Hash] attributes Model attributes in the form of hash
234
+ # @return [Object] Returns the model itself
235
+ def self.build_from_hash(attributes)
236
+ new.build_from_hash(attributes)
237
+ end
238
+
220
239
  # Builds the object from hash
221
240
  # @param [Hash] attributes Model attributes in the form of hash
222
241
  # @return [Object] Returns the model itself
223
242
  def build_from_hash(attributes)
224
243
  return nil unless attributes.is_a?(Hash)
225
- self.class.swagger_types.each_pair do |key, type|
244
+ self.class.openapi_types.each_pair do |key, type|
226
245
  if type =~ /\AArray<(.*)>/i
227
- # check to ensure the input is an array given that the the attribute
246
+ # check to ensure the input is an array given that the attribute
228
247
  # is documented as an array but the input is not
229
248
  if attributes[self.class.attribute_map[key]].is_a?(Array)
230
249
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
231
250
  end
232
251
  elsif !attributes[self.class.attribute_map[key]].nil?
233
252
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
234
- end # or else data not found in attributes(hash), not an issue as the data can be optional
253
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
254
+ self.send("#{key}=", nil)
255
+ end
235
256
  end
236
257
 
237
258
  self
@@ -253,7 +274,7 @@ module SematextCloud
253
274
  value.to_i
254
275
  when :Float
255
276
  value.to_f
256
- when :BOOLEAN
277
+ when :Boolean
257
278
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
258
279
  true
259
280
  else
@@ -274,8 +295,7 @@ module SematextCloud
274
295
  end
275
296
  end
276
297
  else # model
277
- temp_model = SematextCloud.const_get(type).new
278
- temp_model.build_from_hash(value)
298
+ SematextCloud.const_get(type).build_from_hash(value)
279
299
  end
280
300
  end
281
301
 
@@ -297,7 +317,11 @@ module SematextCloud
297
317
  hash = {}
298
318
  self.class.attribute_map.each_pair do |attr, param|
299
319
  value = self.send(attr)
300
- next if value.nil?
320
+ if value.nil?
321
+ is_nullable = self.class.openapi_nullable.include?(attr)
322
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
323
+ end
324
+
301
325
  hash[param] = _to_hash(value)
302
326
  end
303
327
  hash
@@ -319,6 +343,5 @@ module SematextCloud
319
343
  else
320
344
  value
321
345
  end
322
- end
323
- end
346
+ end end
324
347
  end
@@ -0,0 +1,235 @@
1
+ =begin
2
+ #Sematext Cloud API
3
+
4
+ #API Explorer provides access and documentation for Sematext REST API. The REST API requires the API Key to be sent as part of `Authorization` header. E.g.: `Authorization : apiKey e5f18450-205a-48eb-8589-7d49edaea813`.
5
+
6
+ OpenAPI spec version: v3
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 3.0.30
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module SematextCloud
15
+ class NotificationsResponse
16
+ attr_accessor :data
17
+
18
+ attr_accessor :errors
19
+
20
+ attr_accessor :message
21
+
22
+ attr_accessor :success
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'data' => :'data',
28
+ :'errors' => :'errors',
29
+ :'message' => :'message',
30
+ :'success' => :'success'
31
+ }
32
+ end
33
+
34
+ # Attribute type mapping.
35
+ def self.openapi_types
36
+ {
37
+ :'data' => :'Object',
38
+ :'errors' => :'Object',
39
+ :'message' => :'Object',
40
+ :'success' => :'Object'
41
+ }
42
+ end
43
+
44
+ # List of attributes with nullable: true
45
+ def self.openapi_nullable
46
+ Set.new([
47
+ ])
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param [Hash] attributes Model attributes in the form of hash
52
+ def initialize(attributes = {})
53
+ if (!attributes.is_a?(Hash))
54
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SematextCloud::NotificationsResponse` initialize method"
55
+ end
56
+
57
+ # check to see if the attribute exists and convert string to symbol for hash key
58
+ attributes = attributes.each_with_object({}) { |(k, v), h|
59
+ if (!self.class.attribute_map.key?(k.to_sym))
60
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SematextCloud::NotificationsResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
61
+ end
62
+ h[k.to_sym] = v
63
+ }
64
+
65
+ if attributes.key?(:'data')
66
+ self.data = attributes[:'data']
67
+ end
68
+
69
+ if attributes.key?(:'errors')
70
+ if (value = attributes[:'errors']).is_a?(Array)
71
+ self.errors = value
72
+ end
73
+ end
74
+
75
+ if attributes.key?(:'message')
76
+ self.message = attributes[:'message']
77
+ end
78
+
79
+ if attributes.key?(:'success')
80
+ self.success = attributes[:'success']
81
+ end
82
+ end
83
+
84
+ # Show invalid properties with the reasons. Usually used together with valid?
85
+ # @return Array for valid properties with the reasons
86
+ def list_invalid_properties
87
+ invalid_properties = Array.new
88
+ invalid_properties
89
+ end
90
+
91
+ # Check to see if the all the properties in the model are valid
92
+ # @return true if the model is valid
93
+ def valid?
94
+ true
95
+ end
96
+
97
+ # Checks equality by comparing each attribute.
98
+ # @param [Object] Object to be compared
99
+ def ==(o)
100
+ return true if self.equal?(o)
101
+ self.class == o.class &&
102
+ data == o.data &&
103
+ errors == o.errors &&
104
+ message == o.message &&
105
+ success == o.success
106
+ end
107
+
108
+ # @see the `==` method
109
+ # @param [Object] Object to be compared
110
+ def eql?(o)
111
+ self == o
112
+ end
113
+
114
+ # Calculates hash code according to all attributes.
115
+ # @return [Integer] Hash code
116
+ def hash
117
+ [data, errors, message, success].hash
118
+ end
119
+
120
+ # Builds the object from hash
121
+ # @param [Hash] attributes Model attributes in the form of hash
122
+ # @return [Object] Returns the model itself
123
+ def self.build_from_hash(attributes)
124
+ new.build_from_hash(attributes)
125
+ end
126
+
127
+ # Builds the object from hash
128
+ # @param [Hash] attributes Model attributes in the form of hash
129
+ # @return [Object] Returns the model itself
130
+ def build_from_hash(attributes)
131
+ return nil unless attributes.is_a?(Hash)
132
+ self.class.openapi_types.each_pair do |key, type|
133
+ if type =~ /\AArray<(.*)>/i
134
+ # check to ensure the input is an array given that the attribute
135
+ # is documented as an array but the input is not
136
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
137
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
138
+ end
139
+ elsif !attributes[self.class.attribute_map[key]].nil?
140
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
141
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
142
+ self.send("#{key}=", nil)
143
+ end
144
+ end
145
+
146
+ self
147
+ end
148
+
149
+ # Deserializes the data based on type
150
+ # @param string type Data type
151
+ # @param string value Value to be deserialized
152
+ # @return [Object] Deserialized data
153
+ def _deserialize(type, value)
154
+ case type.to_sym
155
+ when :DateTime
156
+ DateTime.parse(value)
157
+ when :Date
158
+ Date.parse(value)
159
+ when :String
160
+ value.to_s
161
+ when :Integer
162
+ value.to_i
163
+ when :Float
164
+ value.to_f
165
+ when :Boolean
166
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
167
+ true
168
+ else
169
+ false
170
+ end
171
+ when :Object
172
+ # generic object (usually a Hash), return directly
173
+ value
174
+ when /\AArray<(?<inner_type>.+)>\z/
175
+ inner_type = Regexp.last_match[:inner_type]
176
+ value.map { |v| _deserialize(inner_type, v) }
177
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
178
+ k_type = Regexp.last_match[:k_type]
179
+ v_type = Regexp.last_match[:v_type]
180
+ {}.tap do |hash|
181
+ value.each do |k, v|
182
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
183
+ end
184
+ end
185
+ else # model
186
+ SematextCloud.const_get(type).build_from_hash(value)
187
+ end
188
+ end
189
+
190
+ # Returns the string representation of the object
191
+ # @return [String] String presentation of the object
192
+ def to_s
193
+ to_hash.to_s
194
+ end
195
+
196
+ # to_body is an alias to to_hash (backward compatibility)
197
+ # @return [Hash] Returns the object in the form of hash
198
+ def to_body
199
+ to_hash
200
+ end
201
+
202
+ # Returns the object in the form of hash
203
+ # @return [Hash] Returns the object in the form of hash
204
+ def to_hash
205
+ hash = {}
206
+ self.class.attribute_map.each_pair do |attr, param|
207
+ value = self.send(attr)
208
+ if value.nil?
209
+ is_nullable = self.class.openapi_nullable.include?(attr)
210
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
211
+ end
212
+
213
+ hash[param] = _to_hash(value)
214
+ end
215
+ hash
216
+ end
217
+
218
+ # Outputs non-array value in the form of hash
219
+ # For object, use to_hash. Otherwise, just return the value
220
+ # @param [Object] value Any valid value
221
+ # @return [Hash] Returns the value in the form of hash
222
+ def _to_hash(value)
223
+ if value.is_a?(Array)
224
+ value.compact.map { |v| _to_hash(v) }
225
+ elsif value.is_a?(Hash)
226
+ {}.tap do |hash|
227
+ value.each { |k, v| hash[k] = _to_hash(v) }
228
+ end
229
+ elsif value.respond_to? :to_hash
230
+ value.to_hash
231
+ else
232
+ value
233
+ end
234
+ end end
235
+ end