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,317 @@
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 ForecastModificationCreation
21
+ # The globally unique identifier for the object.
22
+ attr_accessor :id
23
+
24
+ attr_accessor :name
25
+
26
+ # The id of the associated forecast
27
+ attr_accessor :forecast_id
28
+
29
+ # The priority in which the modification is applied
30
+ attr_accessor :priority
31
+
32
+ # The metric the modification is appied to
33
+ attr_accessor :metric
34
+
35
+ # The type of modification
36
+ attr_accessor :modification_type
37
+
38
+ # The value of the modification
39
+ attr_accessor :modification_value
40
+
41
+ # The start of the modified time period. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
42
+ attr_accessor :start_date
43
+
44
+ # The end of the modified time period. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
45
+ attr_accessor :end_date
46
+
47
+ # The filters for the modification
48
+ attr_accessor :attributes
49
+
50
+ # Determined if the modification is currently applied
51
+ attr_accessor :enabled
52
+
53
+ # Any notes associated with the modification
54
+ attr_accessor :notes
55
+
56
+ # The URI for this object
57
+ attr_accessor :self_uri
58
+
59
+ # Attribute mapping from ruby-style variable name to JSON key.
60
+ def self.attribute_map
61
+ {
62
+
63
+ :'id' => :'id',
64
+
65
+ :'name' => :'name',
66
+
67
+ :'forecast_id' => :'forecastId',
68
+
69
+ :'priority' => :'priority',
70
+
71
+ :'metric' => :'metric',
72
+
73
+ :'modification_type' => :'modificationType',
74
+
75
+ :'modification_value' => :'modificationValue',
76
+
77
+ :'start_date' => :'startDate',
78
+
79
+ :'end_date' => :'endDate',
80
+
81
+ :'attributes' => :'attributes',
82
+
83
+ :'enabled' => :'enabled',
84
+
85
+ :'notes' => :'notes',
86
+
87
+ :'self_uri' => :'selfUri'
88
+
89
+ }
90
+ end
91
+
92
+ # Attribute type mapping.
93
+ def self.swagger_types
94
+ {
95
+ :'id' => :'String',
96
+ :'name' => :'String',
97
+ :'forecast_id' => :'String',
98
+ :'priority' => :'Integer',
99
+ :'metric' => :'String',
100
+ :'modification_type' => :'String',
101
+ :'modification_value' => :'Float',
102
+ :'start_date' => :'DateTime',
103
+ :'end_date' => :'DateTime',
104
+ :'attributes' => :'ForecastFilterAttributes',
105
+ :'enabled' => :'BOOLEAN',
106
+ :'notes' => :'String',
107
+ :'self_uri' => :'String'
108
+
109
+ }
110
+ end
111
+
112
+ def initialize(attributes = {})
113
+ return unless attributes.is_a?(Hash)
114
+
115
+ # convert string to symbol for hash key
116
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
117
+
118
+
119
+ if attributes[:'id']
120
+ self.id = attributes[:'id']
121
+ end
122
+
123
+ if attributes[:'name']
124
+ self.name = attributes[:'name']
125
+ end
126
+
127
+ if attributes[:'forecastId']
128
+ self.forecast_id = attributes[:'forecastId']
129
+ end
130
+
131
+ if attributes[:'priority']
132
+ self.priority = attributes[:'priority']
133
+ end
134
+
135
+ if attributes[:'metric']
136
+ self.metric = attributes[:'metric']
137
+ end
138
+
139
+ if attributes[:'modificationType']
140
+ self.modification_type = attributes[:'modificationType']
141
+ end
142
+
143
+ if attributes[:'modificationValue']
144
+ self.modification_value = attributes[:'modificationValue']
145
+ end
146
+
147
+ if attributes[:'startDate']
148
+ self.start_date = attributes[:'startDate']
149
+ end
150
+
151
+ if attributes[:'endDate']
152
+ self.end_date = attributes[:'endDate']
153
+ end
154
+
155
+ if attributes[:'attributes']
156
+ self.attributes = attributes[:'attributes']
157
+ end
158
+
159
+ if attributes[:'enabled']
160
+ self.enabled = attributes[:'enabled']
161
+ else
162
+ self.enabled = false
163
+ end
164
+
165
+ if attributes[:'notes']
166
+ self.notes = attributes[:'notes']
167
+ end
168
+
169
+ if attributes[:'selfUri']
170
+ self.self_uri = attributes[:'selfUri']
171
+ end
172
+
173
+ end
174
+
175
+ # Custom attribute writer method checking allowed values (enum).
176
+ def metric=(metric)
177
+ allowed_values = ["CALL_VOLUME", "ATT", "ACW", "CHAT_VOLUME"]
178
+ if metric && !allowed_values.include?(metric)
179
+ fail "invalid value for 'metric', must be one of #{allowed_values}"
180
+ end
181
+ @metric = metric
182
+ end
183
+
184
+ # Custom attribute writer method checking allowed values (enum).
185
+ def modification_type=(modification_type)
186
+ allowed_values = ["MINIMUM_PER_INTERVAL", "MAXIMUM_PER_INTERVAL", "SET_VALUE_PER_INTERVAL", "CHANGE_VALUE_PER_INTERVAL", "CHANGE_PERCENT_PER_INTERVAL", "SET_VALUE_OVER_RANGE", "CHANGE_VALUE_OVER_RANGE"]
187
+ if modification_type && !allowed_values.include?(modification_type)
188
+ fail "invalid value for 'modification_type', must be one of #{allowed_values}"
189
+ end
190
+ @modification_type = modification_type
191
+ end
192
+
193
+ # Check equality by comparing each attribute.
194
+ def ==(o)
195
+ return true if self.equal?(o)
196
+ self.class == o.class &&
197
+ id == o.id &&
198
+ name == o.name &&
199
+ forecast_id == o.forecast_id &&
200
+ priority == o.priority &&
201
+ metric == o.metric &&
202
+ modification_type == o.modification_type &&
203
+ modification_value == o.modification_value &&
204
+ start_date == o.start_date &&
205
+ end_date == o.end_date &&
206
+ attributes == o.attributes &&
207
+ enabled == o.enabled &&
208
+ notes == o.notes &&
209
+ self_uri == o.self_uri
210
+ end
211
+
212
+ # @see the `==` method
213
+ def eql?(o)
214
+ self == o
215
+ end
216
+
217
+ # Calculate hash code according to all attributes.
218
+ def hash
219
+ [id, name, forecast_id, priority, metric, modification_type, modification_value, start_date, end_date, attributes, enabled, notes, self_uri].hash
220
+ end
221
+
222
+ # build the object from hash
223
+ def build_from_hash(attributes)
224
+ return nil unless attributes.is_a?(Hash)
225
+ self.class.swagger_types.each_pair do |key, type|
226
+ if type =~ /^Array<(.*)>/i
227
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
228
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
229
+ else
230
+ #TODO show warning in debug mode
231
+ end
232
+ elsif !attributes[self.class.attribute_map[key]].nil?
233
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
234
+ else
235
+ # data not found in attributes(hash), not an issue as the data can be optional
236
+ end
237
+ end
238
+
239
+ self
240
+ end
241
+
242
+ def _deserialize(type, value)
243
+ case type.to_sym
244
+ when :DateTime
245
+ DateTime.parse(value)
246
+ when :Date
247
+ Date.parse(value)
248
+ when :String
249
+ value.to_s
250
+ when :Integer
251
+ value.to_i
252
+ when :Float
253
+ value.to_f
254
+ when :BOOLEAN
255
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
256
+ true
257
+ else
258
+ false
259
+ end
260
+ when :Object
261
+ # generic object (usually a Hash), return directly
262
+ value
263
+ when /\AArray<(?<inner_type>.+)>\z/
264
+ inner_type = Regexp.last_match[:inner_type]
265
+ value.map { |v| _deserialize(inner_type, v) }
266
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
267
+ k_type = Regexp.last_match[:k_type]
268
+ v_type = Regexp.last_match[:v_type]
269
+ {}.tap do |hash|
270
+ value.each do |k, v|
271
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
272
+ end
273
+ end
274
+ else # model
275
+ _model = Object.const_get("PureCloud").const_get(type).new
276
+ _model.build_from_hash(value)
277
+ end
278
+ end
279
+
280
+ def to_s
281
+ to_hash.to_s
282
+ end
283
+
284
+ # to_body is an alias to to_body (backward compatibility))
285
+ def to_body
286
+ to_hash
287
+ end
288
+
289
+ # return the object in the form of hash
290
+ def to_hash
291
+ hash = {}
292
+ self.class.attribute_map.each_pair do |attr, param|
293
+ value = self.send(attr)
294
+ next if value.nil?
295
+ hash[param] = _to_hash(value)
296
+ end
297
+ hash
298
+ end
299
+
300
+ # Method to output non-array value in the form of hash
301
+ # For object, use to_hash. Otherwise, just return the value
302
+ def _to_hash(value)
303
+ if value.is_a?(Array)
304
+ value.compact.map{ |v| _to_hash(v) }
305
+ elsif value.is_a?(Hash)
306
+ {}.tap do |hash|
307
+ value.each { |k, v| hash[k] = _to_hash(v) }
308
+ end
309
+ elsif value.respond_to? :to_hash
310
+ value.to_hash
311
+ else
312
+ value
313
+ end
314
+ end
315
+
316
+ end
317
+ end
@@ -0,0 +1,267 @@
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 ForecastSearchCriteria
21
+ # The end value of the range. This field is used for range search types.
22
+ attr_accessor :end_value
23
+
24
+ # A list of values for the search to match against
25
+ attr_accessor :values
26
+
27
+ # The start value of the range. This field is used for range search types.
28
+ attr_accessor :start_value
29
+
30
+ # Field names to search against
31
+ attr_accessor :fields
32
+
33
+ # A value for the search to match against
34
+ attr_accessor :value
35
+
36
+ # How to apply this search criteria against other criteria
37
+ attr_accessor :operator
38
+
39
+ # Groups multiple conditions
40
+ attr_accessor :group
41
+
42
+ # Search Type
43
+ attr_accessor :type
44
+
45
+ # Attribute mapping from ruby-style variable name to JSON key.
46
+ def self.attribute_map
47
+ {
48
+
49
+ :'end_value' => :'endValue',
50
+
51
+ :'values' => :'values',
52
+
53
+ :'start_value' => :'startValue',
54
+
55
+ :'fields' => :'fields',
56
+
57
+ :'value' => :'value',
58
+
59
+ :'operator' => :'operator',
60
+
61
+ :'group' => :'group',
62
+
63
+ :'type' => :'type'
64
+
65
+ }
66
+ end
67
+
68
+ # Attribute type mapping.
69
+ def self.swagger_types
70
+ {
71
+ :'end_value' => :'String',
72
+ :'values' => :'Array<String>',
73
+ :'start_value' => :'String',
74
+ :'fields' => :'Array<String>',
75
+ :'value' => :'String',
76
+ :'operator' => :'String',
77
+ :'group' => :'Array<ForecastSearchCriteria>',
78
+ :'type' => :'String'
79
+
80
+ }
81
+ end
82
+
83
+ def initialize(attributes = {})
84
+ return unless attributes.is_a?(Hash)
85
+
86
+ # convert string to symbol for hash key
87
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
88
+
89
+
90
+ if attributes[:'endValue']
91
+ self.end_value = attributes[:'endValue']
92
+ end
93
+
94
+ if attributes[:'values']
95
+ if (value = attributes[:'values']).is_a?(Array)
96
+ self.values = value
97
+ end
98
+ end
99
+
100
+ if attributes[:'startValue']
101
+ self.start_value = attributes[:'startValue']
102
+ end
103
+
104
+ if attributes[:'fields']
105
+ if (value = attributes[:'fields']).is_a?(Array)
106
+ self.fields = value
107
+ end
108
+ end
109
+
110
+ if attributes[:'value']
111
+ self.value = attributes[:'value']
112
+ end
113
+
114
+ if attributes[:'operator']
115
+ self.operator = attributes[:'operator']
116
+ end
117
+
118
+ if attributes[:'group']
119
+ if (value = attributes[:'group']).is_a?(Array)
120
+ self.group = value
121
+ end
122
+ end
123
+
124
+ if attributes[:'type']
125
+ self.type = attributes[:'type']
126
+ end
127
+
128
+ end
129
+
130
+ # Custom attribute writer method checking allowed values (enum).
131
+ def operator=(operator)
132
+ allowed_values = ["AND", "OR", "NOT"]
133
+ if operator && !allowed_values.include?(operator)
134
+ fail "invalid value for 'operator', must be one of #{allowed_values}"
135
+ end
136
+ @operator = operator
137
+ end
138
+
139
+ # Custom attribute writer method checking allowed values (enum).
140
+ def type=(type)
141
+ allowed_values = ["EXACT", "CONTAINS", "STARTS_WITH", "REQUIRED_FIELDS", "RANGE", "DATE_RANGE", "LESS_THAN", "LESS_THAN_EQUAL_TO", "GREATER_THAN", "GREATER_THAN_EQUAL_TO", "TERM", "TERMS"]
142
+ if type && !allowed_values.include?(type)
143
+ fail "invalid value for 'type', must be one of #{allowed_values}"
144
+ end
145
+ @type = type
146
+ end
147
+
148
+ # Check equality by comparing each attribute.
149
+ def ==(o)
150
+ return true if self.equal?(o)
151
+ self.class == o.class &&
152
+ end_value == o.end_value &&
153
+ values == o.values &&
154
+ start_value == o.start_value &&
155
+ fields == o.fields &&
156
+ value == o.value &&
157
+ operator == o.operator &&
158
+ group == o.group &&
159
+ type == o.type
160
+ end
161
+
162
+ # @see the `==` method
163
+ def eql?(o)
164
+ self == o
165
+ end
166
+
167
+ # Calculate hash code according to all attributes.
168
+ def hash
169
+ [end_value, values, start_value, fields, value, operator, group, type].hash
170
+ end
171
+
172
+ # build the object from hash
173
+ def build_from_hash(attributes)
174
+ return nil unless attributes.is_a?(Hash)
175
+ self.class.swagger_types.each_pair do |key, type|
176
+ if type =~ /^Array<(.*)>/i
177
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
178
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
179
+ else
180
+ #TODO show warning in debug mode
181
+ end
182
+ elsif !attributes[self.class.attribute_map[key]].nil?
183
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
184
+ else
185
+ # data not found in attributes(hash), not an issue as the data can be optional
186
+ end
187
+ end
188
+
189
+ self
190
+ end
191
+
192
+ def _deserialize(type, value)
193
+ case type.to_sym
194
+ when :DateTime
195
+ DateTime.parse(value)
196
+ when :Date
197
+ Date.parse(value)
198
+ when :String
199
+ value.to_s
200
+ when :Integer
201
+ value.to_i
202
+ when :Float
203
+ value.to_f
204
+ when :BOOLEAN
205
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
206
+ true
207
+ else
208
+ false
209
+ end
210
+ when :Object
211
+ # generic object (usually a Hash), return directly
212
+ value
213
+ when /\AArray<(?<inner_type>.+)>\z/
214
+ inner_type = Regexp.last_match[:inner_type]
215
+ value.map { |v| _deserialize(inner_type, v) }
216
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
217
+ k_type = Regexp.last_match[:k_type]
218
+ v_type = Regexp.last_match[:v_type]
219
+ {}.tap do |hash|
220
+ value.each do |k, v|
221
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
222
+ end
223
+ end
224
+ else # model
225
+ _model = Object.const_get("PureCloud").const_get(type).new
226
+ _model.build_from_hash(value)
227
+ end
228
+ end
229
+
230
+ def to_s
231
+ to_hash.to_s
232
+ end
233
+
234
+ # to_body is an alias to to_body (backward compatibility))
235
+ def to_body
236
+ to_hash
237
+ end
238
+
239
+ # return the object in the form of hash
240
+ def to_hash
241
+ hash = {}
242
+ self.class.attribute_map.each_pair do |attr, param|
243
+ value = self.send(attr)
244
+ next if value.nil?
245
+ hash[param] = _to_hash(value)
246
+ end
247
+ hash
248
+ end
249
+
250
+ # Method to output non-array value in the form of hash
251
+ # For object, use to_hash. Otherwise, just return the value
252
+ def _to_hash(value)
253
+ if value.is_a?(Array)
254
+ value.compact.map{ |v| _to_hash(v) }
255
+ elsif value.is_a?(Hash)
256
+ {}.tap do |hash|
257
+ value.each { |k, v| hash[k] = _to_hash(v) }
258
+ end
259
+ elsif value.respond_to? :to_hash
260
+ value.to_hash
261
+ else
262
+ value
263
+ end
264
+ end
265
+
266
+ end
267
+ end