purecloud 0.54.1 → 0.55.1

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 (286) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/config-ruby.json +1 -1
  4. data/doc_out/ADFS.html.md +1 -1
  5. data/doc_out/AgentActivityEntityListing.html.md +2 -2
  6. data/doc_out/AggregationQuery.html.md +1 -0
  7. data/doc_out/AnalyticsParticipant.html.md +2 -0
  8. data/doc_out/AnalyticsQueryClause.html.md +2 -2
  9. data/doc_out/AnalyticsQueryFilter.html.md +1 -1
  10. data/doc_out/AttemptLimitsEntityListing.html.md +2 -2
  11. data/doc_out/AttributeEntityListing.html.md +2 -2
  12. data/doc_out/AuthorizationApi.html.md +2 -2
  13. data/doc_out/CalibrationEntityListing.html.md +2 -2
  14. data/doc_out/CallConversationEntityListing.html.md +2 -2
  15. data/doc_out/CallableTimeSetEntityListing.html.md +2 -2
  16. data/doc_out/CallbackConversationEntityListing.html.md +2 -2
  17. data/doc_out/CampaignEntityListing.html.md +2 -2
  18. data/doc_out/CampaignSequenceEntityListing.html.md +2 -2
  19. data/doc_out/CertificateAuthorityEntityListing.html.md +2 -2
  20. data/doc_out/ChannelEntityListing.html.md +2 -2
  21. data/doc_out/ChatConversationEntityListing.html.md +2 -2
  22. data/doc_out/CobrowseConversationEntityListing.html.md +2 -2
  23. data/doc_out/CommandStatusEntityListing.html.md +2 -2
  24. data/doc_out/ContactListEntityListing.html.md +2 -2
  25. data/doc_out/ConversationEntityListing.html.md +2 -2
  26. data/doc_out/ConversationsApi.html.md +65 -0
  27. data/doc_out/CustomerInteractionCenter.html.md +1 -1
  28. data/doc_out/DIDEntityListing.html.md +2 -2
  29. data/doc_out/DIDPoolEntityListing.html.md +2 -2
  30. data/doc_out/DncListEntityListing.html.md +2 -2
  31. data/doc_out/DocumentAuditEntityListing.html.md +2 -2
  32. data/doc_out/DocumentEntityListing.html.md +2 -2
  33. data/doc_out/DomainEdgeSoftwareVersionDtoEntityListing.html.md +2 -2
  34. data/doc_out/DomainEntityListing.html.md +2 -2
  35. data/doc_out/DomainEntityListingEvaluationForm.html.md +2 -2
  36. data/doc_out/DomainEntityListingQueryResult.html.md +2 -2
  37. data/doc_out/DomainOrganizationRole.html.md +2 -2
  38. data/doc_out/DomainOrganizationRoleCreate.html.md +2 -2
  39. data/doc_out/DomainOrganizationRoleUpdate.html.md +23 -0
  40. data/doc_out/EdgeEntityListing.html.md +2 -2
  41. data/doc_out/EdgeGroupEntityListing.html.md +2 -2
  42. data/doc_out/EdgeLineEntityListing.html.md +2 -2
  43. data/doc_out/EmailConversationEntityListing.html.md +2 -2
  44. data/doc_out/EmailMessageListing.html.md +2 -2
  45. data/doc_out/EncryptionKeyEntityListing.html.md +2 -2
  46. data/doc_out/EndpointEntityListing.html.md +2 -2
  47. data/doc_out/EvaluationEntityListing.html.md +2 -2
  48. data/doc_out/EvaluationFormEntityListing.html.md +2 -2
  49. data/doc_out/EvaluatorActivityEntityListing.html.md +2 -2
  50. data/doc_out/ExtensionEntityListing.html.md +2 -2
  51. data/doc_out/ExtensionPoolEntityListing.html.md +2 -2
  52. data/doc_out/FaxDocumentEntityListing.html.md +2 -2
  53. data/doc_out/FieldConfig.html.md +20 -0
  54. data/doc_out/FieldList.html.md +21 -0
  55. data/doc_out/Forecast.html.md +16 -0
  56. data/doc_out/ForecastCreation.html.md +17 -0
  57. data/doc_out/ForecastCreationCompletion.html.md +14 -0
  58. data/doc_out/ForecastDimensions.html.md +15 -0
  59. data/doc_out/ForecastEntry.html.md +15 -0
  60. data/doc_out/ForecastFilterAttributes.html.md +15 -0
  61. data/doc_out/ForecastMetadata.html.md +22 -0
  62. data/doc_out/ForecastMetadataEntityListing.html.md +22 -0
  63. data/doc_out/ForecastModification.html.md +27 -0
  64. data/doc_out/ForecastModificationCreation.html.md +25 -0
  65. data/doc_out/ForecastSearchCriteria.html.md +20 -0
  66. data/doc_out/ForecastSearchRequest.html.md +20 -0
  67. data/doc_out/GroupEntityListing.html.md +2 -2
  68. data/doc_out/GroupsApi.html.md +57 -0
  69. data/doc_out/HeartBeatAlertContainer.html.md +2 -2
  70. data/doc_out/HeartBeatRuleContainer.html.md +2 -2
  71. data/doc_out/InboundDomainEntityListing.html.md +2 -2
  72. data/doc_out/InboundRouteEntityListing.html.md +2 -2
  73. data/doc_out/InteractionStatsAlertContainer.html.md +2 -2
  74. data/doc_out/InteractionStatsRuleContainer.html.md +2 -2
  75. data/doc_out/JsonNode.html.md +4 -4
  76. data/doc_out/KeywordSetEntityListing.html.md +2 -2
  77. data/doc_out/LanguageEntityListing.html.md +2 -2
  78. data/doc_out/LibraryEntityListing.html.md +2 -2
  79. data/doc_out/LineBaseEntityListing.html.md +2 -2
  80. data/doc_out/LineEntityListing.html.md +2 -2
  81. data/doc_out/LogicalInterfaceEntityListing.html.md +2 -2
  82. data/doc_out/OAuthClientEntityListing.html.md +2 -2
  83. data/doc_out/OAuthProviderEntityListing.html.md +2 -2
  84. data/doc_out/ObservationQuery.html.md +1 -1
  85. data/doc_out/Okta.html.md +1 -1
  86. data/doc_out/OneLogin.html.md +1 -1
  87. data/doc_out/OrganizationApi.html.md +57 -0
  88. data/doc_out/OrganizationPresenceEntityListing.html.md +2 -2
  89. data/doc_out/OrganizationRoleEntityListing.html.md +2 -2
  90. data/doc_out/OrphanRecordingListing.html.md +2 -2
  91. data/doc_out/OutboundRouteEntityListing.html.md +2 -2
  92. data/doc_out/PagingSpec.html.md +2 -2
  93. data/doc_out/PermissionCollectionEntityListing.html.md +2 -2
  94. data/doc_out/Phone.html.md +1 -0
  95. data/doc_out/PhoneBaseEntityListing.html.md +2 -2
  96. data/doc_out/PhoneEntityListing.html.md +2 -2
  97. data/doc_out/PhoneMetaBaseEntityListing.html.md +2 -2
  98. data/doc_out/PhoneStatus.html.md +1 -0
  99. data/doc_out/PhysicalInterfaceEntityListing.html.md +2 -2
  100. data/doc_out/PolicyEntityListing.html.md +2 -2
  101. data/doc_out/PropertyIndexRequest.html.md +2 -2
  102. data/doc_out/QualityAuditPage.html.md +2 -2
  103. data/doc_out/QueueEntityListing.html.md +2 -2
  104. data/doc_out/QueueMemberEntityListing.html.md +2 -2
  105. data/doc_out/ReportMetaDataEntityListing.html.md +2 -2
  106. data/doc_out/ReportRunEntryEntityDomainListing.html.md +2 -2
  107. data/doc_out/ReportScheduleEntityListing.html.md +2 -2
  108. data/doc_out/ResponseEntityList.html.md +2 -2
  109. data/doc_out/ResponseEntityListing.html.md +2 -2
  110. data/doc_out/ResponseSetEntityListing.html.md +2 -2
  111. data/doc_out/RuleSetEntityListing.html.md +2 -2
  112. data/doc_out/Salesforce.html.md +1 -1
  113. data/doc_out/SchemaCategoryEntityListing.html.md +2 -2
  114. data/doc_out/SchemaReferenceEntityListing.html.md +2 -2
  115. data/doc_out/ScreenRecordingSessionListing.html.md +2 -2
  116. data/doc_out/Section.html.md +16 -0
  117. data/doc_out/SecurityProfileEntityListing.html.md +2 -2
  118. data/doc_out/ShareEntityListing.html.md +2 -2
  119. data/doc_out/SiteEntityListing.html.md +2 -2
  120. data/doc_out/SkillEntityListing.html.md +2 -2
  121. data/doc_out/SocialExpression.html.md +1 -1
  122. data/doc_out/StationEntityListing.html.md +2 -2
  123. data/doc_out/TagValueEntityListing.html.md +2 -2
  124. data/doc_out/TelephonyProvidersEdgeApi.html.md +2 -2
  125. data/doc_out/TimeZoneEntityListing.html.md +2 -2
  126. data/doc_out/TrunkBaseEntityListing.html.md +22 -0
  127. data/doc_out/TrunkEntityListing.html.md +2 -2
  128. data/doc_out/TrunkMetabaseEntityListing.html.md +2 -2
  129. data/doc_out/UserAgentInfo.html.md +15 -0
  130. data/doc_out/UserEntityListing.html.md +2 -2
  131. data/doc_out/UserQueueEntityListing.html.md +2 -2
  132. data/doc_out/UserRecordingEntityListing.html.md +2 -2
  133. data/doc_out/UserSkillEntityListing.html.md +2 -2
  134. data/doc_out/UsersApi.html.md +57 -0
  135. data/doc_out/UsersEntityListing.html.md +2 -2
  136. data/doc_out/WorkforceManagementApi.html.md +463 -0
  137. data/doc_out/Workspace.html.md +1 -1
  138. data/doc_out/WorkspaceEntityListing.html.md +2 -2
  139. data/doc_out/WorkspaceMember.html.md +1 -1
  140. data/doc_out/WorkspaceMemberEntityListing.html.md +2 -2
  141. data/doc_out/WrapupCodeEntityListing.html.md +2 -2
  142. data/doc_out/index.html.md +3 -3
  143. data/lib/purecloud.rb +18 -0
  144. data/lib/purecloud/api/conversations_api.rb +74 -0
  145. data/lib/purecloud/api/groups_api.rb +64 -0
  146. data/lib/purecloud/api/organization_api.rb +64 -0
  147. data/lib/purecloud/api/telephony_providers_edge_api.rb +3 -3
  148. data/lib/purecloud/api/users_api.rb +64 -0
  149. data/lib/purecloud/api/workforce_management_api.rb +493 -0
  150. data/lib/purecloud/api_client.rb +1 -1
  151. data/lib/purecloud/models/adfs.rb +11 -11
  152. data/lib/purecloud/models/agent_activity_entity_listing.rb +21 -21
  153. data/lib/purecloud/models/aggregation_query.rb +12 -1
  154. data/lib/purecloud/models/analytics_participant.rb +21 -1
  155. data/lib/purecloud/models/analytics_query_clause.rb +1 -0
  156. data/lib/purecloud/models/analytics_query_filter.rb +1 -0
  157. data/lib/purecloud/models/analytics_query_predicate.rb +1 -1
  158. data/lib/purecloud/models/analytics_session.rb +1 -1
  159. data/lib/purecloud/models/attempt_limits_entity_listing.rb +21 -21
  160. data/lib/purecloud/models/attribute_entity_listing.rb +21 -21
  161. data/lib/purecloud/models/calibration_entity_listing.rb +21 -21
  162. data/lib/purecloud/models/call_conversation_entity_listing.rb +21 -21
  163. data/lib/purecloud/models/callable_time_set_entity_listing.rb +21 -21
  164. data/lib/purecloud/models/callback_conversation_entity_listing.rb +21 -21
  165. data/lib/purecloud/models/campaign_entity_listing.rb +21 -21
  166. data/lib/purecloud/models/campaign_sequence_entity_listing.rb +21 -21
  167. data/lib/purecloud/models/certificate_authority_entity_listing.rb +21 -21
  168. data/lib/purecloud/models/channel_entity_listing.rb +21 -21
  169. data/lib/purecloud/models/chat_conversation_entity_listing.rb +21 -21
  170. data/lib/purecloud/models/cobrowse_conversation_entity_listing.rb +21 -21
  171. data/lib/purecloud/models/command_status_entity_listing.rb +21 -21
  172. data/lib/purecloud/models/contact_list_entity_listing.rb +21 -21
  173. data/lib/purecloud/models/conversation_entity_listing.rb +21 -21
  174. data/lib/purecloud/models/customer_interaction_center.rb +11 -11
  175. data/lib/purecloud/models/did_entity_listing.rb +21 -21
  176. data/lib/purecloud/models/did_pool_entity_listing.rb +21 -21
  177. data/lib/purecloud/models/dnc_list_entity_listing.rb +21 -21
  178. data/lib/purecloud/models/document_audit_entity_listing.rb +21 -21
  179. data/lib/purecloud/models/document_entity_listing.rb +21 -21
  180. data/lib/purecloud/models/domain_edge_software_version_dto_entity_listing.rb +21 -21
  181. data/lib/purecloud/models/domain_entity_listing.rb +21 -21
  182. data/lib/purecloud/models/domain_entity_listing_evaluation_form.rb +21 -21
  183. data/lib/purecloud/models/domain_entity_listing_query_result.rb +21 -21
  184. data/lib/purecloud/models/domain_organization_role.rb +14 -13
  185. data/lib/purecloud/models/domain_organization_role_create.rb +14 -13
  186. data/lib/purecloud/models/domain_organization_role_update.rb +279 -0
  187. data/lib/purecloud/models/edge_entity_listing.rb +21 -21
  188. data/lib/purecloud/models/edge_group_entity_listing.rb +21 -21
  189. data/lib/purecloud/models/edge_line_entity_listing.rb +21 -21
  190. data/lib/purecloud/models/email_conversation_entity_listing.rb +21 -21
  191. data/lib/purecloud/models/email_message_listing.rb +21 -21
  192. data/lib/purecloud/models/encryption_key_entity_listing.rb +21 -21
  193. data/lib/purecloud/models/endpoint_entity_listing.rb +21 -21
  194. data/lib/purecloud/models/evaluation_entity_listing.rb +21 -21
  195. data/lib/purecloud/models/evaluation_form_entity_listing.rb +21 -21
  196. data/lib/purecloud/models/evaluator_activity_entity_listing.rb +21 -21
  197. data/lib/purecloud/models/extension_entity_listing.rb +21 -21
  198. data/lib/purecloud/models/extension_pool_entity_listing.rb +21 -21
  199. data/lib/purecloud/models/fax_document_entity_listing.rb +21 -21
  200. data/lib/purecloud/models/field_config.rb +248 -0
  201. data/lib/purecloud/models/field_list.rb +255 -0
  202. data/lib/purecloud/models/forecast.rb +201 -0
  203. data/lib/purecloud/models/forecast_creation.rb +221 -0
  204. data/lib/purecloud/models/forecast_creation_completion.rb +186 -0
  205. data/lib/purecloud/models/forecast_dimensions.rb +197 -0
  206. data/lib/purecloud/models/forecast_entry.rb +199 -0
  207. data/lib/purecloud/models/forecast_filter_attributes.rb +191 -0
  208. data/lib/purecloud/models/forecast_metadata.rb +284 -0
  209. data/lib/purecloud/models/forecast_metadata_entity_listing.rb +257 -0
  210. data/lib/purecloud/models/forecast_modification.rb +339 -0
  211. data/lib/purecloud/models/forecast_modification_creation.rb +317 -0
  212. data/lib/purecloud/models/forecast_search_criteria.rb +267 -0
  213. data/lib/purecloud/models/forecast_search_request.rb +259 -0
  214. data/lib/purecloud/models/group_entity_listing.rb +21 -21
  215. data/lib/purecloud/models/heart_beat_alert_container.rb +21 -21
  216. data/lib/purecloud/models/heart_beat_rule_container.rb +21 -21
  217. data/lib/purecloud/models/inbound_domain_entity_listing.rb +21 -21
  218. data/lib/purecloud/models/inbound_route_entity_listing.rb +21 -21
  219. data/lib/purecloud/models/interaction_stats_alert_container.rb +21 -21
  220. data/lib/purecloud/models/interaction_stats_rule_container.rb +21 -21
  221. data/lib/purecloud/models/json_node.rb +44 -44
  222. data/lib/purecloud/models/keyword_set_entity_listing.rb +21 -21
  223. data/lib/purecloud/models/language_entity_listing.rb +21 -21
  224. data/lib/purecloud/models/library_entity_listing.rb +21 -21
  225. data/lib/purecloud/models/line_base_entity_listing.rb +21 -21
  226. data/lib/purecloud/models/line_entity_listing.rb +21 -21
  227. data/lib/purecloud/models/logical_interface_entity_listing.rb +21 -21
  228. data/lib/purecloud/models/o_auth_client_entity_listing.rb +21 -21
  229. data/lib/purecloud/models/o_auth_provider_entity_listing.rb +21 -21
  230. data/lib/purecloud/models/okta.rb +11 -11
  231. data/lib/purecloud/models/one_login.rb +11 -11
  232. data/lib/purecloud/models/organization_presence_entity_listing.rb +21 -21
  233. data/lib/purecloud/models/organization_role_entity_listing.rb +21 -21
  234. data/lib/purecloud/models/orphan_recording_listing.rb +21 -21
  235. data/lib/purecloud/models/outbound_route_entity_listing.rb +21 -21
  236. data/lib/purecloud/models/permission_collection_entity_listing.rb +21 -21
  237. data/lib/purecloud/models/phone.rb +12 -1
  238. data/lib/purecloud/models/phone_base_entity_listing.rb +21 -21
  239. data/lib/purecloud/models/phone_entity_listing.rb +21 -21
  240. data/lib/purecloud/models/phone_meta_base_entity_listing.rb +21 -21
  241. data/lib/purecloud/models/phone_status.rb +12 -1
  242. data/lib/purecloud/models/physical_interface_entity_listing.rb +21 -21
  243. data/lib/purecloud/models/policy_entity_listing.rb +21 -21
  244. data/lib/purecloud/models/property_index_request.rb +9 -9
  245. data/lib/purecloud/models/quality_audit_page.rb +21 -21
  246. data/lib/purecloud/models/queue_entity_listing.rb +21 -21
  247. data/lib/purecloud/models/queue_member_entity_listing.rb +21 -21
  248. data/lib/purecloud/models/report_meta_data_entity_listing.rb +21 -21
  249. data/lib/purecloud/models/report_run_entry_entity_domain_listing.rb +21 -21
  250. data/lib/purecloud/models/report_schedule_entity_listing.rb +21 -21
  251. data/lib/purecloud/models/response_entity_list.rb +21 -21
  252. data/lib/purecloud/models/response_entity_listing.rb +21 -21
  253. data/lib/purecloud/models/response_set_entity_listing.rb +21 -21
  254. data/lib/purecloud/models/rule_set_entity_listing.rb +21 -21
  255. data/lib/purecloud/models/salesforce.rb +11 -11
  256. data/lib/purecloud/models/schema_category_entity_listing.rb +21 -21
  257. data/lib/purecloud/models/schema_reference_entity_listing.rb +21 -21
  258. data/lib/purecloud/models/screen_recording_session_listing.rb +21 -21
  259. data/lib/purecloud/models/section.rb +197 -0
  260. data/lib/purecloud/models/security_profile_entity_listing.rb +21 -21
  261. data/lib/purecloud/models/share_entity_listing.rb +21 -21
  262. data/lib/purecloud/models/site_entity_listing.rb +21 -21
  263. data/lib/purecloud/models/skill_entity_listing.rb +21 -21
  264. data/lib/purecloud/models/social_expression.rb +1 -1
  265. data/lib/purecloud/models/station_entity_listing.rb +21 -21
  266. data/lib/purecloud/models/tag_value_entity_listing.rb +21 -21
  267. data/lib/purecloud/models/time_zone_entity_listing.rb +21 -21
  268. data/lib/purecloud/models/trunk_base_entity_listing.rb +257 -0
  269. data/lib/purecloud/models/trunk_entity_listing.rb +21 -21
  270. data/lib/purecloud/models/trunk_metabase_entity_listing.rb +21 -21
  271. data/lib/purecloud/models/user_agent_info.rb +188 -0
  272. data/lib/purecloud/models/user_entity_listing.rb +21 -21
  273. data/lib/purecloud/models/user_queue_entity_listing.rb +21 -21
  274. data/lib/purecloud/models/user_recording_entity_listing.rb +21 -21
  275. data/lib/purecloud/models/user_skill_entity_listing.rb +21 -21
  276. data/lib/purecloud/models/users_entity_listing.rb +21 -21
  277. data/lib/purecloud/models/workspace.rb +1 -0
  278. data/lib/purecloud/models/workspace_entity_listing.rb +21 -21
  279. data/lib/purecloud/models/workspace_member.rb +1 -0
  280. data/lib/purecloud/models/workspace_member_entity_listing.rb +21 -21
  281. data/lib/purecloud/models/wrapup_code_entity_listing.rb +21 -21
  282. data/lib/purecloud/version.rb +1 -1
  283. data/newVersion.md +1 -1
  284. data/swagger.json +1 -1
  285. data/version.json +1 -1
  286. metadata +38 -2
@@ -0,0 +1,199 @@
1
+ =begin
2
+ PureCloud Platform API
3
+
4
+ With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
5
+
6
+ OpenAPI spec version: v2
7
+ Contact: DeveloperEvangelists@inin.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ License: ININ
11
+ http://www.inin.com
12
+
13
+ Terms of Service: https://developer.mypurecloud.com/tos
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ class ForecastEntry
21
+ # The metric of the entry
22
+ attr_accessor :metric
23
+
24
+ # The dimensions of the entry
25
+ attr_accessor :dimensions
26
+
27
+ # The forecasted values
28
+ attr_accessor :values
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ def self.attribute_map
32
+ {
33
+
34
+ :'metric' => :'metric',
35
+
36
+ :'dimensions' => :'dimensions',
37
+
38
+ :'values' => :'values'
39
+
40
+ }
41
+ end
42
+
43
+ # Attribute type mapping.
44
+ def self.swagger_types
45
+ {
46
+ :'metric' => :'String',
47
+ :'dimensions' => :'ForecastDimensions',
48
+ :'values' => :'Array<Float>'
49
+
50
+ }
51
+ end
52
+
53
+ def initialize(attributes = {})
54
+ return unless attributes.is_a?(Hash)
55
+
56
+ # convert string to symbol for hash key
57
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
58
+
59
+
60
+ if attributes[:'metric']
61
+ self.metric = attributes[:'metric']
62
+ end
63
+
64
+ if attributes[:'dimensions']
65
+ self.dimensions = attributes[:'dimensions']
66
+ end
67
+
68
+ if attributes[:'values']
69
+ if (value = attributes[:'values']).is_a?(Array)
70
+ self.values = value
71
+ end
72
+ end
73
+
74
+ end
75
+
76
+ # Custom attribute writer method checking allowed values (enum).
77
+ def metric=(metric)
78
+ allowed_values = ["CALL_VOLUME", "ATT", "ACW", "CHAT_VOLUME"]
79
+ if metric && !allowed_values.include?(metric)
80
+ fail "invalid value for 'metric', must be one of #{allowed_values}"
81
+ end
82
+ @metric = metric
83
+ end
84
+
85
+ # Check equality by comparing each attribute.
86
+ def ==(o)
87
+ return true if self.equal?(o)
88
+ self.class == o.class &&
89
+ metric == o.metric &&
90
+ dimensions == o.dimensions &&
91
+ values == o.values
92
+ end
93
+
94
+ # @see the `==` method
95
+ def eql?(o)
96
+ self == o
97
+ end
98
+
99
+ # Calculate hash code according to all attributes.
100
+ def hash
101
+ [metric, dimensions, values].hash
102
+ end
103
+
104
+ # build the object from hash
105
+ def build_from_hash(attributes)
106
+ return nil unless attributes.is_a?(Hash)
107
+ self.class.swagger_types.each_pair do |key, type|
108
+ if type =~ /^Array<(.*)>/i
109
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
110
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
111
+ else
112
+ #TODO show warning in debug mode
113
+ end
114
+ elsif !attributes[self.class.attribute_map[key]].nil?
115
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
116
+ else
117
+ # data not found in attributes(hash), not an issue as the data can be optional
118
+ end
119
+ end
120
+
121
+ self
122
+ end
123
+
124
+ def _deserialize(type, value)
125
+ case type.to_sym
126
+ when :DateTime
127
+ DateTime.parse(value)
128
+ when :Date
129
+ Date.parse(value)
130
+ when :String
131
+ value.to_s
132
+ when :Integer
133
+ value.to_i
134
+ when :Float
135
+ value.to_f
136
+ when :BOOLEAN
137
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
138
+ true
139
+ else
140
+ false
141
+ end
142
+ when :Object
143
+ # generic object (usually a Hash), return directly
144
+ value
145
+ when /\AArray<(?<inner_type>.+)>\z/
146
+ inner_type = Regexp.last_match[:inner_type]
147
+ value.map { |v| _deserialize(inner_type, v) }
148
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
149
+ k_type = Regexp.last_match[:k_type]
150
+ v_type = Regexp.last_match[:v_type]
151
+ {}.tap do |hash|
152
+ value.each do |k, v|
153
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
154
+ end
155
+ end
156
+ else # model
157
+ _model = Object.const_get("PureCloud").const_get(type).new
158
+ _model.build_from_hash(value)
159
+ end
160
+ end
161
+
162
+ def to_s
163
+ to_hash.to_s
164
+ end
165
+
166
+ # to_body is an alias to to_body (backward compatibility))
167
+ def to_body
168
+ to_hash
169
+ end
170
+
171
+ # return the object in the form of hash
172
+ def to_hash
173
+ hash = {}
174
+ self.class.attribute_map.each_pair do |attr, param|
175
+ value = self.send(attr)
176
+ next if value.nil?
177
+ hash[param] = _to_hash(value)
178
+ end
179
+ hash
180
+ end
181
+
182
+ # Method to output non-array value in the form of hash
183
+ # For object, use to_hash. Otherwise, just return the value
184
+ def _to_hash(value)
185
+ if value.is_a?(Array)
186
+ value.compact.map{ |v| _to_hash(v) }
187
+ elsif value.is_a?(Hash)
188
+ {}.tap do |hash|
189
+ value.each { |k, v| hash[k] = _to_hash(v) }
190
+ end
191
+ elsif value.respond_to? :to_hash
192
+ value.to_hash
193
+ else
194
+ value
195
+ end
196
+ end
197
+
198
+ end
199
+ end
@@ -0,0 +1,191 @@
1
+ =begin
2
+ PureCloud Platform API
3
+
4
+ With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
5
+
6
+ OpenAPI spec version: v2
7
+ Contact: DeveloperEvangelists@inin.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ License: ININ
11
+ http://www.inin.com
12
+
13
+ Terms of Service: https://developer.mypurecloud.com/tos
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ class ForecastFilterAttributes
21
+ attr_accessor :languages
22
+
23
+ attr_accessor :queue_ids
24
+
25
+ attr_accessor :media_types
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+
31
+ :'languages' => :'languages',
32
+
33
+ :'queue_ids' => :'queueIds',
34
+
35
+ :'media_types' => :'mediaTypes'
36
+
37
+ }
38
+ end
39
+
40
+ # Attribute type mapping.
41
+ def self.swagger_types
42
+ {
43
+ :'languages' => :'Array<String>',
44
+ :'queue_ids' => :'Array<String>',
45
+ :'media_types' => :'Array<String>'
46
+
47
+ }
48
+ end
49
+
50
+ def initialize(attributes = {})
51
+ return unless attributes.is_a?(Hash)
52
+
53
+ # convert string to symbol for hash key
54
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
55
+
56
+
57
+ if attributes[:'languages']
58
+ if (value = attributes[:'languages']).is_a?(Array)
59
+ self.languages = value
60
+ end
61
+ end
62
+
63
+ if attributes[:'queueIds']
64
+ if (value = attributes[:'queueIds']).is_a?(Array)
65
+ self.queue_ids = value
66
+ end
67
+ end
68
+
69
+ if attributes[:'mediaTypes']
70
+ if (value = attributes[:'mediaTypes']).is_a?(Array)
71
+ self.media_types = value
72
+ end
73
+ end
74
+
75
+ end
76
+
77
+ # Check equality by comparing each attribute.
78
+ def ==(o)
79
+ return true if self.equal?(o)
80
+ self.class == o.class &&
81
+ languages == o.languages &&
82
+ queue_ids == o.queue_ids &&
83
+ media_types == o.media_types
84
+ end
85
+
86
+ # @see the `==` method
87
+ def eql?(o)
88
+ self == o
89
+ end
90
+
91
+ # Calculate hash code according to all attributes.
92
+ def hash
93
+ [languages, queue_ids, media_types].hash
94
+ end
95
+
96
+ # build the object from hash
97
+ def build_from_hash(attributes)
98
+ return nil unless attributes.is_a?(Hash)
99
+ self.class.swagger_types.each_pair do |key, type|
100
+ if type =~ /^Array<(.*)>/i
101
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
102
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
103
+ else
104
+ #TODO show warning in debug mode
105
+ end
106
+ elsif !attributes[self.class.attribute_map[key]].nil?
107
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
108
+ else
109
+ # data not found in attributes(hash), not an issue as the data can be optional
110
+ end
111
+ end
112
+
113
+ self
114
+ end
115
+
116
+ def _deserialize(type, value)
117
+ case type.to_sym
118
+ when :DateTime
119
+ DateTime.parse(value)
120
+ when :Date
121
+ Date.parse(value)
122
+ when :String
123
+ value.to_s
124
+ when :Integer
125
+ value.to_i
126
+ when :Float
127
+ value.to_f
128
+ when :BOOLEAN
129
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
130
+ true
131
+ else
132
+ false
133
+ end
134
+ when :Object
135
+ # generic object (usually a Hash), return directly
136
+ value
137
+ when /\AArray<(?<inner_type>.+)>\z/
138
+ inner_type = Regexp.last_match[:inner_type]
139
+ value.map { |v| _deserialize(inner_type, v) }
140
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
141
+ k_type = Regexp.last_match[:k_type]
142
+ v_type = Regexp.last_match[:v_type]
143
+ {}.tap do |hash|
144
+ value.each do |k, v|
145
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
146
+ end
147
+ end
148
+ else # model
149
+ _model = Object.const_get("PureCloud").const_get(type).new
150
+ _model.build_from_hash(value)
151
+ end
152
+ end
153
+
154
+ def to_s
155
+ to_hash.to_s
156
+ end
157
+
158
+ # to_body is an alias to to_body (backward compatibility))
159
+ def to_body
160
+ to_hash
161
+ end
162
+
163
+ # return the object in the form of hash
164
+ def to_hash
165
+ hash = {}
166
+ self.class.attribute_map.each_pair do |attr, param|
167
+ value = self.send(attr)
168
+ next if value.nil?
169
+ hash[param] = _to_hash(value)
170
+ end
171
+ hash
172
+ end
173
+
174
+ # Method to output non-array value in the form of hash
175
+ # For object, use to_hash. Otherwise, just return the value
176
+ def _to_hash(value)
177
+ if value.is_a?(Array)
178
+ value.compact.map{ |v| _to_hash(v) }
179
+ elsif value.is_a?(Hash)
180
+ {}.tap do |hash|
181
+ value.each { |k, v| hash[k] = _to_hash(v) }
182
+ end
183
+ elsif value.respond_to? :to_hash
184
+ value.to_hash
185
+ else
186
+ value
187
+ end
188
+ end
189
+
190
+ end
191
+ end
@@ -0,0 +1,284 @@
1
+ =begin
2
+ PureCloud Platform API
3
+
4
+ With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
5
+
6
+ OpenAPI spec version: v2
7
+ Contact: DeveloperEvangelists@inin.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ License: ININ
11
+ http://www.inin.com
12
+
13
+ Terms of Service: https://developer.mypurecloud.com/tos
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ class ForecastMetadata
21
+ # The globally unique identifier for the object.
22
+ attr_accessor :id
23
+
24
+ attr_accessor :name
25
+
26
+ # The number of periods to be forecasted for
27
+ attr_accessor :number_of_periods
28
+
29
+ # The frequency of the period
30
+ attr_accessor :period_frequency
31
+
32
+ # The description of the forecast to be created
33
+ attr_accessor :description
34
+
35
+ # The metrics the forecast is for
36
+ attr_accessor :metrics
37
+
38
+ # The last modified date time of this object. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
39
+ attr_accessor :last_modified_date
40
+
41
+ # The person who last modified this object
42
+ attr_accessor :last_modified_by
43
+
44
+ # The status of the creation of the forecast
45
+ attr_accessor :status
46
+
47
+ # The URI for this object
48
+ attr_accessor :self_uri
49
+
50
+ # Attribute mapping from ruby-style variable name to JSON key.
51
+ def self.attribute_map
52
+ {
53
+
54
+ :'id' => :'id',
55
+
56
+ :'name' => :'name',
57
+
58
+ :'number_of_periods' => :'numberOfPeriods',
59
+
60
+ :'period_frequency' => :'periodFrequency',
61
+
62
+ :'description' => :'description',
63
+
64
+ :'metrics' => :'metrics',
65
+
66
+ :'last_modified_date' => :'lastModifiedDate',
67
+
68
+ :'last_modified_by' => :'lastModifiedBy',
69
+
70
+ :'status' => :'status',
71
+
72
+ :'self_uri' => :'selfUri'
73
+
74
+ }
75
+ end
76
+
77
+ # Attribute type mapping.
78
+ def self.swagger_types
79
+ {
80
+ :'id' => :'String',
81
+ :'name' => :'String',
82
+ :'number_of_periods' => :'Integer',
83
+ :'period_frequency' => :'String',
84
+ :'description' => :'String',
85
+ :'metrics' => :'Array<String>',
86
+ :'last_modified_date' => :'DateTime',
87
+ :'last_modified_by' => :'User',
88
+ :'status' => :'String',
89
+ :'self_uri' => :'String'
90
+
91
+ }
92
+ end
93
+
94
+ def initialize(attributes = {})
95
+ return unless attributes.is_a?(Hash)
96
+
97
+ # convert string to symbol for hash key
98
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
99
+
100
+
101
+ if attributes[:'id']
102
+ self.id = attributes[:'id']
103
+ end
104
+
105
+ if attributes[:'name']
106
+ self.name = attributes[:'name']
107
+ end
108
+
109
+ if attributes[:'numberOfPeriods']
110
+ self.number_of_periods = attributes[:'numberOfPeriods']
111
+ end
112
+
113
+ if attributes[:'periodFrequency']
114
+ self.period_frequency = attributes[:'periodFrequency']
115
+ end
116
+
117
+ if attributes[:'description']
118
+ self.description = attributes[:'description']
119
+ end
120
+
121
+ if attributes[:'metrics']
122
+ if (value = attributes[:'metrics']).is_a?(Array)
123
+ self.metrics = value
124
+ end
125
+ end
126
+
127
+ if attributes[:'lastModifiedDate']
128
+ self.last_modified_date = attributes[:'lastModifiedDate']
129
+ end
130
+
131
+ if attributes[:'lastModifiedBy']
132
+ self.last_modified_by = attributes[:'lastModifiedBy']
133
+ end
134
+
135
+ if attributes[:'status']
136
+ self.status = attributes[:'status']
137
+ end
138
+
139
+ if attributes[:'selfUri']
140
+ self.self_uri = attributes[:'selfUri']
141
+ end
142
+
143
+ end
144
+
145
+ # Custom attribute writer method checking allowed values (enum).
146
+ def period_frequency=(period_frequency)
147
+ allowed_values = ["WEEK"]
148
+ if period_frequency && !allowed_values.include?(period_frequency)
149
+ fail "invalid value for 'period_frequency', must be one of #{allowed_values}"
150
+ end
151
+ @period_frequency = period_frequency
152
+ end
153
+
154
+ # Custom attribute writer method checking allowed values (enum).
155
+ def status=(status)
156
+ allowed_values = ["SUCCESS", "FAILED"]
157
+ if status && !allowed_values.include?(status)
158
+ fail "invalid value for 'status', must be one of #{allowed_values}"
159
+ end
160
+ @status = status
161
+ end
162
+
163
+ # Check equality by comparing each attribute.
164
+ def ==(o)
165
+ return true if self.equal?(o)
166
+ self.class == o.class &&
167
+ id == o.id &&
168
+ name == o.name &&
169
+ number_of_periods == o.number_of_periods &&
170
+ period_frequency == o.period_frequency &&
171
+ description == o.description &&
172
+ metrics == o.metrics &&
173
+ last_modified_date == o.last_modified_date &&
174
+ last_modified_by == o.last_modified_by &&
175
+ status == o.status &&
176
+ self_uri == o.self_uri
177
+ end
178
+
179
+ # @see the `==` method
180
+ def eql?(o)
181
+ self == o
182
+ end
183
+
184
+ # Calculate hash code according to all attributes.
185
+ def hash
186
+ [id, name, number_of_periods, period_frequency, description, metrics, last_modified_date, last_modified_by, status, self_uri].hash
187
+ end
188
+
189
+ # build the object from hash
190
+ def build_from_hash(attributes)
191
+ return nil unless attributes.is_a?(Hash)
192
+ self.class.swagger_types.each_pair do |key, type|
193
+ if type =~ /^Array<(.*)>/i
194
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
195
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
196
+ else
197
+ #TODO show warning in debug mode
198
+ end
199
+ elsif !attributes[self.class.attribute_map[key]].nil?
200
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
201
+ else
202
+ # data not found in attributes(hash), not an issue as the data can be optional
203
+ end
204
+ end
205
+
206
+ self
207
+ end
208
+
209
+ def _deserialize(type, value)
210
+ case type.to_sym
211
+ when :DateTime
212
+ DateTime.parse(value)
213
+ when :Date
214
+ Date.parse(value)
215
+ when :String
216
+ value.to_s
217
+ when :Integer
218
+ value.to_i
219
+ when :Float
220
+ value.to_f
221
+ when :BOOLEAN
222
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
223
+ true
224
+ else
225
+ false
226
+ end
227
+ when :Object
228
+ # generic object (usually a Hash), return directly
229
+ value
230
+ when /\AArray<(?<inner_type>.+)>\z/
231
+ inner_type = Regexp.last_match[:inner_type]
232
+ value.map { |v| _deserialize(inner_type, v) }
233
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
234
+ k_type = Regexp.last_match[:k_type]
235
+ v_type = Regexp.last_match[:v_type]
236
+ {}.tap do |hash|
237
+ value.each do |k, v|
238
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
239
+ end
240
+ end
241
+ else # model
242
+ _model = Object.const_get("PureCloud").const_get(type).new
243
+ _model.build_from_hash(value)
244
+ end
245
+ end
246
+
247
+ def to_s
248
+ to_hash.to_s
249
+ end
250
+
251
+ # to_body is an alias to to_body (backward compatibility))
252
+ def to_body
253
+ to_hash
254
+ end
255
+
256
+ # return the object in the form of hash
257
+ def to_hash
258
+ hash = {}
259
+ self.class.attribute_map.each_pair do |attr, param|
260
+ value = self.send(attr)
261
+ next if value.nil?
262
+ hash[param] = _to_hash(value)
263
+ end
264
+ hash
265
+ end
266
+
267
+ # Method to output non-array value in the form of hash
268
+ # For object, use to_hash. Otherwise, just return the value
269
+ def _to_hash(value)
270
+ if value.is_a?(Array)
271
+ value.compact.map{ |v| _to_hash(v) }
272
+ elsif value.is_a?(Hash)
273
+ {}.tap do |hash|
274
+ value.each { |k, v| hash[k] = _to_hash(v) }
275
+ end
276
+ elsif value.respond_to? :to_hash
277
+ value.to_hash
278
+ else
279
+ value
280
+ end
281
+ end
282
+
283
+ end
284
+ end