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
@@ -0,0 +1,203 @@
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
+ # Configuration options.
21
+ class ScimServiceProviderConfigSimpleFeature
22
+ # Indicates whether configuration options are supported.
23
+ attr_accessor :supported
24
+
25
+ # Attribute mapping from ruby-style variable name to JSON key.
26
+ def self.attribute_map
27
+ {
28
+
29
+ :'supported' => :'supported'
30
+
31
+ }
32
+ end
33
+
34
+ # Attribute type mapping.
35
+ def self.swagger_types
36
+ {
37
+
38
+ :'supported' => :'BOOLEAN'
39
+
40
+ }
41
+ end
42
+
43
+ # Initializes the object
44
+ # @param [Hash] attributes Model attributes in the form of hash
45
+ def initialize(attributes = {})
46
+ return unless attributes.is_a?(Hash)
47
+
48
+ # convert string to symbol for hash key
49
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
50
+
51
+
52
+ if attributes.has_key?(:'supported')
53
+
54
+
55
+ self.supported = attributes[:'supported']
56
+
57
+
58
+ end
59
+
60
+
61
+ end
62
+
63
+ # Show invalid properties with the reasons. Usually used together with valid?
64
+ # @return Array for valid properies with the reasons
65
+ def list_invalid_properties
66
+ invalid_properties = Array.new
67
+
68
+
69
+ return invalid_properties
70
+ end
71
+
72
+ # Check to see if the all the properties in the model are valid
73
+ # @return true if the model is valid
74
+ def valid?
75
+
76
+
77
+
78
+
79
+
80
+ end
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+ # Checks equality by comparing each attribute.
89
+ # @param [Object] Object to be compared
90
+ def ==(o)
91
+ return true if self.equal?(o)
92
+ self.class == o.class &&
93
+ supported == o.supported
94
+ end
95
+
96
+ # @see the `==` method
97
+ # @param [Object] Object to be compared
98
+ def eql?(o)
99
+ self == o
100
+ end
101
+
102
+ # Calculates hash code according to all attributes.
103
+ # @return [Fixnum] Hash code
104
+ def hash
105
+ [supported].hash
106
+ end
107
+
108
+ # build the object from hash
109
+ def build_from_hash(attributes)
110
+ return nil unless attributes.is_a?(Hash)
111
+ self.class.swagger_types.each_pair do |key, type|
112
+ if type =~ /^Array<(.*)>/i
113
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
114
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
115
+ else
116
+ #TODO show warning in debug mode
117
+ end
118
+ elsif !attributes[self.class.attribute_map[key]].nil?
119
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
120
+ else
121
+ # data not found in attributes(hash), not an issue as the data can be optional
122
+ end
123
+ end
124
+
125
+ self
126
+ end
127
+
128
+ def _deserialize(type, value)
129
+ case type.to_sym
130
+ when :DateTime
131
+ DateTime.parse(value)
132
+ when :Date
133
+ Date.parse(value)
134
+ when :String
135
+ value.to_s
136
+ when :Integer
137
+ value.to_i
138
+ when :Float
139
+ value.to_f
140
+ when :BOOLEAN
141
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
142
+ true
143
+ else
144
+ false
145
+ end
146
+ when :Object
147
+ # generic object (usually a Hash), return directly
148
+ value
149
+ when /\AArray<(?<inner_type>.+)>\z/
150
+ inner_type = Regexp.last_match[:inner_type]
151
+ value.map { |v| _deserialize(inner_type, v) }
152
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
153
+ k_type = Regexp.last_match[:k_type]
154
+ v_type = Regexp.last_match[:v_type]
155
+ {}.tap do |hash|
156
+ value.each do |k, v|
157
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
158
+ end
159
+ end
160
+ else # model
161
+ _model = Object.const_get("PureCloud").const_get(type).new
162
+ _model.build_from_hash(value)
163
+ end
164
+ end
165
+
166
+ def to_s
167
+ to_hash.to_s
168
+ end
169
+
170
+ # to_body is an alias to to_body (backward compatibility))
171
+ def to_body
172
+ to_hash
173
+ end
174
+
175
+ # return the object in the form of hash
176
+ def to_hash
177
+ hash = {}
178
+ self.class.attribute_map.each_pair do |attr, param|
179
+ value = self.send(attr)
180
+ next if value.nil?
181
+ hash[param] = _to_hash(value)
182
+ end
183
+ hash
184
+ end
185
+
186
+ # Method to output non-array value in the form of hash
187
+ # For object, use to_hash. Otherwise, just return the value
188
+ def _to_hash(value)
189
+ if value.is_a?(Array)
190
+ value.compact.map{ |v| _to_hash(v) }
191
+ elsif value.is_a?(Hash)
192
+ {}.tap do |hash|
193
+ value.each { |k, v| hash[k] = _to_hash(v) }
194
+ end
195
+ elsif value.respond_to? :to_hash
196
+ value.to_hash
197
+ else
198
+ value
199
+ end
200
+ end
201
+
202
+ end
203
+ end
@@ -22,13 +22,13 @@ module PureCloud
22
22
  # The total number of results.
23
23
  attr_accessor :total_results
24
24
 
25
- # The 1-based index of the first result returned by this request. Add this to itemsPerPage when requesting the next page of results.
25
+ # The 1-based index of the first result returned by this request. Add this to \"itemsPerPage\" when requesting the next page of results.
26
26
  attr_accessor :start_index
27
27
 
28
28
  # The number of resources returned per page.
29
29
  attr_accessor :items_per_page
30
30
 
31
- # Resources
31
+ # The list of requested resources. If \"count\" is 0, then the list will be empty.
32
32
  attr_accessor :resources
33
33
 
34
34
  # The list of supported schemas.
@@ -28,31 +28,31 @@ module PureCloud
28
28
  # The user's PureCloud email address. Must be unique.
29
29
  attr_accessor :user_name
30
30
 
31
- # The display name for the user.
31
+ # The display name of the user.
32
32
  attr_accessor :display_name
33
33
 
34
- # A new password for a PureCloud user. Does not return an existing password.
34
+ # The new password for the PureCloud user. Does not return an existing password.
35
35
  attr_accessor :password
36
36
 
37
37
  # The user's title.
38
38
  attr_accessor :title
39
39
 
40
- # A list of the user's phone numbers.
40
+ # The list of the user's phone numbers.
41
41
  attr_accessor :phone_numbers
42
42
 
43
- # A list of the user's email addresses.
43
+ # The list of the user's email addresses.
44
44
  attr_accessor :emails
45
45
 
46
- # A list of the user's photos.
46
+ # The list of the user's photos.
47
47
  attr_accessor :photos
48
48
 
49
- # The external ID of the user. Set by the provisioning client. caseExact is set to true. mutability is set to readWrite.
49
+ # The external ID of the user. Set by the provisioning client. \"caseExact\" is set to \"true\". \"mutability\" is set to \"readWrite\".
50
50
  attr_accessor :external_id
51
51
 
52
- # A list of groups that the user is a member of.
52
+ # The list of groups that the user is a member of.
53
53
  attr_accessor :groups
54
54
 
55
- # A list of roles assigned to the user.
55
+ # The list of roles assigned to the user.
56
56
  attr_accessor :roles
57
57
 
58
58
  attr_accessor :urnietfparamsscimschemasextensionenterprise2_0_user
@@ -19,16 +19,16 @@ require 'date'
19
19
  module PureCloud
20
20
  # SCIM version 2 Group
21
21
  class ScimV2Group
22
- # The ID of the SCIM resource. Set by the service provider. caseExact is set to true. Mutability is set to readOnly. Returned is set to always.
22
+ # The ID of the SCIM resource. Set by the service provider. \"caseExact\" is set to \"true\". \"Mutability\" is set to \"readOnly\". \"Returned\" is set to \"always\".
23
23
  attr_accessor :id
24
24
 
25
25
  # The list of supported schemas.
26
26
  attr_accessor :schemas
27
27
 
28
- # The display name for the group.
28
+ # The display name of the group.
29
29
  attr_accessor :display_name
30
30
 
31
- # A list of members in a SCIM group.
31
+ # The list of members in the group.
32
32
  attr_accessor :members
33
33
 
34
34
  # Resource SCIM meta
@@ -19,10 +19,10 @@ require 'date'
19
19
  module PureCloud
20
20
  # SCIM Group Reference
21
21
  class ScimV2GroupReference
22
- # The SCIM resource type. Can be user or group.
22
+ # The type of SCIM resource.
23
23
  attr_accessor :type
24
24
 
25
- # The ID of the group member. Can be userId or groupId.
25
+ # The ID of the group member. Can be \"userId\" or \"groupId\".
26
26
  attr_accessor :value
27
27
 
28
28
  # The reference URI of the SCIM resource.
@@ -107,7 +107,7 @@ module PureCloud
107
107
 
108
108
 
109
109
 
110
- allowed_values = ["User", "Group", "ServiceProviderConfig"]
110
+ allowed_values = ["User", "Group", "ServiceProviderConfig", "ResourceType"]
111
111
  if @type && !allowed_values.include?(@type)
112
112
  return false
113
113
  end
@@ -129,7 +129,7 @@ module PureCloud
129
129
  # Custom attribute writer method checking allowed values (enum).
130
130
  # @param [Object] type Object to be assigned
131
131
  def type=(type)
132
- allowed_values = ["User", "Group", "ServiceProviderConfig"]
132
+ allowed_values = ["User", "Group", "ServiceProviderConfig", "ResourceType"]
133
133
  if type && !allowed_values.include?(type)
134
134
  fail ArgumentError, "invalid value for 'type', must be one of #{allowed_values}."
135
135
  end
@@ -19,10 +19,10 @@ require 'date'
19
19
  module PureCloud
20
20
  # SCIM Members of Group Reference
21
21
  class ScimV2MemberReference
22
- # The SCIM resource type. Can be user or group.
22
+ # The type of SCIM resource.
23
23
  attr_accessor :type
24
24
 
25
- # The ID of the group member. Can be userId or groupId.
25
+ # The ID of the group member. Can be \"userId\" or \"groupId\".
26
26
  attr_accessor :value
27
27
 
28
28
  # The reference URI of the SCIM resource.
@@ -107,7 +107,7 @@ module PureCloud
107
107
 
108
108
 
109
109
 
110
- allowed_values = ["User", "Group", "ServiceProviderConfig"]
110
+ allowed_values = ["User", "Group", "ServiceProviderConfig", "ResourceType"]
111
111
  if @type && !allowed_values.include?(@type)
112
112
  return false
113
113
  end
@@ -129,7 +129,7 @@ module PureCloud
129
129
  # Custom attribute writer method checking allowed values (enum).
130
130
  # @param [Object] type Object to be assigned
131
131
  def type=(type)
132
- allowed_values = ["User", "Group", "ServiceProviderConfig"]
132
+ allowed_values = ["User", "Group", "ServiceProviderConfig", "ResourceType"]
133
133
  if type && !allowed_values.include?(type)
134
134
  fail ArgumentError, "invalid value for 'type', must be one of #{allowed_values}."
135
135
  end
@@ -17,12 +17,12 @@ Terms of Service: https://help.mypurecloud.com/articles/terms-and-conditions/
17
17
  require 'date'
18
18
 
19
19
  module PureCloud
20
- # Represents an individual patch operation. Path and value have very specific rules based on operation type. See https://tools.ietf.org/html/rfc7644#section-3.5.2 for details.
20
+ # Represents an individual PATCH operation. Path and value have very specific rules based on operation type. See https://tools.ietf.org/html/rfc7644#section-3.5.2 for details.
21
21
  class ScimV2PatchOperation
22
- # The patch operation to perform.
22
+ # The PATCH operation to perform.
23
23
  attr_accessor :op
24
24
 
25
- # The attribute path that describes the target of the operation. Required for a 'remove' operation.
25
+ # The attribute path that describes the target of the operation. Required for a \"remove\" operation.
26
26
  attr_accessor :path
27
27
 
28
28
  # The value to set in the path.
@@ -19,9 +19,10 @@ require 'date'
19
19
  module PureCloud
20
20
  # Represents a SCIM V2 Patch Request (See RFC7644 for detailed usage)
21
21
  class ScimV2PatchRequest
22
- # A list of schemas used in the patch request.
22
+ # The list of schemas used in the PATCH request.
23
23
  attr_accessor :schemas
24
24
 
25
+ # The list of operations to perform for the PATCH request.
25
26
  attr_accessor :operations
26
27
 
27
28
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -19,7 +19,7 @@ require 'date'
19
19
  module PureCloud
20
20
  # SCIM V2 User
21
21
  class ScimV2User
22
- # The ID of the SCIM resource. Set by the service provider. caseExact is set to true. Mutability is set to readOnly. Returned is set to always.
22
+ # The ID of the SCIM resource. Set by the service provider. \"caseExact\" is set to \"true\". \"Mutability\" is set to \"readOnly\". \"Returned\" is set to \"always\".
23
23
  attr_accessor :id
24
24
 
25
25
  # The list of supported schemas.
@@ -31,31 +31,31 @@ module PureCloud
31
31
  # The user's PureCloud email address. Must be unique.
32
32
  attr_accessor :user_name
33
33
 
34
- # The display name for the user.
34
+ # The display name of the user.
35
35
  attr_accessor :display_name
36
36
 
37
- # A new password for a PureCloud user. Does not return an existing password.
37
+ # The new password for the PureCloud user. Does not return an existing password.
38
38
  attr_accessor :password
39
39
 
40
40
  # The user's title.
41
41
  attr_accessor :title
42
42
 
43
- # A list of the user's phone numbers.
43
+ # The list of the user's phone numbers.
44
44
  attr_accessor :phone_numbers
45
45
 
46
- # A list of the user's email addresses.
46
+ # The list of the user's email addresses.
47
47
  attr_accessor :emails
48
48
 
49
- # A list of the user's photos.
49
+ # The list of the user's photos.
50
50
  attr_accessor :photos
51
51
 
52
- # The external ID of the user. Set by the provisioning client. caseExact is set to true. mutability is set to readWrite.
52
+ # The external ID of the user. Set by the provisioning client. \"caseExact\" is set to \"true\". \"mutability\" is set to \"readWrite\".
53
53
  attr_accessor :external_id
54
54
 
55
- # A list of groups that the user is a member of.
55
+ # The list of groups that the user is a member of.
56
56
  attr_accessor :groups
57
57
 
58
- # A list of roles assigned to the user.
58
+ # The list of roles assigned to the user.
59
59
  attr_accessor :roles
60
60
 
61
61
  attr_accessor :urnietfparamsscimschemasextensionenterprise2_0_user
@@ -0,0 +1,254 @@
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 SegmentDetailQueryClause
21
+ # Boolean operation to apply to the provided predicates
22
+ attr_accessor :type
23
+
24
+ # Like a three-word sentence: (attribute-name) (operator) (target-value).
25
+ attr_accessor :predicates
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+
31
+ :'type' => :'type',
32
+
33
+ :'predicates' => :'predicates'
34
+
35
+ }
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.swagger_types
40
+ {
41
+
42
+ :'type' => :'String',
43
+
44
+ :'predicates' => :'Array<SegmentDetailQueryPredicate>'
45
+
46
+ }
47
+ end
48
+
49
+ # Initializes the object
50
+ # @param [Hash] attributes Model attributes in the form of hash
51
+ def initialize(attributes = {})
52
+ return unless attributes.is_a?(Hash)
53
+
54
+ # convert string to symbol for hash key
55
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
56
+
57
+
58
+ if attributes.has_key?(:'type')
59
+
60
+
61
+ self.type = attributes[:'type']
62
+
63
+
64
+ end
65
+
66
+
67
+ if attributes.has_key?(:'predicates')
68
+
69
+ if (value = attributes[:'predicates']).is_a?(Array)
70
+ self.predicates = value
71
+ end
72
+
73
+
74
+
75
+ end
76
+
77
+
78
+ end
79
+
80
+ # Show invalid properties with the reasons. Usually used together with valid?
81
+ # @return Array for valid properies with the reasons
82
+ def list_invalid_properties
83
+ invalid_properties = Array.new
84
+
85
+
86
+ return invalid_properties
87
+ end
88
+
89
+ # Check to see if the all the properties in the model are valid
90
+ # @return true if the model is valid
91
+ def valid?
92
+
93
+
94
+ if @type.nil?
95
+ return false
96
+ end
97
+
98
+
99
+
100
+ allowed_values = ["and", "or"]
101
+ if @type && !allowed_values.include?(@type)
102
+ return false
103
+ end
104
+
105
+
106
+
107
+
108
+ if @predicates.nil?
109
+ return false
110
+ end
111
+
112
+
113
+
114
+
115
+
116
+ end
117
+
118
+
119
+
120
+ # Custom attribute writer method checking allowed values (enum).
121
+ # @param [Object] type Object to be assigned
122
+ def type=(type)
123
+ allowed_values = ["and", "or"]
124
+ if type && !allowed_values.include?(type)
125
+ fail ArgumentError, "invalid value for 'type', must be one of #{allowed_values}."
126
+ end
127
+ @type = type
128
+ end
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+ # Checks equality by comparing each attribute.
139
+ # @param [Object] Object to be compared
140
+ def ==(o)
141
+ return true if self.equal?(o)
142
+ self.class == o.class &&
143
+ type == o.type &&
144
+ predicates == o.predicates
145
+ end
146
+
147
+ # @see the `==` method
148
+ # @param [Object] Object to be compared
149
+ def eql?(o)
150
+ self == o
151
+ end
152
+
153
+ # Calculates hash code according to all attributes.
154
+ # @return [Fixnum] Hash code
155
+ def hash
156
+ [type, predicates].hash
157
+ end
158
+
159
+ # build the object from hash
160
+ def build_from_hash(attributes)
161
+ return nil unless attributes.is_a?(Hash)
162
+ self.class.swagger_types.each_pair do |key, type|
163
+ if type =~ /^Array<(.*)>/i
164
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
165
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
166
+ else
167
+ #TODO show warning in debug mode
168
+ end
169
+ elsif !attributes[self.class.attribute_map[key]].nil?
170
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
171
+ else
172
+ # data not found in attributes(hash), not an issue as the data can be optional
173
+ end
174
+ end
175
+
176
+ self
177
+ end
178
+
179
+ def _deserialize(type, value)
180
+ case type.to_sym
181
+ when :DateTime
182
+ DateTime.parse(value)
183
+ when :Date
184
+ Date.parse(value)
185
+ when :String
186
+ value.to_s
187
+ when :Integer
188
+ value.to_i
189
+ when :Float
190
+ value.to_f
191
+ when :BOOLEAN
192
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
193
+ true
194
+ else
195
+ false
196
+ end
197
+ when :Object
198
+ # generic object (usually a Hash), return directly
199
+ value
200
+ when /\AArray<(?<inner_type>.+)>\z/
201
+ inner_type = Regexp.last_match[:inner_type]
202
+ value.map { |v| _deserialize(inner_type, v) }
203
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
204
+ k_type = Regexp.last_match[:k_type]
205
+ v_type = Regexp.last_match[:v_type]
206
+ {}.tap do |hash|
207
+ value.each do |k, v|
208
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
209
+ end
210
+ end
211
+ else # model
212
+ _model = Object.const_get("PureCloud").const_get(type).new
213
+ _model.build_from_hash(value)
214
+ end
215
+ end
216
+
217
+ def to_s
218
+ to_hash.to_s
219
+ end
220
+
221
+ # to_body is an alias to to_body (backward compatibility))
222
+ def to_body
223
+ to_hash
224
+ end
225
+
226
+ # return the object in the form of hash
227
+ def to_hash
228
+ hash = {}
229
+ self.class.attribute_map.each_pair do |attr, param|
230
+ value = self.send(attr)
231
+ next if value.nil?
232
+ hash[param] = _to_hash(value)
233
+ end
234
+ hash
235
+ end
236
+
237
+ # Method to output non-array value in the form of hash
238
+ # For object, use to_hash. Otherwise, just return the value
239
+ def _to_hash(value)
240
+ if value.is_a?(Array)
241
+ value.compact.map{ |v| _to_hash(v) }
242
+ elsif value.is_a?(Hash)
243
+ {}.tap do |hash|
244
+ value.each { |k, v| hash[k] = _to_hash(v) }
245
+ end
246
+ elsif value.respond_to? :to_hash
247
+ value.to_hash
248
+ else
249
+ value
250
+ end
251
+ end
252
+
253
+ end
254
+ end