purecloud 0.59.1 → 0.60.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 (256) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/config-ruby.json +1 -1
  4. data/doc_out/AgentActivityEntityListing.html.md +2 -2
  5. data/doc_out/AggregationQuery.html.md +1 -1
  6. data/doc_out/AlertingApi.html.md +1106 -92
  7. data/doc_out/Annotation.html.md +14 -4
  8. data/doc_out/AttemptLimitsEntityListing.html.md +2 -2
  9. data/doc_out/AttributeEntityListing.html.md +2 -2
  10. data/doc_out/CalibrationEntityListing.html.md +2 -2
  11. data/doc_out/CallConversationEntityListing.html.md +2 -2
  12. data/doc_out/CallableTimeSetEntityListing.html.md +2 -2
  13. data/doc_out/CallbackConversationEntityListing.html.md +2 -2
  14. data/doc_out/CampaignEntityListing.html.md +2 -2
  15. data/doc_out/CampaignSequenceEntityListing.html.md +2 -2
  16. data/doc_out/CertificateAuthorityEntityListing.html.md +2 -2
  17. data/doc_out/ChannelEntityListing.html.md +2 -2
  18. data/doc_out/ChatConversationEntityListing.html.md +2 -2
  19. data/doc_out/CobrowseConversationEntityListing.html.md +2 -2
  20. data/doc_out/CommandStatusEntityListing.html.md +2 -2
  21. data/doc_out/ContactListEntityListing.html.md +2 -2
  22. data/doc_out/ContactSort.html.md +1 -1
  23. data/doc_out/ConversationEntityListing.html.md +2 -2
  24. data/doc_out/DIDEntityListing.html.md +2 -2
  25. data/doc_out/DIDPoolEntityListing.html.md +2 -2
  26. data/doc_out/DncListEntityListing.html.md +2 -2
  27. data/doc_out/DocumentAuditEntityListing.html.md +2 -2
  28. data/doc_out/DocumentEntityListing.html.md +2 -2
  29. data/doc_out/DomainEdgeSoftwareVersionDtoEntityListing.html.md +2 -2
  30. data/doc_out/DomainEntityListing.html.md +2 -2
  31. data/doc_out/DomainEntityListingEvaluationForm.html.md +2 -2
  32. data/doc_out/DomainEntityListingQueryResult.html.md +2 -2
  33. data/doc_out/Edge.html.md +1 -1
  34. data/doc_out/EdgeEntityListing.html.md +2 -2
  35. data/doc_out/EdgeGroupEntityListing.html.md +2 -2
  36. data/doc_out/EdgeLineEntityListing.html.md +2 -2
  37. data/doc_out/EmailConversationEntityListing.html.md +2 -2
  38. data/doc_out/EmailMessageListing.html.md +2 -2
  39. data/doc_out/EncryptionKeyEntityListing.html.md +2 -2
  40. data/doc_out/EndpointEntityListing.html.md +2 -2
  41. data/doc_out/EvaluationEntityListing.html.md +2 -2
  42. data/doc_out/EvaluationFormEntityListing.html.md +2 -2
  43. data/doc_out/EvaluatorActivityEntityListing.html.md +2 -2
  44. data/doc_out/ExtensionEntityListing.html.md +2 -2
  45. data/doc_out/ExtensionPoolEntityListing.html.md +2 -2
  46. data/doc_out/FaxDocumentEntityListing.html.md +2 -2
  47. data/doc_out/GroupEntityListing.html.md +2 -2
  48. data/doc_out/HeartBeatAlert.html.md +1 -1
  49. data/doc_out/HeartBeatAlertContainer.html.md +2 -2
  50. data/doc_out/HeartBeatRule.html.md +1 -1
  51. data/doc_out/HeartBeatRuleContainer.html.md +2 -2
  52. data/doc_out/InboundDomainEntityListing.html.md +2 -2
  53. data/doc_out/InboundRouteEntityListing.html.md +2 -2
  54. data/doc_out/InteractionStatsAlert.html.md +1 -1
  55. data/doc_out/InteractionStatsAlertContainer.html.md +2 -2
  56. data/doc_out/InteractionStatsRule.html.md +1 -1
  57. data/doc_out/InteractionStatsRuleContainer.html.md +2 -2
  58. data/doc_out/KeywordSetEntityListing.html.md +2 -2
  59. data/doc_out/LanguageEntityListing.html.md +2 -2
  60. data/doc_out/LibraryEntityListing.html.md +2 -2
  61. data/doc_out/LineBaseEntityListing.html.md +2 -2
  62. data/doc_out/LineEntityListing.html.md +2 -2
  63. data/doc_out/LocalEncryptionConfigurationListing.html.md +2 -2
  64. data/doc_out/LogicalInterfaceEntityListing.html.md +2 -2
  65. data/doc_out/OAuthClient.html.md +2 -2
  66. data/doc_out/OAuthClientEntityListing.html.md +3 -3
  67. data/doc_out/OAuthClientListing.html.md +20 -0
  68. data/doc_out/OAuthProviderEntityListing.html.md +2 -2
  69. data/doc_out/OrganizationPresenceEntityListing.html.md +2 -2
  70. data/doc_out/OrganizationRoleEntityListing.html.md +2 -2
  71. data/doc_out/OrphanRecording.html.md +1 -0
  72. data/doc_out/OrphanRecordingListing.html.md +2 -2
  73. data/doc_out/OrphanUpdateRequest.html.md +15 -0
  74. data/doc_out/OutboundRouteEntityListing.html.md +2 -2
  75. data/doc_out/PermissionCollectionEntityListing.html.md +2 -2
  76. data/doc_out/PhoneBaseEntityListing.html.md +2 -2
  77. data/doc_out/PhoneEntityListing.html.md +2 -2
  78. data/doc_out/PhoneMetaBaseEntityListing.html.md +2 -2
  79. data/doc_out/PhysicalInterfaceEntityListing.html.md +2 -2
  80. data/doc_out/PolicyEntityListing.html.md +2 -2
  81. data/doc_out/QualityApi.html.md +5 -1
  82. data/doc_out/QualityAuditPage.html.md +2 -2
  83. data/doc_out/QueueEntityListing.html.md +2 -2
  84. data/doc_out/QueueMemberEntityListing.html.md +2 -2
  85. data/doc_out/RecordingApi.html.md +132 -4
  86. data/doc_out/ReportMetaDataEntityListing.html.md +2 -2
  87. data/doc_out/ReportRunEntryEntityDomainListing.html.md +2 -2
  88. data/doc_out/ReportScheduleEntityListing.html.md +2 -2
  89. data/doc_out/ResponseEntityList.html.md +2 -2
  90. data/doc_out/ResponseEntityListing.html.md +2 -2
  91. data/doc_out/ResponseSetEntityListing.html.md +2 -2
  92. data/doc_out/RoutingStatusAlert.html.md +23 -0
  93. data/doc_out/RoutingStatusAlertContainer.html.md +22 -0
  94. data/doc_out/RoutingStatusRule.html.md +22 -0
  95. data/doc_out/RoutingStatusRuleContainer.html.md +22 -0
  96. data/doc_out/RuleSetEntityListing.html.md +2 -2
  97. data/doc_out/SchemaCategoryEntityListing.html.md +2 -2
  98. data/doc_out/SchemaReferenceEntityListing.html.md +2 -2
  99. data/doc_out/ScreenRecordingSessionListing.html.md +2 -2
  100. data/doc_out/ScriptEntityListing.html.md +2 -2
  101. data/doc_out/SecurityProfileEntityListing.html.md +2 -2
  102. data/doc_out/ShareEntityListing.html.md +2 -2
  103. data/doc_out/SiteEntityListing.html.md +2 -2
  104. data/doc_out/SkillEntityListing.html.md +2 -2
  105. data/doc_out/StationEntityListing.html.md +2 -2
  106. data/doc_out/StreetAddress.html.md +2 -2
  107. data/doc_out/TagValueEntityListing.html.md +2 -2
  108. data/doc_out/TelephonyProvidersEdgeApi.html.md +21 -17
  109. data/doc_out/TimeZoneEntityListing.html.md +2 -2
  110. data/doc_out/TrunkBaseEntityListing.html.md +2 -2
  111. data/doc_out/TrunkEntityListing.html.md +2 -2
  112. data/doc_out/TrunkMetabaseEntityListing.html.md +2 -2
  113. data/doc_out/UserEntityListing.html.md +2 -2
  114. data/doc_out/UserPresenceAlert.html.md +25 -0
  115. data/doc_out/UserPresenceAlertContainer.html.md +22 -0
  116. data/doc_out/UserPresenceRule.html.md +23 -0
  117. data/doc_out/{UsersEntityListing.html.md → UserPresenceRuleContainer.html.md} +5 -5
  118. data/doc_out/UserQueueEntityListing.html.md +2 -2
  119. data/doc_out/UserRecordingEntityListing.html.md +2 -2
  120. data/doc_out/UserSkillEntityListing.html.md +2 -2
  121. data/doc_out/UsersApi.html.md +2 -2
  122. data/doc_out/WorkspaceEntityListing.html.md +2 -2
  123. data/doc_out/WorkspaceMemberEntityListing.html.md +2 -2
  124. data/doc_out/WrapupCodeEntityListing.html.md +2 -2
  125. data/doc_out/index.html.md +3 -3
  126. data/lib/purecloud.rb +10 -1
  127. data/lib/purecloud/api/alerting_api.rb +1070 -49
  128. data/lib/purecloud/api/quality_api.rb +6 -0
  129. data/lib/purecloud/api/recording_api.rb +140 -2
  130. data/lib/purecloud/api/telephony_providers_edge_api.rb +13 -10
  131. data/lib/purecloud/api/users_api.rb +3 -3
  132. data/lib/purecloud/api_client.rb +1 -1
  133. data/lib/purecloud/models/agent_activity_entity_listing.rb +17 -17
  134. data/lib/purecloud/models/aggregation_query.rb +1 -1
  135. data/lib/purecloud/models/annotation.rb +115 -1
  136. data/lib/purecloud/models/attempt_limits_entity_listing.rb +17 -17
  137. data/lib/purecloud/models/attribute_entity_listing.rb +17 -17
  138. data/lib/purecloud/models/calibration_entity_listing.rb +17 -17
  139. data/lib/purecloud/models/call_conversation_entity_listing.rb +17 -17
  140. data/lib/purecloud/models/callable_time_set_entity_listing.rb +17 -17
  141. data/lib/purecloud/models/callback_conversation_entity_listing.rb +17 -17
  142. data/lib/purecloud/models/campaign_entity_listing.rb +17 -17
  143. data/lib/purecloud/models/campaign_sequence_entity_listing.rb +17 -17
  144. data/lib/purecloud/models/certificate_authority_entity_listing.rb +17 -17
  145. data/lib/purecloud/models/channel_entity_listing.rb +17 -17
  146. data/lib/purecloud/models/chat_conversation_entity_listing.rb +17 -17
  147. data/lib/purecloud/models/cobrowse_conversation_entity_listing.rb +17 -17
  148. data/lib/purecloud/models/command_status_entity_listing.rb +17 -17
  149. data/lib/purecloud/models/contact_list_entity_listing.rb +17 -17
  150. data/lib/purecloud/models/contact_sort.rb +1 -0
  151. data/lib/purecloud/models/conversation_entity_listing.rb +17 -17
  152. data/lib/purecloud/models/did_entity_listing.rb +17 -17
  153. data/lib/purecloud/models/did_pool_entity_listing.rb +17 -17
  154. data/lib/purecloud/models/dnc_list_entity_listing.rb +17 -17
  155. data/lib/purecloud/models/document_audit_entity_listing.rb +17 -17
  156. data/lib/purecloud/models/document_entity_listing.rb +17 -17
  157. data/lib/purecloud/models/domain_edge_software_version_dto_entity_listing.rb +17 -17
  158. data/lib/purecloud/models/domain_entity_listing.rb +17 -17
  159. data/lib/purecloud/models/domain_entity_listing_evaluation_form.rb +17 -17
  160. data/lib/purecloud/models/domain_entity_listing_query_result.rb +17 -17
  161. data/lib/purecloud/models/edge.rb +2 -1
  162. data/lib/purecloud/models/edge_entity_listing.rb +17 -17
  163. data/lib/purecloud/models/edge_group_entity_listing.rb +17 -17
  164. data/lib/purecloud/models/edge_line_entity_listing.rb +17 -17
  165. data/lib/purecloud/models/email_conversation_entity_listing.rb +17 -17
  166. data/lib/purecloud/models/email_message_listing.rb +17 -17
  167. data/lib/purecloud/models/encryption_key_entity_listing.rb +17 -17
  168. data/lib/purecloud/models/endpoint_entity_listing.rb +17 -17
  169. data/lib/purecloud/models/evaluation_entity_listing.rb +17 -17
  170. data/lib/purecloud/models/evaluation_form_entity_listing.rb +17 -17
  171. data/lib/purecloud/models/evaluator_activity_entity_listing.rb +17 -17
  172. data/lib/purecloud/models/extension_entity_listing.rb +17 -17
  173. data/lib/purecloud/models/extension_pool_entity_listing.rb +17 -17
  174. data/lib/purecloud/models/fax_document_entity_listing.rb +17 -17
  175. data/lib/purecloud/models/group_entity_listing.rb +17 -17
  176. data/lib/purecloud/models/group_search_criteria.rb +1 -1
  177. data/lib/purecloud/models/heart_beat_alert.rb +1 -1
  178. data/lib/purecloud/models/heart_beat_alert_container.rb +17 -17
  179. data/lib/purecloud/models/heart_beat_rule.rb +1 -1
  180. data/lib/purecloud/models/heart_beat_rule_container.rb +17 -17
  181. data/lib/purecloud/models/inbound_domain_entity_listing.rb +17 -17
  182. data/lib/purecloud/models/inbound_route_entity_listing.rb +17 -17
  183. data/lib/purecloud/models/interaction_stats_alert.rb +1 -1
  184. data/lib/purecloud/models/interaction_stats_alert_container.rb +17 -17
  185. data/lib/purecloud/models/interaction_stats_rule.rb +1 -1
  186. data/lib/purecloud/models/interaction_stats_rule_container.rb +17 -17
  187. data/lib/purecloud/models/keyword_set_entity_listing.rb +17 -17
  188. data/lib/purecloud/models/language_entity_listing.rb +17 -17
  189. data/lib/purecloud/models/library_entity_listing.rb +17 -17
  190. data/lib/purecloud/models/line_base_entity_listing.rb +17 -17
  191. data/lib/purecloud/models/line_entity_listing.rb +17 -17
  192. data/lib/purecloud/models/local_encryption_configuration_listing.rb +17 -17
  193. data/lib/purecloud/models/location_search_criteria.rb +1 -1
  194. data/lib/purecloud/models/logical_interface_entity_listing.rb +17 -17
  195. data/lib/purecloud/models/o_auth_client_entity_listing.rb +18 -18
  196. data/lib/purecloud/models/o_auth_client_listing.rb +246 -0
  197. data/lib/purecloud/models/o_auth_provider_entity_listing.rb +17 -17
  198. data/lib/purecloud/models/organization_presence_entity_listing.rb +17 -17
  199. data/lib/purecloud/models/organization_role_entity_listing.rb +17 -17
  200. data/lib/purecloud/models/orphan_recording.rb +21 -1
  201. data/lib/purecloud/models/orphan_recording_listing.rb +17 -17
  202. data/lib/purecloud/models/orphan_update_request.rb +188 -0
  203. data/lib/purecloud/models/outbound_route_entity_listing.rb +17 -17
  204. data/lib/purecloud/models/permission_collection_entity_listing.rb +17 -17
  205. data/lib/purecloud/models/phone_base_entity_listing.rb +17 -17
  206. data/lib/purecloud/models/phone_entity_listing.rb +17 -17
  207. data/lib/purecloud/models/phone_meta_base_entity_listing.rb +17 -17
  208. data/lib/purecloud/models/physical_interface_entity_listing.rb +17 -17
  209. data/lib/purecloud/models/policy_entity_listing.rb +17 -17
  210. data/lib/purecloud/models/quality_audit_page.rb +17 -17
  211. data/lib/purecloud/models/queue_entity_listing.rb +17 -17
  212. data/lib/purecloud/models/queue_member_entity_listing.rb +17 -17
  213. data/lib/purecloud/models/report_meta_data_entity_listing.rb +17 -17
  214. data/lib/purecloud/models/report_run_entry_entity_domain_listing.rb +17 -17
  215. data/lib/purecloud/models/report_schedule_entity_listing.rb +17 -17
  216. data/lib/purecloud/models/response_entity_list.rb +17 -17
  217. data/lib/purecloud/models/response_entity_listing.rb +17 -17
  218. data/lib/purecloud/models/response_set_entity_listing.rb +17 -17
  219. data/lib/purecloud/models/routing_status_alert.rb +289 -0
  220. data/lib/purecloud/models/routing_status_alert_container.rb +257 -0
  221. data/lib/purecloud/models/routing_status_rule.rb +282 -0
  222. data/lib/purecloud/models/routing_status_rule_container.rb +257 -0
  223. data/lib/purecloud/models/rule_set_entity_listing.rb +17 -17
  224. data/lib/purecloud/models/schema_category_entity_listing.rb +17 -17
  225. data/lib/purecloud/models/schema_reference_entity_listing.rb +17 -17
  226. data/lib/purecloud/models/screen_recording_session_listing.rb +17 -17
  227. data/lib/purecloud/models/script_entity_listing.rb +17 -17
  228. data/lib/purecloud/models/security_profile_entity_listing.rb +17 -17
  229. data/lib/purecloud/models/share_entity_listing.rb +17 -17
  230. data/lib/purecloud/models/site_entity_listing.rb +17 -17
  231. data/lib/purecloud/models/skill_entity_listing.rb +17 -17
  232. data/lib/purecloud/models/station_entity_listing.rb +17 -17
  233. data/lib/purecloud/models/street_address.rb +2 -0
  234. data/lib/purecloud/models/tag_value_entity_listing.rb +17 -17
  235. data/lib/purecloud/models/time_zone_entity_listing.rb +17 -17
  236. data/lib/purecloud/models/trunk_base_entity_listing.rb +17 -17
  237. data/lib/purecloud/models/trunk_entity_listing.rb +17 -17
  238. data/lib/purecloud/models/trunk_metabase_entity_listing.rb +17 -17
  239. data/lib/purecloud/models/user_entity_listing.rb +17 -17
  240. data/lib/purecloud/models/user_presence_alert.rb +310 -0
  241. data/lib/purecloud/models/user_presence_alert_container.rb +257 -0
  242. data/lib/purecloud/models/user_presence_rule.rb +293 -0
  243. data/lib/purecloud/models/{users_entity_listing.rb → user_presence_rule_container.rb} +19 -19
  244. data/lib/purecloud/models/user_queue_entity_listing.rb +17 -17
  245. data/lib/purecloud/models/user_recording_entity_listing.rb +17 -17
  246. data/lib/purecloud/models/user_schedule_adherence.rb +3 -3
  247. data/lib/purecloud/models/user_search_criteria.rb +1 -1
  248. data/lib/purecloud/models/user_skill_entity_listing.rb +17 -17
  249. data/lib/purecloud/models/workspace_entity_listing.rb +17 -17
  250. data/lib/purecloud/models/workspace_member_entity_listing.rb +17 -17
  251. data/lib/purecloud/models/wrapup_code_entity_listing.rb +17 -17
  252. data/lib/purecloud/version.rb +1 -1
  253. data/newVersion.md +1 -1
  254. data/swagger.json +1 -1
  255. data/version.json +1 -1
  256. metadata +22 -4
@@ -0,0 +1,293 @@
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 UserPresenceRule
21
+ # The globally unique identifier for the object.
22
+ attr_accessor :id
23
+
24
+ # Name of the rule
25
+ attr_accessor :name
26
+
27
+ # The user whose presence will be watched.
28
+ attr_accessor :presence_user
29
+
30
+ # Indicates to which presence type the presence value belongs.
31
+ attr_accessor :presence_type
32
+
33
+ # The Org's UUID or Systems enum constance indicating the presence of concern.
34
+ attr_accessor :presence_value
35
+
36
+ # The number of seconds to wait before alerting based upon the user's presence.
37
+ attr_accessor :presence_limit_in_seconds
38
+
39
+ # Indicates if the rule is enabled.
40
+ attr_accessor :enabled
41
+
42
+ # Indicates if the rule is in alarm state.
43
+ attr_accessor :in_alarm
44
+
45
+ # The ids of users who will be notified of alarm state change.
46
+ attr_accessor :notification_users
47
+
48
+ # A collection of notification methods.
49
+ attr_accessor :alert_types
50
+
51
+ # The URI for this object
52
+ attr_accessor :self_uri
53
+
54
+ # Attribute mapping from ruby-style variable name to JSON key.
55
+ def self.attribute_map
56
+ {
57
+
58
+ :'id' => :'id',
59
+
60
+ :'name' => :'name',
61
+
62
+ :'presence_user' => :'presenceUser',
63
+
64
+ :'presence_type' => :'presenceType',
65
+
66
+ :'presence_value' => :'presenceValue',
67
+
68
+ :'presence_limit_in_seconds' => :'presenceLimitInSeconds',
69
+
70
+ :'enabled' => :'enabled',
71
+
72
+ :'in_alarm' => :'inAlarm',
73
+
74
+ :'notification_users' => :'notificationUsers',
75
+
76
+ :'alert_types' => :'alertTypes',
77
+
78
+ :'self_uri' => :'selfUri'
79
+
80
+ }
81
+ end
82
+
83
+ # Attribute type mapping.
84
+ def self.swagger_types
85
+ {
86
+ :'id' => :'String',
87
+ :'name' => :'String',
88
+ :'presence_user' => :'User',
89
+ :'presence_type' => :'String',
90
+ :'presence_value' => :'String',
91
+ :'presence_limit_in_seconds' => :'Integer',
92
+ :'enabled' => :'BOOLEAN',
93
+ :'in_alarm' => :'BOOLEAN',
94
+ :'notification_users' => :'Array<User>',
95
+ :'alert_types' => :'Array<String>',
96
+ :'self_uri' => :'String'
97
+
98
+ }
99
+ end
100
+
101
+ def initialize(attributes = {})
102
+ return unless attributes.is_a?(Hash)
103
+
104
+ # convert string to symbol for hash key
105
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
106
+
107
+
108
+ if attributes[:'id']
109
+ self.id = attributes[:'id']
110
+ end
111
+
112
+ if attributes[:'name']
113
+ self.name = attributes[:'name']
114
+ end
115
+
116
+ if attributes[:'presenceUser']
117
+ self.presence_user = attributes[:'presenceUser']
118
+ end
119
+
120
+ if attributes[:'presenceType']
121
+ self.presence_type = attributes[:'presenceType']
122
+ end
123
+
124
+ if attributes[:'presenceValue']
125
+ self.presence_value = attributes[:'presenceValue']
126
+ end
127
+
128
+ if attributes[:'presenceLimitInSeconds']
129
+ self.presence_limit_in_seconds = attributes[:'presenceLimitInSeconds']
130
+ end
131
+
132
+ if attributes[:'enabled']
133
+ self.enabled = attributes[:'enabled']
134
+ else
135
+ self.enabled = false
136
+ end
137
+
138
+ if attributes[:'inAlarm']
139
+ self.in_alarm = attributes[:'inAlarm']
140
+ else
141
+ self.in_alarm = false
142
+ end
143
+
144
+ if attributes[:'notificationUsers']
145
+ if (value = attributes[:'notificationUsers']).is_a?(Array)
146
+ self.notification_users = value
147
+ end
148
+ end
149
+
150
+ if attributes[:'alertTypes']
151
+ if (value = attributes[:'alertTypes']).is_a?(Array)
152
+ self.alert_types = value
153
+ end
154
+ end
155
+
156
+ if attributes[:'selfUri']
157
+ self.self_uri = attributes[:'selfUri']
158
+ end
159
+
160
+ end
161
+
162
+ # Custom attribute writer method checking allowed values (enum).
163
+ def presence_type=(presence_type)
164
+ allowed_values = ["SYSTEM", "ORGANIZATION"]
165
+ if presence_type && !allowed_values.include?(presence_type)
166
+ fail "invalid value for 'presence_type', must be one of #{allowed_values}"
167
+ end
168
+ @presence_type = presence_type
169
+ end
170
+
171
+ # Check equality by comparing each attribute.
172
+ def ==(o)
173
+ return true if self.equal?(o)
174
+ self.class == o.class &&
175
+ id == o.id &&
176
+ name == o.name &&
177
+ presence_user == o.presence_user &&
178
+ presence_type == o.presence_type &&
179
+ presence_value == o.presence_value &&
180
+ presence_limit_in_seconds == o.presence_limit_in_seconds &&
181
+ enabled == o.enabled &&
182
+ in_alarm == o.in_alarm &&
183
+ notification_users == o.notification_users &&
184
+ alert_types == o.alert_types &&
185
+ self_uri == o.self_uri
186
+ end
187
+
188
+ # @see the `==` method
189
+ def eql?(o)
190
+ self == o
191
+ end
192
+
193
+ # Calculate hash code according to all attributes.
194
+ def hash
195
+ [id, name, presence_user, presence_type, presence_value, presence_limit_in_seconds, enabled, in_alarm, notification_users, alert_types, self_uri].hash
196
+ end
197
+
198
+ # build the object from hash
199
+ def build_from_hash(attributes)
200
+ return nil unless attributes.is_a?(Hash)
201
+ self.class.swagger_types.each_pair do |key, type|
202
+ if type =~ /^Array<(.*)>/i
203
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
204
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
205
+ else
206
+ #TODO show warning in debug mode
207
+ end
208
+ elsif !attributes[self.class.attribute_map[key]].nil?
209
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
210
+ else
211
+ # data not found in attributes(hash), not an issue as the data can be optional
212
+ end
213
+ end
214
+
215
+ self
216
+ end
217
+
218
+ def _deserialize(type, value)
219
+ case type.to_sym
220
+ when :DateTime
221
+ DateTime.parse(value)
222
+ when :Date
223
+ Date.parse(value)
224
+ when :String
225
+ value.to_s
226
+ when :Integer
227
+ value.to_i
228
+ when :Float
229
+ value.to_f
230
+ when :BOOLEAN
231
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
232
+ true
233
+ else
234
+ false
235
+ end
236
+ when :Object
237
+ # generic object (usually a Hash), return directly
238
+ value
239
+ when /\AArray<(?<inner_type>.+)>\z/
240
+ inner_type = Regexp.last_match[:inner_type]
241
+ value.map { |v| _deserialize(inner_type, v) }
242
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
243
+ k_type = Regexp.last_match[:k_type]
244
+ v_type = Regexp.last_match[:v_type]
245
+ {}.tap do |hash|
246
+ value.each do |k, v|
247
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
248
+ end
249
+ end
250
+ else # model
251
+ _model = Object.const_get("PureCloud").const_get(type).new
252
+ _model.build_from_hash(value)
253
+ end
254
+ end
255
+
256
+ def to_s
257
+ to_hash.to_s
258
+ end
259
+
260
+ # to_body is an alias to to_body (backward compatibility))
261
+ def to_body
262
+ to_hash
263
+ end
264
+
265
+ # return the object in the form of hash
266
+ def to_hash
267
+ hash = {}
268
+ self.class.attribute_map.each_pair do |attr, param|
269
+ value = self.send(attr)
270
+ next if value.nil?
271
+ hash[param] = _to_hash(value)
272
+ end
273
+ hash
274
+ end
275
+
276
+ # Method to output non-array value in the form of hash
277
+ # For object, use to_hash. Otherwise, just return the value
278
+ def _to_hash(value)
279
+ if value.is_a?(Array)
280
+ value.compact.map{ |v| _to_hash(v) }
281
+ elsif value.is_a?(Hash)
282
+ {}.tap do |hash|
283
+ value.each { |k, v| hash[k] = _to_hash(v) }
284
+ end
285
+ elsif value.respond_to? :to_hash
286
+ value.to_hash
287
+ else
288
+ value
289
+ end
290
+ end
291
+
292
+ end
293
+ end
@@ -17,7 +17,7 @@ Terms of Service: https://developer.mypurecloud.com/tos
17
17
  require 'date'
18
18
 
19
19
  module PureCloud
20
- class UsersEntityListing
20
+ class UserPresenceRuleContainer
21
21
  attr_accessor :entities
22
22
 
23
23
  attr_accessor :page_size
@@ -26,16 +26,16 @@ module PureCloud
26
26
 
27
27
  attr_accessor :total
28
28
 
29
+ attr_accessor :first_uri
30
+
29
31
  attr_accessor :self_uri
30
32
 
31
- attr_accessor :first_uri
33
+ attr_accessor :previous_uri
32
34
 
33
35
  attr_accessor :next_uri
34
36
 
35
37
  attr_accessor :last_uri
36
38
 
37
- attr_accessor :previous_uri
38
-
39
39
  attr_accessor :page_count
40
40
 
41
41
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -50,16 +50,16 @@ module PureCloud
50
50
 
51
51
  :'total' => :'total',
52
52
 
53
+ :'first_uri' => :'firstUri',
54
+
53
55
  :'self_uri' => :'selfUri',
54
56
 
55
- :'first_uri' => :'firstUri',
57
+ :'previous_uri' => :'previousUri',
56
58
 
57
59
  :'next_uri' => :'nextUri',
58
60
 
59
61
  :'last_uri' => :'lastUri',
60
62
 
61
- :'previous_uri' => :'previousUri',
62
-
63
63
  :'page_count' => :'pageCount'
64
64
 
65
65
  }
@@ -68,15 +68,15 @@ module PureCloud
68
68
  # Attribute type mapping.
69
69
  def self.swagger_types
70
70
  {
71
- :'entities' => :'Array<User>',
71
+ :'entities' => :'Array<UserPresenceRule>',
72
72
  :'page_size' => :'Integer',
73
73
  :'page_number' => :'Integer',
74
74
  :'total' => :'Integer',
75
- :'self_uri' => :'String',
76
75
  :'first_uri' => :'String',
76
+ :'self_uri' => :'String',
77
+ :'previous_uri' => :'String',
77
78
  :'next_uri' => :'String',
78
79
  :'last_uri' => :'String',
79
- :'previous_uri' => :'String',
80
80
  :'page_count' => :'Integer'
81
81
 
82
82
  }
@@ -107,12 +107,16 @@ module PureCloud
107
107
  self.total = attributes[:'total']
108
108
  end
109
109
 
110
+ if attributes[:'firstUri']
111
+ self.first_uri = attributes[:'firstUri']
112
+ end
113
+
110
114
  if attributes[:'selfUri']
111
115
  self.self_uri = attributes[:'selfUri']
112
116
  end
113
117
 
114
- if attributes[:'firstUri']
115
- self.first_uri = attributes[:'firstUri']
118
+ if attributes[:'previousUri']
119
+ self.previous_uri = attributes[:'previousUri']
116
120
  end
117
121
 
118
122
  if attributes[:'nextUri']
@@ -123,10 +127,6 @@ module PureCloud
123
127
  self.last_uri = attributes[:'lastUri']
124
128
  end
125
129
 
126
- if attributes[:'previousUri']
127
- self.previous_uri = attributes[:'previousUri']
128
- end
129
-
130
130
  if attributes[:'pageCount']
131
131
  self.page_count = attributes[:'pageCount']
132
132
  end
@@ -141,11 +141,11 @@ module PureCloud
141
141
  page_size == o.page_size &&
142
142
  page_number == o.page_number &&
143
143
  total == o.total &&
144
- self_uri == o.self_uri &&
145
144
  first_uri == o.first_uri &&
145
+ self_uri == o.self_uri &&
146
+ previous_uri == o.previous_uri &&
146
147
  next_uri == o.next_uri &&
147
148
  last_uri == o.last_uri &&
148
- previous_uri == o.previous_uri &&
149
149
  page_count == o.page_count
150
150
  end
151
151
 
@@ -156,7 +156,7 @@ module PureCloud
156
156
 
157
157
  # Calculate hash code according to all attributes.
158
158
  def hash
159
- [entities, page_size, page_number, total, self_uri, first_uri, next_uri, last_uri, previous_uri, page_count].hash
159
+ [entities, page_size, page_number, total, first_uri, self_uri, previous_uri, next_uri, last_uri, page_count].hash
160
160
  end
161
161
 
162
162
  # build the object from hash
@@ -26,16 +26,16 @@ module PureCloud
26
26
 
27
27
  attr_accessor :total
28
28
 
29
+ attr_accessor :first_uri
30
+
29
31
  attr_accessor :self_uri
30
32
 
31
- attr_accessor :first_uri
33
+ attr_accessor :previous_uri
32
34
 
33
35
  attr_accessor :next_uri
34
36
 
35
37
  attr_accessor :last_uri
36
38
 
37
- attr_accessor :previous_uri
38
-
39
39
  attr_accessor :page_count
40
40
 
41
41
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -50,16 +50,16 @@ module PureCloud
50
50
 
51
51
  :'total' => :'total',
52
52
 
53
+ :'first_uri' => :'firstUri',
54
+
53
55
  :'self_uri' => :'selfUri',
54
56
 
55
- :'first_uri' => :'firstUri',
57
+ :'previous_uri' => :'previousUri',
56
58
 
57
59
  :'next_uri' => :'nextUri',
58
60
 
59
61
  :'last_uri' => :'lastUri',
60
62
 
61
- :'previous_uri' => :'previousUri',
62
-
63
63
  :'page_count' => :'pageCount'
64
64
 
65
65
  }
@@ -72,11 +72,11 @@ module PureCloud
72
72
  :'page_size' => :'Integer',
73
73
  :'page_number' => :'Integer',
74
74
  :'total' => :'Integer',
75
- :'self_uri' => :'String',
76
75
  :'first_uri' => :'String',
76
+ :'self_uri' => :'String',
77
+ :'previous_uri' => :'String',
77
78
  :'next_uri' => :'String',
78
79
  :'last_uri' => :'String',
79
- :'previous_uri' => :'String',
80
80
  :'page_count' => :'Integer'
81
81
 
82
82
  }
@@ -107,12 +107,16 @@ module PureCloud
107
107
  self.total = attributes[:'total']
108
108
  end
109
109
 
110
+ if attributes[:'firstUri']
111
+ self.first_uri = attributes[:'firstUri']
112
+ end
113
+
110
114
  if attributes[:'selfUri']
111
115
  self.self_uri = attributes[:'selfUri']
112
116
  end
113
117
 
114
- if attributes[:'firstUri']
115
- self.first_uri = attributes[:'firstUri']
118
+ if attributes[:'previousUri']
119
+ self.previous_uri = attributes[:'previousUri']
116
120
  end
117
121
 
118
122
  if attributes[:'nextUri']
@@ -123,10 +127,6 @@ module PureCloud
123
127
  self.last_uri = attributes[:'lastUri']
124
128
  end
125
129
 
126
- if attributes[:'previousUri']
127
- self.previous_uri = attributes[:'previousUri']
128
- end
129
-
130
130
  if attributes[:'pageCount']
131
131
  self.page_count = attributes[:'pageCount']
132
132
  end
@@ -141,11 +141,11 @@ module PureCloud
141
141
  page_size == o.page_size &&
142
142
  page_number == o.page_number &&
143
143
  total == o.total &&
144
- self_uri == o.self_uri &&
145
144
  first_uri == o.first_uri &&
145
+ self_uri == o.self_uri &&
146
+ previous_uri == o.previous_uri &&
146
147
  next_uri == o.next_uri &&
147
148
  last_uri == o.last_uri &&
148
- previous_uri == o.previous_uri &&
149
149
  page_count == o.page_count
150
150
  end
151
151
 
@@ -156,7 +156,7 @@ module PureCloud
156
156
 
157
157
  # Calculate hash code according to all attributes.
158
158
  def hash
159
- [entities, page_size, page_number, total, self_uri, first_uri, next_uri, last_uri, previous_uri, page_count].hash
159
+ [entities, page_size, page_number, total, first_uri, self_uri, previous_uri, next_uri, last_uri, page_count].hash
160
160
  end
161
161
 
162
162
  # build the object from hash