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