purecloudplatformclientv2 62.0.0 → 66.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (343) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/docs/AnalyticsApi.md +32 -32
  4. data/docs/AnalyticsEvaluation.md +2 -0
  5. data/docs/AnalyticsParticipant.md +1 -0
  6. data/docs/ArchitectDependencyTrackingBuildNotificationClient.md +14 -0
  7. data/docs/ArchitectDependencyTrackingBuildNotificationDependencyTrackingBuildNotification.md +1 -0
  8. data/docs/ArchitectFlowNotificationArchitectOperation.md +1 -0
  9. data/docs/ArchitectFlowNotificationClient.md +14 -0
  10. data/docs/ArchitectFlowOutcomeNotificationArchitectOperation.md +1 -0
  11. data/docs/ArchitectFlowOutcomeNotificationClient.md +14 -0
  12. data/docs/ArchitectPromptNotificationArchitectOperation.md +1 -0
  13. data/docs/ArchitectPromptNotificationClient.md +14 -0
  14. data/docs/ArrayNode.md +5 -5
  15. data/docs/AsyncConversationQuery.md +7 -6
  16. data/docs/AuthorizationApi.md +7 -7
  17. data/docs/CallConversation.md +1 -0
  18. data/docs/ConversationAggregateDataContainer.md +14 -0
  19. data/docs/ConversationAggregateQueryClause.md +14 -0
  20. data/docs/ConversationAggregateQueryFilter.md +15 -0
  21. data/docs/ConversationAggregateQueryPredicate.md +17 -0
  22. data/docs/ConversationAggregateQueryResponse.md +13 -0
  23. data/docs/ConversationAggregationQuery.md +20 -0
  24. data/docs/ConversationAggregationView.md +16 -0
  25. data/docs/ConversationDetailQueryClause.md +14 -0
  26. data/docs/ConversationDetailQueryFilter.md +15 -0
  27. data/docs/ConversationDetailQueryPredicate.md +18 -0
  28. data/docs/ConversationQuery.md +6 -6
  29. data/docs/ConversationsApi.md +286 -4
  30. data/docs/CreateQueueMediaAssociationRequest.md +1 -0
  31. data/docs/DataSchema.md +1 -1
  32. data/docs/DependencyStatus.md +2 -1
  33. data/docs/DomainOrganizationRole.md +1 -1
  34. data/docs/DomainOrganizationRoleCreate.md +1 -1
  35. data/docs/DomainOrganizationRoleUpdate.md +1 -1
  36. data/docs/EvaluationAggregateDataContainer.md +14 -0
  37. data/docs/EvaluationAggregateQueryClause.md +14 -0
  38. data/docs/EvaluationAggregateQueryFilter.md +15 -0
  39. data/docs/EvaluationAggregateQueryPredicate.md +17 -0
  40. data/docs/EvaluationAggregateQueryResponse.md +13 -0
  41. data/docs/EvaluationAggregationQuery.md +21 -0
  42. data/docs/EvaluationAggregationView.md +16 -0
  43. data/docs/EvaluationDetailQueryClause.md +14 -0
  44. data/docs/EvaluationDetailQueryFilter.md +15 -0
  45. data/docs/EvaluationDetailQueryPredicate.md +18 -0
  46. data/docs/Flow.md +2 -1
  47. data/docs/{AggregateDataContainer.md → FlowAggregateDataContainer.md} +2 -2
  48. data/docs/FlowAggregateQueryClause.md +14 -0
  49. data/docs/FlowAggregateQueryFilter.md +15 -0
  50. data/docs/FlowAggregateQueryPredicate.md +17 -0
  51. data/docs/FlowAggregateQueryResponse.md +13 -0
  52. data/docs/{AggregationQuery.md → FlowAggregationQuery.md} +4 -4
  53. data/docs/{AnalyticsView.md → FlowAggregationView.md} +3 -3
  54. data/docs/{ObservationDataContainer.md → FlowObservationDataContainer.md} +2 -2
  55. data/docs/{ObservationQuery.md → FlowObservationQuery.md} +3 -3
  56. data/docs/FlowObservationQueryClause.md +14 -0
  57. data/docs/FlowObservationQueryFilter.md +15 -0
  58. data/docs/FlowObservationQueryPredicate.md +17 -0
  59. data/docs/FlowObservationQueryResponse.md +13 -0
  60. data/docs/FlowVersion.md +1 -0
  61. data/docs/FlowsApi.md +8 -8
  62. data/docs/HistoryEntry.md +2 -1
  63. data/docs/HistoryListing.md +1 -0
  64. data/docs/HomerRecord.md +63 -0
  65. data/docs/IpAddressRange.md +15 -0
  66. data/docs/IpAddressRangeListing.md +13 -0
  67. data/docs/JsonNode.md +5 -5
  68. data/docs/Location.md +4 -4
  69. data/docs/{LocationUpdateDefinition.md → LocationCreateUpdateDefinition.md} +7 -6
  70. data/docs/LocationDefinition.md +1 -0
  71. data/docs/LocationSearchRequest.md +1 -0
  72. data/docs/LocationsApi.md +6 -6
  73. data/docs/Manager.md +1 -1
  74. data/docs/MediaEndpointStatDetailQueryClause.md +14 -0
  75. data/docs/MediaEndpointStatDetailQueryFilter.md +15 -0
  76. data/docs/MediaEndpointStatDetailQueryPredicate.md +17 -0
  77. data/docs/MessageInfo.md +4 -4
  78. data/docs/ObjectsApi.md +1 -1
  79. data/docs/Operation.md +1 -0
  80. data/docs/PresenceDetailQueryClause.md +14 -0
  81. data/docs/PresenceDetailQueryFilter.md +15 -0
  82. data/docs/PresenceDetailQueryPredicate.md +17 -0
  83. data/docs/QualityApi.md +8 -8
  84. data/docs/QueueMediaAssociation.md +1 -1
  85. data/docs/QueueObservationDataContainer.md +14 -0
  86. data/docs/QueueObservationQuery.md +15 -0
  87. data/docs/QueueObservationQueryClause.md +14 -0
  88. data/docs/QueueObservationQueryFilter.md +15 -0
  89. data/docs/QueueObservationQueryPredicate.md +17 -0
  90. data/docs/{QualifierMappingObservationQueryResponse.md → QueueObservationQueryResponse.md} +3 -3
  91. data/docs/Recording.md +5 -4
  92. data/docs/RecordingApi.md +2 -2
  93. data/docs/RecordingJob.md +1 -0
  94. data/docs/RecordingJobsQuery.md +2 -2
  95. data/docs/RecordingMetadata.md +30 -0
  96. data/docs/ReportingExportJobRequest.md +2 -0
  97. data/docs/ReportingExportJobResponse.md +2 -0
  98. data/docs/RoutingApi.md +4 -4
  99. data/docs/RoutingStatusDetailQueryClause.md +14 -0
  100. data/docs/RoutingStatusDetailQueryFilter.md +15 -0
  101. data/docs/RoutingStatusDetailQueryPredicate.md +17 -0
  102. data/docs/SCIMApi.md +295 -31
  103. data/docs/SIPSearchPublicRequest.md +22 -0
  104. data/docs/ScimConfigResourceType.md +20 -0
  105. data/docs/ScimConfigResourceTypeSchemaExtension.md +14 -0
  106. data/docs/ScimConfigResourceTypesListResponse.md +17 -0
  107. data/docs/ScimError.md +16 -0
  108. data/docs/ScimGroupListResponse.md +2 -2
  109. data/docs/ScimMetadata.md +2 -2
  110. data/docs/ScimPhoneNumber.md +1 -1
  111. data/docs/ScimServiceProviderConfig.md +10 -2
  112. data/docs/ScimServiceProviderConfigAuthenticationScheme.md +18 -0
  113. data/docs/ScimServiceProviderConfigBulkFeature.md +15 -0
  114. data/docs/ScimServiceProviderConfigFilterFeature.md +14 -0
  115. data/docs/ScimServiceProviderConfigSimpleFeature.md +13 -0
  116. data/docs/ScimUserListResponse.md +2 -2
  117. data/docs/ScimV2CreateUser.md +8 -8
  118. data/docs/ScimV2Group.md +3 -3
  119. data/docs/ScimV2GroupReference.md +2 -2
  120. data/docs/ScimV2MemberReference.md +2 -2
  121. data/docs/ScimV2PatchOperation.md +2 -2
  122. data/docs/ScimV2PatchRequest.md +2 -2
  123. data/docs/ScimV2User.md +9 -9
  124. data/docs/SearchApi.md +4 -4
  125. data/docs/SegmentDetailQueryClause.md +14 -0
  126. data/docs/SegmentDetailQueryFilter.md +15 -0
  127. data/docs/{AnalyticsQueryPredicate.md → SegmentDetailQueryPredicate.md} +4 -4
  128. data/docs/SignedUrlResponse.md +16 -0
  129. data/docs/SipDownloadResponse.md +14 -0
  130. data/docs/SipSearchResult.md +20 -0
  131. data/docs/Site.md +1 -0
  132. data/docs/SmsPhoneNumber.md +1 -0
  133. data/docs/SuggestApi.md +2 -2
  134. data/docs/SurveyAggregateDataContainer.md +14 -0
  135. data/docs/SurveyAggregateQueryClause.md +14 -0
  136. data/docs/SurveyAggregateQueryFilter.md +15 -0
  137. data/docs/SurveyAggregateQueryPredicate.md +17 -0
  138. data/docs/SurveyAggregateQueryResponse.md +13 -0
  139. data/docs/SurveyAggregationQuery.md +20 -0
  140. data/docs/SurveyAggregationView.md +16 -0
  141. data/docs/SurveyDetailQueryClause.md +14 -0
  142. data/docs/SurveyDetailQueryFilter.md +15 -0
  143. data/docs/SurveyDetailQueryPredicate.md +18 -0
  144. data/docs/TelephonyApi.md +223 -0
  145. data/docs/TelephonyProvidersEdgeApi.md +6 -6
  146. data/docs/TokensApi.md +2 -1
  147. data/docs/TrusteeBillingOverview.md +1 -0
  148. data/docs/UserAggregateDataContainer.md +14 -0
  149. data/docs/UserAggregateQueryClause.md +14 -0
  150. data/docs/UserAggregateQueryFilter.md +15 -0
  151. data/docs/UserAggregateQueryPredicate.md +17 -0
  152. data/docs/{PresenceQueryResponse.md → UserAggregateQueryResponse.md} +3 -3
  153. data/docs/UserAggregationQuery.md +20 -0
  154. data/docs/UserAggregationView.md +16 -0
  155. data/docs/UserAuthorization.md +1 -1
  156. data/docs/UserDetailQueryClause.md +14 -0
  157. data/docs/UserDetailQueryFilter.md +15 -0
  158. data/docs/UserDetailQueryPredicate.md +17 -0
  159. data/docs/UserDetailsQuery.md +4 -4
  160. data/docs/UserObservationDataContainer.md +14 -0
  161. data/docs/UserObservationQuery.md +15 -0
  162. data/docs/UserObservationQueryClause.md +14 -0
  163. data/docs/UserObservationQueryFilter.md +15 -0
  164. data/docs/UserObservationQueryPredicate.md +17 -0
  165. data/docs/UserObservationQueryResponse.md +13 -0
  166. data/docs/UsersApi.md +10 -10
  167. data/docs/UtilitiesApi.md +59 -0
  168. data/lib/purecloudplatformclientv2.rb +99 -13
  169. data/lib/purecloudplatformclientv2/api/analytics_api.rb +24 -24
  170. data/lib/purecloudplatformclientv2/api/authorization_api.rb +8 -8
  171. data/lib/purecloudplatformclientv2/api/conversations_api.rb +343 -3
  172. data/lib/purecloudplatformclientv2/api/flows_api.rb +6 -6
  173. data/lib/purecloudplatformclientv2/api/locations_api.rb +2 -2
  174. data/lib/purecloudplatformclientv2/api/objects_api.rb +2 -2
  175. data/lib/purecloudplatformclientv2/api/quality_api.rb +6 -6
  176. data/lib/purecloudplatformclientv2/api/recording_api.rb +3 -3
  177. data/lib/purecloudplatformclientv2/api/routing_api.rb +3 -3
  178. data/lib/purecloudplatformclientv2/api/scim_api.rb +344 -30
  179. data/lib/purecloudplatformclientv2/api/search_api.rb +2 -2
  180. data/lib/purecloudplatformclientv2/api/telephony_api.rb +270 -0
  181. data/lib/purecloudplatformclientv2/api/telephony_providers_edge_api.rb +4 -4
  182. data/lib/purecloudplatformclientv2/api/users_api.rb +8 -8
  183. data/lib/purecloudplatformclientv2/api/utilities_api.rb +55 -0
  184. data/lib/purecloudplatformclientv2/api_client.rb +1 -1
  185. data/lib/purecloudplatformclientv2/models/aggregate_metric_data.rb +1 -15
  186. data/lib/purecloudplatformclientv2/models/analytics_evaluation.rb +53 -1
  187. data/lib/purecloudplatformclientv2/models/analytics_participant.rb +31 -3
  188. data/lib/purecloudplatformclientv2/models/architect_dependency_tracking_build_notification_client.rb +226 -0
  189. data/lib/purecloudplatformclientv2/models/architect_dependency_tracking_build_notification_dependency_tracking_build_notification.rb +26 -1
  190. data/lib/purecloudplatformclientv2/models/architect_flow_notification_architect_operation.rb +26 -1
  191. data/lib/purecloudplatformclientv2/models/architect_flow_notification_client.rb +226 -0
  192. data/lib/purecloudplatformclientv2/models/architect_flow_outcome_notification_architect_operation.rb +26 -1
  193. data/lib/purecloudplatformclientv2/models/architect_flow_outcome_notification_client.rb +226 -0
  194. data/lib/purecloudplatformclientv2/models/architect_prompt_notification_architect_operation.rb +26 -1
  195. data/lib/purecloudplatformclientv2/models/architect_prompt_notification_client.rb +226 -0
  196. data/lib/purecloudplatformclientv2/models/array_node.rb +51 -51
  197. data/lib/purecloudplatformclientv2/models/async_conversation_query.rb +57 -31
  198. data/lib/purecloudplatformclientv2/models/call_conversation.rb +27 -1
  199. data/lib/purecloudplatformclientv2/models/conversation_aggregate_data_container.rb +231 -0
  200. data/lib/purecloudplatformclientv2/models/{analytics_query_clause.rb → conversation_aggregate_query_clause.rb} +3 -3
  201. data/lib/purecloudplatformclientv2/models/{analytics_query_filter.rb → conversation_aggregate_query_filter.rb} +4 -4
  202. data/lib/purecloudplatformclientv2/models/conversation_aggregate_query_predicate.rb +348 -0
  203. data/lib/purecloudplatformclientv2/models/conversation_aggregate_query_response.rb +203 -0
  204. data/lib/purecloudplatformclientv2/models/conversation_aggregation_query.rb +390 -0
  205. data/lib/purecloudplatformclientv2/models/conversation_aggregation_view.rb +323 -0
  206. data/lib/purecloudplatformclientv2/models/conversation_detail_query_clause.rb +254 -0
  207. data/lib/purecloudplatformclientv2/models/conversation_detail_query_filter.rb +277 -0
  208. data/lib/purecloudplatformclientv2/models/conversation_detail_query_predicate.rb +388 -0
  209. data/lib/purecloudplatformclientv2/models/conversation_query.rb +28 -28
  210. data/lib/purecloudplatformclientv2/models/create_queue_media_association_request.rb +27 -1
  211. data/lib/purecloudplatformclientv2/models/data_schema.rb +1 -1
  212. data/lib/purecloudplatformclientv2/models/dependency_status.rb +28 -1
  213. data/lib/purecloudplatformclientv2/models/domain_organization_role.rb +1 -0
  214. data/lib/purecloudplatformclientv2/models/domain_organization_role_create.rb +1 -0
  215. data/lib/purecloudplatformclientv2/models/domain_organization_role_update.rb +1 -0
  216. data/lib/purecloudplatformclientv2/models/evaluation_aggregate_data_container.rb +231 -0
  217. data/lib/purecloudplatformclientv2/models/evaluation_aggregate_query_clause.rb +254 -0
  218. data/lib/purecloudplatformclientv2/models/evaluation_aggregate_query_filter.rb +277 -0
  219. data/lib/purecloudplatformclientv2/models/evaluation_aggregate_query_predicate.rb +348 -0
  220. data/lib/purecloudplatformclientv2/models/evaluation_aggregate_query_response.rb +203 -0
  221. data/lib/purecloudplatformclientv2/models/evaluation_aggregation_query.rb +430 -0
  222. data/lib/purecloudplatformclientv2/models/evaluation_aggregation_view.rb +323 -0
  223. data/lib/purecloudplatformclientv2/models/evaluation_detail_query_clause.rb +254 -0
  224. data/lib/purecloudplatformclientv2/models/evaluation_detail_query_filter.rb +277 -0
  225. data/lib/purecloudplatformclientv2/models/evaluation_detail_query_predicate.rb +388 -0
  226. data/lib/purecloudplatformclientv2/models/event_message.rb +2 -2
  227. data/lib/purecloudplatformclientv2/models/flow.rb +28 -1
  228. data/lib/purecloudplatformclientv2/models/{aggregate_data_container.rb → flow_aggregate_data_container.rb} +1 -1
  229. data/lib/purecloudplatformclientv2/models/flow_aggregate_query_clause.rb +254 -0
  230. data/lib/purecloudplatformclientv2/models/flow_aggregate_query_filter.rb +277 -0
  231. data/lib/purecloudplatformclientv2/models/flow_aggregate_query_predicate.rb +348 -0
  232. data/lib/purecloudplatformclientv2/models/{aggregate_query_response.rb → flow_aggregate_query_response.rb} +2 -2
  233. data/lib/purecloudplatformclientv2/models/{aggregation_query.rb → flow_aggregation_query.rb} +3 -3
  234. data/lib/purecloudplatformclientv2/models/flow_aggregation_view.rb +323 -0
  235. data/lib/purecloudplatformclientv2/models/{observation_data_container.rb → flow_observation_data_container.rb} +1 -1
  236. data/lib/purecloudplatformclientv2/models/{observation_query.rb → flow_observation_query.rb} +2 -2
  237. data/lib/purecloudplatformclientv2/models/flow_observation_query_clause.rb +254 -0
  238. data/lib/purecloudplatformclientv2/models/flow_observation_query_filter.rb +277 -0
  239. data/lib/purecloudplatformclientv2/models/flow_observation_query_predicate.rb +348 -0
  240. data/lib/purecloudplatformclientv2/models/{observation_query_response.rb → flow_observation_query_response.rb} +2 -2
  241. data/lib/purecloudplatformclientv2/models/flow_version.rb +26 -1
  242. data/lib/purecloudplatformclientv2/models/history_entry.rb +28 -1
  243. data/lib/purecloudplatformclientv2/models/history_listing.rb +26 -1
  244. data/lib/purecloudplatformclientv2/models/homer_record.rb +1501 -0
  245. data/lib/purecloudplatformclientv2/models/ip_address_range.rb +265 -0
  246. data/lib/purecloudplatformclientv2/models/ip_address_range_listing.rb +203 -0
  247. data/lib/purecloudplatformclientv2/models/json_node.rb +51 -51
  248. data/lib/purecloudplatformclientv2/models/location.rb +4 -0
  249. data/lib/purecloudplatformclientv2/models/{location_update_definition.rb → location_create_update_definition.rb} +56 -25
  250. data/lib/purecloudplatformclientv2/models/location_definition.rb +27 -1
  251. data/lib/purecloudplatformclientv2/models/location_search_request.rb +29 -1
  252. data/lib/purecloudplatformclientv2/models/manager.rb +1 -1
  253. data/lib/purecloudplatformclientv2/models/media_endpoint_stat_detail_query_clause.rb +254 -0
  254. data/lib/purecloudplatformclientv2/models/media_endpoint_stat_detail_query_filter.rb +277 -0
  255. data/lib/purecloudplatformclientv2/models/media_endpoint_stat_detail_query_predicate.rb +348 -0
  256. data/lib/purecloudplatformclientv2/models/message_info.rb +4 -0
  257. data/lib/purecloudplatformclientv2/models/observation_metric_data.rb +1 -15
  258. data/lib/purecloudplatformclientv2/models/operation.rb +26 -1
  259. data/lib/purecloudplatformclientv2/models/presence_detail_query_clause.rb +254 -0
  260. data/lib/purecloudplatformclientv2/models/presence_detail_query_filter.rb +277 -0
  261. data/lib/purecloudplatformclientv2/models/presence_detail_query_predicate.rb +348 -0
  262. data/lib/purecloudplatformclientv2/models/queue_media_association.rb +17 -17
  263. data/lib/purecloudplatformclientv2/models/queue_observation_data_container.rb +231 -0
  264. data/lib/purecloudplatformclientv2/models/queue_observation_query.rb +263 -0
  265. data/lib/purecloudplatformclientv2/models/queue_observation_query_clause.rb +254 -0
  266. data/lib/purecloudplatformclientv2/models/queue_observation_query_filter.rb +277 -0
  267. data/lib/purecloudplatformclientv2/models/queue_observation_query_predicate.rb +348 -0
  268. data/lib/purecloudplatformclientv2/models/{qualifier_mapping_observation_query_response.rb → queue_observation_query_response.rb} +2 -2
  269. data/lib/purecloudplatformclientv2/models/recording.rb +31 -3
  270. data/lib/purecloudplatformclientv2/models/recording_job.rb +30 -4
  271. data/lib/purecloudplatformclientv2/models/recording_jobs_query.rb +2 -2
  272. data/lib/purecloudplatformclientv2/models/recording_metadata.rb +670 -0
  273. data/lib/purecloudplatformclientv2/models/reporting_export_job_request.rb +58 -6
  274. data/lib/purecloudplatformclientv2/models/reporting_export_job_response.rb +55 -3
  275. data/lib/purecloudplatformclientv2/models/routing_status_detail_query_clause.rb +254 -0
  276. data/lib/purecloudplatformclientv2/models/routing_status_detail_query_filter.rb +277 -0
  277. data/lib/purecloudplatformclientv2/models/routing_status_detail_query_predicate.rb +348 -0
  278. data/lib/purecloudplatformclientv2/models/scim_config_resource_type.rb +389 -0
  279. data/lib/purecloudplatformclientv2/models/scim_config_resource_type_schema_extension.rb +229 -0
  280. data/lib/purecloudplatformclientv2/models/scim_config_resource_types_list_response.rb +311 -0
  281. data/lib/purecloudplatformclientv2/models/scim_error.rb +297 -0
  282. data/lib/purecloudplatformclientv2/models/scim_group_list_response.rb +2 -2
  283. data/lib/purecloudplatformclientv2/models/scim_metadata.rb +4 -4
  284. data/lib/purecloudplatformclientv2/models/scim_phone_number.rb +2 -2
  285. data/lib/purecloudplatformclientv2/models/scim_service_provider_config.rb +216 -3
  286. data/lib/purecloudplatformclientv2/models/scim_service_provider_config_authentication_scheme.rb +362 -0
  287. data/lib/purecloudplatformclientv2/models/scim_service_provider_config_bulk_feature.rb +255 -0
  288. data/lib/purecloudplatformclientv2/models/scim_service_provider_config_filter_feature.rb +229 -0
  289. data/lib/purecloudplatformclientv2/models/scim_service_provider_config_simple_feature.rb +203 -0
  290. data/lib/purecloudplatformclientv2/models/scim_user_list_response.rb +2 -2
  291. data/lib/purecloudplatformclientv2/models/scim_v2_create_user.rb +8 -8
  292. data/lib/purecloudplatformclientv2/models/scim_v2_group.rb +3 -3
  293. data/lib/purecloudplatformclientv2/models/scim_v2_group_reference.rb +4 -4
  294. data/lib/purecloudplatformclientv2/models/scim_v2_member_reference.rb +4 -4
  295. data/lib/purecloudplatformclientv2/models/scim_v2_patch_operation.rb +3 -3
  296. data/lib/purecloudplatformclientv2/models/scim_v2_patch_request.rb +2 -1
  297. data/lib/purecloudplatformclientv2/models/scim_v2_user.rb +9 -9
  298. data/lib/purecloudplatformclientv2/models/segment_detail_query_clause.rb +254 -0
  299. data/lib/purecloudplatformclientv2/models/segment_detail_query_filter.rb +277 -0
  300. data/lib/purecloudplatformclientv2/models/{analytics_query_predicate.rb → segment_detail_query_predicate.rb} +7 -7
  301. data/lib/purecloudplatformclientv2/models/signed_url_response.rb +279 -0
  302. data/lib/purecloudplatformclientv2/models/sip_download_response.rb +228 -0
  303. data/lib/purecloudplatformclientv2/models/sip_search_public_request.rb +445 -0
  304. data/lib/purecloudplatformclientv2/models/sip_search_result.rb +386 -0
  305. data/lib/purecloudplatformclientv2/models/site.rb +26 -1
  306. data/lib/purecloudplatformclientv2/models/sms_phone_number.rb +41 -1
  307. data/lib/purecloudplatformclientv2/models/subject_division_grants.rb +2 -2
  308. data/lib/purecloudplatformclientv2/models/survey_aggregate_data_container.rb +231 -0
  309. data/lib/purecloudplatformclientv2/models/survey_aggregate_query_clause.rb +254 -0
  310. data/lib/purecloudplatformclientv2/models/survey_aggregate_query_filter.rb +277 -0
  311. data/lib/purecloudplatformclientv2/models/survey_aggregate_query_predicate.rb +348 -0
  312. data/lib/purecloudplatformclientv2/models/survey_aggregate_query_response.rb +203 -0
  313. data/lib/purecloudplatformclientv2/models/survey_aggregation_query.rb +390 -0
  314. data/lib/purecloudplatformclientv2/models/survey_aggregation_view.rb +323 -0
  315. data/lib/purecloudplatformclientv2/models/survey_detail_query_clause.rb +254 -0
  316. data/lib/purecloudplatformclientv2/models/survey_detail_query_filter.rb +277 -0
  317. data/lib/purecloudplatformclientv2/models/survey_detail_query_predicate.rb +388 -0
  318. data/lib/purecloudplatformclientv2/models/system_message_system_message.rb +4 -4
  319. data/lib/purecloudplatformclientv2/models/trustee_billing_overview.rb +27 -1
  320. data/lib/purecloudplatformclientv2/models/user_aggregate_data_container.rb +231 -0
  321. data/lib/purecloudplatformclientv2/models/user_aggregate_query_clause.rb +254 -0
  322. data/lib/purecloudplatformclientv2/models/user_aggregate_query_filter.rb +277 -0
  323. data/lib/purecloudplatformclientv2/models/user_aggregate_query_predicate.rb +348 -0
  324. data/lib/purecloudplatformclientv2/models/{presence_query_response.rb → user_aggregate_query_response.rb} +2 -2
  325. data/lib/purecloudplatformclientv2/models/user_aggregation_query.rb +390 -0
  326. data/lib/purecloudplatformclientv2/models/{analytics_view.rb → user_aggregation_view.rb} +17 -3
  327. data/lib/purecloudplatformclientv2/models/user_authorization.rb +1 -0
  328. data/lib/purecloudplatformclientv2/models/user_detail_query_clause.rb +254 -0
  329. data/lib/purecloudplatformclientv2/models/user_detail_query_filter.rb +277 -0
  330. data/lib/purecloudplatformclientv2/models/user_detail_query_predicate.rb +348 -0
  331. data/lib/purecloudplatformclientv2/models/user_details_query.rb +37 -38
  332. data/lib/purecloudplatformclientv2/models/user_observation_data_container.rb +231 -0
  333. data/lib/purecloudplatformclientv2/models/user_observation_query.rb +263 -0
  334. data/lib/purecloudplatformclientv2/models/user_observation_query_clause.rb +254 -0
  335. data/lib/purecloudplatformclientv2/models/user_observation_query_filter.rb +277 -0
  336. data/lib/purecloudplatformclientv2/models/user_observation_query_predicate.rb +348 -0
  337. data/lib/purecloudplatformclientv2/models/user_observation_query_response.rb +203 -0
  338. data/lib/purecloudplatformclientv2/version.rb +1 -1
  339. metadata +200 -28
  340. data/docs/AggregateQueryResponse.md +0 -13
  341. data/docs/AnalyticsQueryClause.md +0 -14
  342. data/docs/AnalyticsQueryFilter.md +0 -15
  343. data/docs/ObservationQueryResponse.md +0 -13
@@ -31,6 +31,9 @@ module PureCloud
31
31
 
32
32
  attr_accessor :recording_state
33
33
 
34
+ # If this is a conference conversation, then this field indicates the maximum number of participants allowed to participant in the conference.
35
+ attr_accessor :max_participants
36
+
34
37
  # The URI for this object
35
38
  attr_accessor :self_uri
36
39
 
@@ -48,6 +51,8 @@ module PureCloud
48
51
 
49
52
  :'recording_state' => :'recordingState',
50
53
 
54
+ :'max_participants' => :'maxParticipants',
55
+
51
56
  :'self_uri' => :'selfUri'
52
57
 
53
58
  }
@@ -67,6 +72,8 @@ module PureCloud
67
72
 
68
73
  :'recording_state' => :'String',
69
74
 
75
+ :'max_participants' => :'Integer',
76
+
70
77
  :'self_uri' => :'String'
71
78
 
72
79
  }
@@ -130,6 +137,15 @@ module PureCloud
130
137
  end
131
138
 
132
139
 
140
+ if attributes.has_key?(:'maxParticipants')
141
+
142
+
143
+ self.max_participants = attributes[:'maxParticipants']
144
+
145
+
146
+ end
147
+
148
+
133
149
  if attributes.has_key?(:'selfUri')
134
150
 
135
151
 
@@ -183,6 +199,10 @@ module PureCloud
183
199
 
184
200
 
185
201
 
202
+
203
+
204
+
205
+
186
206
  end
187
207
 
188
208
 
@@ -225,6 +245,11 @@ module PureCloud
225
245
 
226
246
 
227
247
 
248
+
249
+
250
+
251
+
252
+
228
253
  # Checks equality by comparing each attribute.
229
254
  # @param [Object] Object to be compared
230
255
  def ==(o)
@@ -235,6 +260,7 @@ module PureCloud
235
260
  participants == o.participants &&
236
261
  other_media_uris == o.other_media_uris &&
237
262
  recording_state == o.recording_state &&
263
+ max_participants == o.max_participants &&
238
264
  self_uri == o.self_uri
239
265
  end
240
266
 
@@ -247,7 +273,7 @@ module PureCloud
247
273
  # Calculates hash code according to all attributes.
248
274
  # @return [Fixnum] Hash code
249
275
  def hash
250
- [id, name, participants, other_media_uris, recording_state, self_uri].hash
276
+ [id, name, participants, other_media_uris, recording_state, max_participants, self_uri].hash
251
277
  end
252
278
 
253
279
  # build the object from hash
@@ -0,0 +1,231 @@
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@genesys.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ License: UNLICENSED
11
+ https://help.mypurecloud.com/articles/terms-and-conditions/
12
+
13
+ Terms of Service: https://help.mypurecloud.com/articles/terms-and-conditions/
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ class ConversationAggregateDataContainer
21
+ # A mapping from dimension to value
22
+ attr_accessor :group
23
+
24
+ attr_accessor :data
25
+
26
+ # Attribute mapping from ruby-style variable name to JSON key.
27
+ def self.attribute_map
28
+ {
29
+
30
+ :'group' => :'group',
31
+
32
+ :'data' => :'data'
33
+
34
+ }
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ def self.swagger_types
39
+ {
40
+
41
+ :'group' => :'Hash<String, String>',
42
+
43
+ :'data' => :'Array<StatisticalResponse>'
44
+
45
+ }
46
+ end
47
+
48
+ # Initializes the object
49
+ # @param [Hash] attributes Model attributes in the form of hash
50
+ def initialize(attributes = {})
51
+ return unless attributes.is_a?(Hash)
52
+
53
+ # convert string to symbol for hash key
54
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
55
+
56
+
57
+ if attributes.has_key?(:'group')
58
+
59
+ if (value = attributes[:'group']).is_a?(Array)
60
+ self.group = value
61
+ end
62
+
63
+
64
+
65
+ end
66
+
67
+
68
+ if attributes.has_key?(:'data')
69
+
70
+ if (value = attributes[:'data']).is_a?(Array)
71
+ self.data = value
72
+ end
73
+
74
+
75
+
76
+ end
77
+
78
+
79
+ end
80
+
81
+ # Show invalid properties with the reasons. Usually used together with valid?
82
+ # @return Array for valid properies with the reasons
83
+ def list_invalid_properties
84
+ invalid_properties = Array.new
85
+
86
+
87
+ return invalid_properties
88
+ end
89
+
90
+ # Check to see if the all the properties in the model are valid
91
+ # @return true if the model is valid
92
+ def valid?
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+ end
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+ # Checks equality by comparing each attribute.
116
+ # @param [Object] Object to be compared
117
+ def ==(o)
118
+ return true if self.equal?(o)
119
+ self.class == o.class &&
120
+ group == o.group &&
121
+ data == o.data
122
+ end
123
+
124
+ # @see the `==` method
125
+ # @param [Object] Object to be compared
126
+ def eql?(o)
127
+ self == o
128
+ end
129
+
130
+ # Calculates hash code according to all attributes.
131
+ # @return [Fixnum] Hash code
132
+ def hash
133
+ [group, data].hash
134
+ end
135
+
136
+ # build the object from hash
137
+ def build_from_hash(attributes)
138
+ return nil unless attributes.is_a?(Hash)
139
+ self.class.swagger_types.each_pair do |key, type|
140
+ if type =~ /^Array<(.*)>/i
141
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
142
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
143
+ else
144
+ #TODO show warning in debug mode
145
+ end
146
+ elsif !attributes[self.class.attribute_map[key]].nil?
147
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
148
+ else
149
+ # data not found in attributes(hash), not an issue as the data can be optional
150
+ end
151
+ end
152
+
153
+ self
154
+ end
155
+
156
+ def _deserialize(type, value)
157
+ case type.to_sym
158
+ when :DateTime
159
+ DateTime.parse(value)
160
+ when :Date
161
+ Date.parse(value)
162
+ when :String
163
+ value.to_s
164
+ when :Integer
165
+ value.to_i
166
+ when :Float
167
+ value.to_f
168
+ when :BOOLEAN
169
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
170
+ true
171
+ else
172
+ false
173
+ end
174
+ when :Object
175
+ # generic object (usually a Hash), return directly
176
+ value
177
+ when /\AArray<(?<inner_type>.+)>\z/
178
+ inner_type = Regexp.last_match[:inner_type]
179
+ value.map { |v| _deserialize(inner_type, v) }
180
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
181
+ k_type = Regexp.last_match[:k_type]
182
+ v_type = Regexp.last_match[:v_type]
183
+ {}.tap do |hash|
184
+ value.each do |k, v|
185
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
186
+ end
187
+ end
188
+ else # model
189
+ _model = Object.const_get("PureCloud").const_get(type).new
190
+ _model.build_from_hash(value)
191
+ end
192
+ end
193
+
194
+ def to_s
195
+ to_hash.to_s
196
+ end
197
+
198
+ # to_body is an alias to to_body (backward compatibility))
199
+ def to_body
200
+ to_hash
201
+ end
202
+
203
+ # return the object in the form of hash
204
+ def to_hash
205
+ hash = {}
206
+ self.class.attribute_map.each_pair do |attr, param|
207
+ value = self.send(attr)
208
+ next if value.nil?
209
+ hash[param] = _to_hash(value)
210
+ end
211
+ hash
212
+ end
213
+
214
+ # Method to output non-array value in the form of hash
215
+ # For object, use to_hash. Otherwise, just return the value
216
+ def _to_hash(value)
217
+ if value.is_a?(Array)
218
+ value.compact.map{ |v| _to_hash(v) }
219
+ elsif value.is_a?(Hash)
220
+ {}.tap do |hash|
221
+ value.each { |k, v| hash[k] = _to_hash(v) }
222
+ end
223
+ elsif value.respond_to? :to_hash
224
+ value.to_hash
225
+ else
226
+ value
227
+ end
228
+ end
229
+
230
+ end
231
+ end
@@ -17,11 +17,11 @@ Terms of Service: https://help.mypurecloud.com/articles/terms-and-conditions/
17
17
  require 'date'
18
18
 
19
19
  module PureCloud
20
- class AnalyticsQueryClause
20
+ class ConversationAggregateQueryClause
21
21
  # Boolean operation to apply to the provided predicates
22
22
  attr_accessor :type
23
23
 
24
- # Like a three-word sentence: (attribute-name) (operator) (target-value). These can be one of three types: dimension, property, metric.
24
+ # Like a three-word sentence: (attribute-name) (operator) (target-value).
25
25
  attr_accessor :predicates
26
26
 
27
27
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -41,7 +41,7 @@ module PureCloud
41
41
 
42
42
  :'type' => :'String',
43
43
 
44
- :'predicates' => :'Array<AnalyticsQueryPredicate>'
44
+ :'predicates' => :'Array<ConversationAggregateQueryPredicate>'
45
45
 
46
46
  }
47
47
  end
@@ -17,14 +17,14 @@ Terms of Service: https://help.mypurecloud.com/articles/terms-and-conditions/
17
17
  require 'date'
18
18
 
19
19
  module PureCloud
20
- class AnalyticsQueryFilter
20
+ class ConversationAggregateQueryFilter
21
21
  # Boolean operation to apply to the provided predicates and clauses
22
22
  attr_accessor :type
23
23
 
24
24
  # Boolean 'and/or' logic with up to two-levels of nesting
25
25
  attr_accessor :clauses
26
26
 
27
- # Like a three-word sentence: (attribute-name) (operator) (target-value). These can be one of three types: dimension, property, metric.
27
+ # Like a three-word sentence: (attribute-name) (operator) (target-value).
28
28
  attr_accessor :predicates
29
29
 
30
30
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -46,9 +46,9 @@ module PureCloud
46
46
 
47
47
  :'type' => :'String',
48
48
 
49
- :'clauses' => :'Array<AnalyticsQueryClause>',
49
+ :'clauses' => :'Array<ConversationAggregateQueryClause>',
50
50
 
51
- :'predicates' => :'Array<AnalyticsQueryPredicate>'
51
+ :'predicates' => :'Array<ConversationAggregateQueryPredicate>'
52
52
 
53
53
  }
54
54
  end
@@ -0,0 +1,348 @@
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@genesys.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ License: UNLICENSED
11
+ https://help.mypurecloud.com/articles/terms-and-conditions/
12
+
13
+ Terms of Service: https://help.mypurecloud.com/articles/terms-and-conditions/
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ class ConversationAggregateQueryPredicate
21
+ # Optional type, can usually be inferred
22
+ attr_accessor :type
23
+
24
+ # Left hand side for dimension predicates
25
+ attr_accessor :dimension
26
+
27
+ # Optional operator, default is matches
28
+ attr_accessor :operator
29
+
30
+ # Right hand side for dimension predicates
31
+ attr_accessor :value
32
+
33
+ # Right hand side for dimension predicates
34
+ attr_accessor :range
35
+
36
+ # Attribute mapping from ruby-style variable name to JSON key.
37
+ def self.attribute_map
38
+ {
39
+
40
+ :'type' => :'type',
41
+
42
+ :'dimension' => :'dimension',
43
+
44
+ :'operator' => :'operator',
45
+
46
+ :'value' => :'value',
47
+
48
+ :'range' => :'range'
49
+
50
+ }
51
+ end
52
+
53
+ # Attribute type mapping.
54
+ def self.swagger_types
55
+ {
56
+
57
+ :'type' => :'String',
58
+
59
+ :'dimension' => :'String',
60
+
61
+ :'operator' => :'String',
62
+
63
+ :'value' => :'String',
64
+
65
+ :'range' => :'NumericRange'
66
+
67
+ }
68
+ end
69
+
70
+ # Initializes the object
71
+ # @param [Hash] attributes Model attributes in the form of hash
72
+ def initialize(attributes = {})
73
+ return unless attributes.is_a?(Hash)
74
+
75
+ # convert string to symbol for hash key
76
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
77
+
78
+
79
+ if attributes.has_key?(:'type')
80
+
81
+
82
+ self.type = attributes[:'type']
83
+
84
+
85
+ end
86
+
87
+
88
+ if attributes.has_key?(:'dimension')
89
+
90
+
91
+ self.dimension = attributes[:'dimension']
92
+
93
+
94
+ end
95
+
96
+
97
+ if attributes.has_key?(:'operator')
98
+
99
+
100
+ self.operator = attributes[:'operator']
101
+
102
+
103
+ end
104
+
105
+
106
+ if attributes.has_key?(:'value')
107
+
108
+
109
+ self.value = attributes[:'value']
110
+
111
+
112
+ end
113
+
114
+
115
+ if attributes.has_key?(:'range')
116
+
117
+
118
+ self.range = attributes[:'range']
119
+
120
+
121
+ end
122
+
123
+
124
+ end
125
+
126
+ # Show invalid properties with the reasons. Usually used together with valid?
127
+ # @return Array for valid properies with the reasons
128
+ def list_invalid_properties
129
+ invalid_properties = Array.new
130
+
131
+
132
+ return invalid_properties
133
+ end
134
+
135
+ # Check to see if the all the properties in the model are valid
136
+ # @return true if the model is valid
137
+ def valid?
138
+
139
+
140
+
141
+ allowed_values = ["dimension", "property", "metric"]
142
+ if @type && !allowed_values.include?(@type)
143
+ return false
144
+ end
145
+
146
+
147
+
148
+
149
+
150
+ allowed_values = ["addressFrom", "addressTo", "agentScore", "ani", "conversationId", "convertedFrom", "convertedTo", "direction", "disconnectType", "divisionId", "dnis", "edgeId", "externalOrganizationId", "flaggedReason", "flowOutType", "groupId", "interactionType", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "mediaType", "messageType", "originatingDirection", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantName", "peerId", "provider", "purpose", "queueId", "requestedLanguageId", "requestedRoutingSkillId", "roomId", "routingPriority", "scoredAgentId", "sessionDnis", "sessionId", "stationId", "userId", "wrapUpCode"]
151
+ if @dimension && !allowed_values.include?(@dimension)
152
+ return false
153
+ end
154
+
155
+
156
+
157
+
158
+
159
+ allowed_values = ["matches", "exists", "notExists"]
160
+ if @operator && !allowed_values.include?(@operator)
161
+ return false
162
+ end
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+ end
175
+
176
+
177
+
178
+ # Custom attribute writer method checking allowed values (enum).
179
+ # @param [Object] type Object to be assigned
180
+ def type=(type)
181
+ allowed_values = ["dimension", "property", "metric"]
182
+ if type && !allowed_values.include?(type)
183
+ fail ArgumentError, "invalid value for 'type', must be one of #{allowed_values}."
184
+ end
185
+ @type = type
186
+ end
187
+
188
+
189
+
190
+
191
+
192
+ # Custom attribute writer method checking allowed values (enum).
193
+ # @param [Object] dimension Object to be assigned
194
+ def dimension=(dimension)
195
+ allowed_values = ["addressFrom", "addressTo", "agentScore", "ani", "conversationId", "convertedFrom", "convertedTo", "direction", "disconnectType", "divisionId", "dnis", "edgeId", "externalOrganizationId", "flaggedReason", "flowOutType", "groupId", "interactionType", "journeyActionId", "journeyActionMapId", "journeyActionMapVersion", "journeyCustomerId", "journeyCustomerIdType", "journeyCustomerSessionId", "journeyCustomerSessionIdType", "mediaType", "messageType", "originatingDirection", "outboundCampaignId", "outboundContactId", "outboundContactListId", "participantName", "peerId", "provider", "purpose", "queueId", "requestedLanguageId", "requestedRoutingSkillId", "roomId", "routingPriority", "scoredAgentId", "sessionDnis", "sessionId", "stationId", "userId", "wrapUpCode"]
196
+ if dimension && !allowed_values.include?(dimension)
197
+ fail ArgumentError, "invalid value for 'dimension', must be one of #{allowed_values}."
198
+ end
199
+ @dimension = dimension
200
+ end
201
+
202
+
203
+
204
+
205
+
206
+ # Custom attribute writer method checking allowed values (enum).
207
+ # @param [Object] operator Object to be assigned
208
+ def operator=(operator)
209
+ allowed_values = ["matches", "exists", "notExists"]
210
+ if operator && !allowed_values.include?(operator)
211
+ fail ArgumentError, "invalid value for 'operator', must be one of #{allowed_values}."
212
+ end
213
+ @operator = operator
214
+ end
215
+
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+ # Checks equality by comparing each attribute.
230
+ # @param [Object] Object to be compared
231
+ def ==(o)
232
+ return true if self.equal?(o)
233
+ self.class == o.class &&
234
+ type == o.type &&
235
+ dimension == o.dimension &&
236
+ operator == o.operator &&
237
+ value == o.value &&
238
+ range == o.range
239
+ end
240
+
241
+ # @see the `==` method
242
+ # @param [Object] Object to be compared
243
+ def eql?(o)
244
+ self == o
245
+ end
246
+
247
+ # Calculates hash code according to all attributes.
248
+ # @return [Fixnum] Hash code
249
+ def hash
250
+ [type, dimension, operator, value, range].hash
251
+ end
252
+
253
+ # build the object from hash
254
+ def build_from_hash(attributes)
255
+ return nil unless attributes.is_a?(Hash)
256
+ self.class.swagger_types.each_pair do |key, type|
257
+ if type =~ /^Array<(.*)>/i
258
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
259
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
260
+ else
261
+ #TODO show warning in debug mode
262
+ end
263
+ elsif !attributes[self.class.attribute_map[key]].nil?
264
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
265
+ else
266
+ # data not found in attributes(hash), not an issue as the data can be optional
267
+ end
268
+ end
269
+
270
+ self
271
+ end
272
+
273
+ def _deserialize(type, value)
274
+ case type.to_sym
275
+ when :DateTime
276
+ DateTime.parse(value)
277
+ when :Date
278
+ Date.parse(value)
279
+ when :String
280
+ value.to_s
281
+ when :Integer
282
+ value.to_i
283
+ when :Float
284
+ value.to_f
285
+ when :BOOLEAN
286
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
287
+ true
288
+ else
289
+ false
290
+ end
291
+ when :Object
292
+ # generic object (usually a Hash), return directly
293
+ value
294
+ when /\AArray<(?<inner_type>.+)>\z/
295
+ inner_type = Regexp.last_match[:inner_type]
296
+ value.map { |v| _deserialize(inner_type, v) }
297
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
298
+ k_type = Regexp.last_match[:k_type]
299
+ v_type = Regexp.last_match[:v_type]
300
+ {}.tap do |hash|
301
+ value.each do |k, v|
302
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
303
+ end
304
+ end
305
+ else # model
306
+ _model = Object.const_get("PureCloud").const_get(type).new
307
+ _model.build_from_hash(value)
308
+ end
309
+ end
310
+
311
+ def to_s
312
+ to_hash.to_s
313
+ end
314
+
315
+ # to_body is an alias to to_body (backward compatibility))
316
+ def to_body
317
+ to_hash
318
+ end
319
+
320
+ # return the object in the form of hash
321
+ def to_hash
322
+ hash = {}
323
+ self.class.attribute_map.each_pair do |attr, param|
324
+ value = self.send(attr)
325
+ next if value.nil?
326
+ hash[param] = _to_hash(value)
327
+ end
328
+ hash
329
+ end
330
+
331
+ # Method to output non-array value in the form of hash
332
+ # For object, use to_hash. Otherwise, just return the value
333
+ def _to_hash(value)
334
+ if value.is_a?(Array)
335
+ value.compact.map{ |v| _to_hash(v) }
336
+ elsif value.is_a?(Hash)
337
+ {}.tap do |hash|
338
+ value.each { |k, v| hash[k] = _to_hash(v) }
339
+ end
340
+ elsif value.respond_to? :to_hash
341
+ value.to_hash
342
+ else
343
+ value
344
+ end
345
+ end
346
+
347
+ end
348
+ end