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.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/docs/AnalyticsApi.md +32 -32
- data/docs/AnalyticsEvaluation.md +2 -0
- data/docs/AnalyticsParticipant.md +1 -0
- data/docs/ArchitectDependencyTrackingBuildNotificationClient.md +14 -0
- data/docs/ArchitectDependencyTrackingBuildNotificationDependencyTrackingBuildNotification.md +1 -0
- data/docs/ArchitectFlowNotificationArchitectOperation.md +1 -0
- data/docs/ArchitectFlowNotificationClient.md +14 -0
- data/docs/ArchitectFlowOutcomeNotificationArchitectOperation.md +1 -0
- data/docs/ArchitectFlowOutcomeNotificationClient.md +14 -0
- data/docs/ArchitectPromptNotificationArchitectOperation.md +1 -0
- data/docs/ArchitectPromptNotificationClient.md +14 -0
- data/docs/ArrayNode.md +5 -5
- data/docs/AsyncConversationQuery.md +7 -6
- data/docs/AuthorizationApi.md +7 -7
- data/docs/CallConversation.md +1 -0
- data/docs/ConversationAggregateDataContainer.md +14 -0
- data/docs/ConversationAggregateQueryClause.md +14 -0
- data/docs/ConversationAggregateQueryFilter.md +15 -0
- data/docs/ConversationAggregateQueryPredicate.md +17 -0
- data/docs/ConversationAggregateQueryResponse.md +13 -0
- data/docs/ConversationAggregationQuery.md +20 -0
- data/docs/ConversationAggregationView.md +16 -0
- data/docs/ConversationDetailQueryClause.md +14 -0
- data/docs/ConversationDetailQueryFilter.md +15 -0
- data/docs/ConversationDetailQueryPredicate.md +18 -0
- data/docs/ConversationQuery.md +6 -6
- data/docs/ConversationsApi.md +286 -4
- data/docs/CreateQueueMediaAssociationRequest.md +1 -0
- data/docs/DataSchema.md +1 -1
- data/docs/DependencyStatus.md +2 -1
- data/docs/DomainOrganizationRole.md +1 -1
- data/docs/DomainOrganizationRoleCreate.md +1 -1
- data/docs/DomainOrganizationRoleUpdate.md +1 -1
- data/docs/EvaluationAggregateDataContainer.md +14 -0
- data/docs/EvaluationAggregateQueryClause.md +14 -0
- data/docs/EvaluationAggregateQueryFilter.md +15 -0
- data/docs/EvaluationAggregateQueryPredicate.md +17 -0
- data/docs/EvaluationAggregateQueryResponse.md +13 -0
- data/docs/EvaluationAggregationQuery.md +21 -0
- data/docs/EvaluationAggregationView.md +16 -0
- data/docs/EvaluationDetailQueryClause.md +14 -0
- data/docs/EvaluationDetailQueryFilter.md +15 -0
- data/docs/EvaluationDetailQueryPredicate.md +18 -0
- data/docs/Flow.md +2 -1
- data/docs/{AggregateDataContainer.md → FlowAggregateDataContainer.md} +2 -2
- data/docs/FlowAggregateQueryClause.md +14 -0
- data/docs/FlowAggregateQueryFilter.md +15 -0
- data/docs/FlowAggregateQueryPredicate.md +17 -0
- data/docs/FlowAggregateQueryResponse.md +13 -0
- data/docs/{AggregationQuery.md → FlowAggregationQuery.md} +4 -4
- data/docs/{AnalyticsView.md → FlowAggregationView.md} +3 -3
- data/docs/{ObservationDataContainer.md → FlowObservationDataContainer.md} +2 -2
- data/docs/{ObservationQuery.md → FlowObservationQuery.md} +3 -3
- data/docs/FlowObservationQueryClause.md +14 -0
- data/docs/FlowObservationQueryFilter.md +15 -0
- data/docs/FlowObservationQueryPredicate.md +17 -0
- data/docs/FlowObservationQueryResponse.md +13 -0
- data/docs/FlowVersion.md +1 -0
- data/docs/FlowsApi.md +8 -8
- data/docs/HistoryEntry.md +2 -1
- data/docs/HistoryListing.md +1 -0
- data/docs/HomerRecord.md +63 -0
- data/docs/IpAddressRange.md +15 -0
- data/docs/IpAddressRangeListing.md +13 -0
- data/docs/JsonNode.md +5 -5
- data/docs/Location.md +4 -4
- data/docs/{LocationUpdateDefinition.md → LocationCreateUpdateDefinition.md} +7 -6
- data/docs/LocationDefinition.md +1 -0
- data/docs/LocationSearchRequest.md +1 -0
- data/docs/LocationsApi.md +6 -6
- data/docs/Manager.md +1 -1
- data/docs/MediaEndpointStatDetailQueryClause.md +14 -0
- data/docs/MediaEndpointStatDetailQueryFilter.md +15 -0
- data/docs/MediaEndpointStatDetailQueryPredicate.md +17 -0
- data/docs/MessageInfo.md +4 -4
- data/docs/ObjectsApi.md +1 -1
- data/docs/Operation.md +1 -0
- data/docs/PresenceDetailQueryClause.md +14 -0
- data/docs/PresenceDetailQueryFilter.md +15 -0
- data/docs/PresenceDetailQueryPredicate.md +17 -0
- data/docs/QualityApi.md +8 -8
- data/docs/QueueMediaAssociation.md +1 -1
- data/docs/QueueObservationDataContainer.md +14 -0
- data/docs/QueueObservationQuery.md +15 -0
- data/docs/QueueObservationQueryClause.md +14 -0
- data/docs/QueueObservationQueryFilter.md +15 -0
- data/docs/QueueObservationQueryPredicate.md +17 -0
- data/docs/{QualifierMappingObservationQueryResponse.md → QueueObservationQueryResponse.md} +3 -3
- data/docs/Recording.md +5 -4
- data/docs/RecordingApi.md +2 -2
- data/docs/RecordingJob.md +1 -0
- data/docs/RecordingJobsQuery.md +2 -2
- data/docs/RecordingMetadata.md +30 -0
- data/docs/ReportingExportJobRequest.md +2 -0
- data/docs/ReportingExportJobResponse.md +2 -0
- data/docs/RoutingApi.md +4 -4
- data/docs/RoutingStatusDetailQueryClause.md +14 -0
- data/docs/RoutingStatusDetailQueryFilter.md +15 -0
- data/docs/RoutingStatusDetailQueryPredicate.md +17 -0
- data/docs/SCIMApi.md +295 -31
- data/docs/SIPSearchPublicRequest.md +22 -0
- data/docs/ScimConfigResourceType.md +20 -0
- data/docs/ScimConfigResourceTypeSchemaExtension.md +14 -0
- data/docs/ScimConfigResourceTypesListResponse.md +17 -0
- data/docs/ScimError.md +16 -0
- data/docs/ScimGroupListResponse.md +2 -2
- data/docs/ScimMetadata.md +2 -2
- data/docs/ScimPhoneNumber.md +1 -1
- data/docs/ScimServiceProviderConfig.md +10 -2
- data/docs/ScimServiceProviderConfigAuthenticationScheme.md +18 -0
- data/docs/ScimServiceProviderConfigBulkFeature.md +15 -0
- data/docs/ScimServiceProviderConfigFilterFeature.md +14 -0
- data/docs/ScimServiceProviderConfigSimpleFeature.md +13 -0
- data/docs/ScimUserListResponse.md +2 -2
- data/docs/ScimV2CreateUser.md +8 -8
- data/docs/ScimV2Group.md +3 -3
- data/docs/ScimV2GroupReference.md +2 -2
- data/docs/ScimV2MemberReference.md +2 -2
- data/docs/ScimV2PatchOperation.md +2 -2
- data/docs/ScimV2PatchRequest.md +2 -2
- data/docs/ScimV2User.md +9 -9
- data/docs/SearchApi.md +4 -4
- data/docs/SegmentDetailQueryClause.md +14 -0
- data/docs/SegmentDetailQueryFilter.md +15 -0
- data/docs/{AnalyticsQueryPredicate.md → SegmentDetailQueryPredicate.md} +4 -4
- data/docs/SignedUrlResponse.md +16 -0
- data/docs/SipDownloadResponse.md +14 -0
- data/docs/SipSearchResult.md +20 -0
- data/docs/Site.md +1 -0
- data/docs/SmsPhoneNumber.md +1 -0
- data/docs/SuggestApi.md +2 -2
- data/docs/SurveyAggregateDataContainer.md +14 -0
- data/docs/SurveyAggregateQueryClause.md +14 -0
- data/docs/SurveyAggregateQueryFilter.md +15 -0
- data/docs/SurveyAggregateQueryPredicate.md +17 -0
- data/docs/SurveyAggregateQueryResponse.md +13 -0
- data/docs/SurveyAggregationQuery.md +20 -0
- data/docs/SurveyAggregationView.md +16 -0
- data/docs/SurveyDetailQueryClause.md +14 -0
- data/docs/SurveyDetailQueryFilter.md +15 -0
- data/docs/SurveyDetailQueryPredicate.md +18 -0
- data/docs/TelephonyApi.md +223 -0
- data/docs/TelephonyProvidersEdgeApi.md +6 -6
- data/docs/TokensApi.md +2 -1
- data/docs/TrusteeBillingOverview.md +1 -0
- data/docs/UserAggregateDataContainer.md +14 -0
- data/docs/UserAggregateQueryClause.md +14 -0
- data/docs/UserAggregateQueryFilter.md +15 -0
- data/docs/UserAggregateQueryPredicate.md +17 -0
- data/docs/{PresenceQueryResponse.md → UserAggregateQueryResponse.md} +3 -3
- data/docs/UserAggregationQuery.md +20 -0
- data/docs/UserAggregationView.md +16 -0
- data/docs/UserAuthorization.md +1 -1
- data/docs/UserDetailQueryClause.md +14 -0
- data/docs/UserDetailQueryFilter.md +15 -0
- data/docs/UserDetailQueryPredicate.md +17 -0
- data/docs/UserDetailsQuery.md +4 -4
- data/docs/UserObservationDataContainer.md +14 -0
- data/docs/UserObservationQuery.md +15 -0
- data/docs/UserObservationQueryClause.md +14 -0
- data/docs/UserObservationQueryFilter.md +15 -0
- data/docs/UserObservationQueryPredicate.md +17 -0
- data/docs/UserObservationQueryResponse.md +13 -0
- data/docs/UsersApi.md +10 -10
- data/docs/UtilitiesApi.md +59 -0
- data/lib/purecloudplatformclientv2.rb +99 -13
- data/lib/purecloudplatformclientv2/api/analytics_api.rb +24 -24
- data/lib/purecloudplatformclientv2/api/authorization_api.rb +8 -8
- data/lib/purecloudplatformclientv2/api/conversations_api.rb +343 -3
- data/lib/purecloudplatformclientv2/api/flows_api.rb +6 -6
- data/lib/purecloudplatformclientv2/api/locations_api.rb +2 -2
- data/lib/purecloudplatformclientv2/api/objects_api.rb +2 -2
- data/lib/purecloudplatformclientv2/api/quality_api.rb +6 -6
- data/lib/purecloudplatformclientv2/api/recording_api.rb +3 -3
- data/lib/purecloudplatformclientv2/api/routing_api.rb +3 -3
- data/lib/purecloudplatformclientv2/api/scim_api.rb +344 -30
- data/lib/purecloudplatformclientv2/api/search_api.rb +2 -2
- data/lib/purecloudplatformclientv2/api/telephony_api.rb +270 -0
- data/lib/purecloudplatformclientv2/api/telephony_providers_edge_api.rb +4 -4
- data/lib/purecloudplatformclientv2/api/users_api.rb +8 -8
- data/lib/purecloudplatformclientv2/api/utilities_api.rb +55 -0
- data/lib/purecloudplatformclientv2/api_client.rb +1 -1
- data/lib/purecloudplatformclientv2/models/aggregate_metric_data.rb +1 -15
- data/lib/purecloudplatformclientv2/models/analytics_evaluation.rb +53 -1
- data/lib/purecloudplatformclientv2/models/analytics_participant.rb +31 -3
- data/lib/purecloudplatformclientv2/models/architect_dependency_tracking_build_notification_client.rb +226 -0
- data/lib/purecloudplatformclientv2/models/architect_dependency_tracking_build_notification_dependency_tracking_build_notification.rb +26 -1
- data/lib/purecloudplatformclientv2/models/architect_flow_notification_architect_operation.rb +26 -1
- data/lib/purecloudplatformclientv2/models/architect_flow_notification_client.rb +226 -0
- data/lib/purecloudplatformclientv2/models/architect_flow_outcome_notification_architect_operation.rb +26 -1
- data/lib/purecloudplatformclientv2/models/architect_flow_outcome_notification_client.rb +226 -0
- data/lib/purecloudplatformclientv2/models/architect_prompt_notification_architect_operation.rb +26 -1
- data/lib/purecloudplatformclientv2/models/architect_prompt_notification_client.rb +226 -0
- data/lib/purecloudplatformclientv2/models/array_node.rb +51 -51
- data/lib/purecloudplatformclientv2/models/async_conversation_query.rb +57 -31
- data/lib/purecloudplatformclientv2/models/call_conversation.rb +27 -1
- data/lib/purecloudplatformclientv2/models/conversation_aggregate_data_container.rb +231 -0
- data/lib/purecloudplatformclientv2/models/{analytics_query_clause.rb → conversation_aggregate_query_clause.rb} +3 -3
- data/lib/purecloudplatformclientv2/models/{analytics_query_filter.rb → conversation_aggregate_query_filter.rb} +4 -4
- data/lib/purecloudplatformclientv2/models/conversation_aggregate_query_predicate.rb +348 -0
- data/lib/purecloudplatformclientv2/models/conversation_aggregate_query_response.rb +203 -0
- data/lib/purecloudplatformclientv2/models/conversation_aggregation_query.rb +390 -0
- data/lib/purecloudplatformclientv2/models/conversation_aggregation_view.rb +323 -0
- data/lib/purecloudplatformclientv2/models/conversation_detail_query_clause.rb +254 -0
- data/lib/purecloudplatformclientv2/models/conversation_detail_query_filter.rb +277 -0
- data/lib/purecloudplatformclientv2/models/conversation_detail_query_predicate.rb +388 -0
- data/lib/purecloudplatformclientv2/models/conversation_query.rb +28 -28
- data/lib/purecloudplatformclientv2/models/create_queue_media_association_request.rb +27 -1
- data/lib/purecloudplatformclientv2/models/data_schema.rb +1 -1
- data/lib/purecloudplatformclientv2/models/dependency_status.rb +28 -1
- data/lib/purecloudplatformclientv2/models/domain_organization_role.rb +1 -0
- data/lib/purecloudplatformclientv2/models/domain_organization_role_create.rb +1 -0
- data/lib/purecloudplatformclientv2/models/domain_organization_role_update.rb +1 -0
- data/lib/purecloudplatformclientv2/models/evaluation_aggregate_data_container.rb +231 -0
- data/lib/purecloudplatformclientv2/models/evaluation_aggregate_query_clause.rb +254 -0
- data/lib/purecloudplatformclientv2/models/evaluation_aggregate_query_filter.rb +277 -0
- data/lib/purecloudplatformclientv2/models/evaluation_aggregate_query_predicate.rb +348 -0
- data/lib/purecloudplatformclientv2/models/evaluation_aggregate_query_response.rb +203 -0
- data/lib/purecloudplatformclientv2/models/evaluation_aggregation_query.rb +430 -0
- data/lib/purecloudplatformclientv2/models/evaluation_aggregation_view.rb +323 -0
- data/lib/purecloudplatformclientv2/models/evaluation_detail_query_clause.rb +254 -0
- data/lib/purecloudplatformclientv2/models/evaluation_detail_query_filter.rb +277 -0
- data/lib/purecloudplatformclientv2/models/evaluation_detail_query_predicate.rb +388 -0
- data/lib/purecloudplatformclientv2/models/event_message.rb +2 -2
- data/lib/purecloudplatformclientv2/models/flow.rb +28 -1
- data/lib/purecloudplatformclientv2/models/{aggregate_data_container.rb → flow_aggregate_data_container.rb} +1 -1
- data/lib/purecloudplatformclientv2/models/flow_aggregate_query_clause.rb +254 -0
- data/lib/purecloudplatformclientv2/models/flow_aggregate_query_filter.rb +277 -0
- data/lib/purecloudplatformclientv2/models/flow_aggregate_query_predicate.rb +348 -0
- data/lib/purecloudplatformclientv2/models/{aggregate_query_response.rb → flow_aggregate_query_response.rb} +2 -2
- data/lib/purecloudplatformclientv2/models/{aggregation_query.rb → flow_aggregation_query.rb} +3 -3
- data/lib/purecloudplatformclientv2/models/flow_aggregation_view.rb +323 -0
- data/lib/purecloudplatformclientv2/models/{observation_data_container.rb → flow_observation_data_container.rb} +1 -1
- data/lib/purecloudplatformclientv2/models/{observation_query.rb → flow_observation_query.rb} +2 -2
- data/lib/purecloudplatformclientv2/models/flow_observation_query_clause.rb +254 -0
- data/lib/purecloudplatformclientv2/models/flow_observation_query_filter.rb +277 -0
- data/lib/purecloudplatformclientv2/models/flow_observation_query_predicate.rb +348 -0
- data/lib/purecloudplatformclientv2/models/{observation_query_response.rb → flow_observation_query_response.rb} +2 -2
- data/lib/purecloudplatformclientv2/models/flow_version.rb +26 -1
- data/lib/purecloudplatformclientv2/models/history_entry.rb +28 -1
- data/lib/purecloudplatformclientv2/models/history_listing.rb +26 -1
- data/lib/purecloudplatformclientv2/models/homer_record.rb +1501 -0
- data/lib/purecloudplatformclientv2/models/ip_address_range.rb +265 -0
- data/lib/purecloudplatformclientv2/models/ip_address_range_listing.rb +203 -0
- data/lib/purecloudplatformclientv2/models/json_node.rb +51 -51
- data/lib/purecloudplatformclientv2/models/location.rb +4 -0
- data/lib/purecloudplatformclientv2/models/{location_update_definition.rb → location_create_update_definition.rb} +56 -25
- data/lib/purecloudplatformclientv2/models/location_definition.rb +27 -1
- data/lib/purecloudplatformclientv2/models/location_search_request.rb +29 -1
- data/lib/purecloudplatformclientv2/models/manager.rb +1 -1
- data/lib/purecloudplatformclientv2/models/media_endpoint_stat_detail_query_clause.rb +254 -0
- data/lib/purecloudplatformclientv2/models/media_endpoint_stat_detail_query_filter.rb +277 -0
- data/lib/purecloudplatformclientv2/models/media_endpoint_stat_detail_query_predicate.rb +348 -0
- data/lib/purecloudplatformclientv2/models/message_info.rb +4 -0
- data/lib/purecloudplatformclientv2/models/observation_metric_data.rb +1 -15
- data/lib/purecloudplatformclientv2/models/operation.rb +26 -1
- data/lib/purecloudplatformclientv2/models/presence_detail_query_clause.rb +254 -0
- data/lib/purecloudplatformclientv2/models/presence_detail_query_filter.rb +277 -0
- data/lib/purecloudplatformclientv2/models/presence_detail_query_predicate.rb +348 -0
- data/lib/purecloudplatformclientv2/models/queue_media_association.rb +17 -17
- data/lib/purecloudplatformclientv2/models/queue_observation_data_container.rb +231 -0
- data/lib/purecloudplatformclientv2/models/queue_observation_query.rb +263 -0
- data/lib/purecloudplatformclientv2/models/queue_observation_query_clause.rb +254 -0
- data/lib/purecloudplatformclientv2/models/queue_observation_query_filter.rb +277 -0
- data/lib/purecloudplatformclientv2/models/queue_observation_query_predicate.rb +348 -0
- data/lib/purecloudplatformclientv2/models/{qualifier_mapping_observation_query_response.rb → queue_observation_query_response.rb} +2 -2
- data/lib/purecloudplatformclientv2/models/recording.rb +31 -3
- data/lib/purecloudplatformclientv2/models/recording_job.rb +30 -4
- data/lib/purecloudplatformclientv2/models/recording_jobs_query.rb +2 -2
- data/lib/purecloudplatformclientv2/models/recording_metadata.rb +670 -0
- data/lib/purecloudplatformclientv2/models/reporting_export_job_request.rb +58 -6
- data/lib/purecloudplatformclientv2/models/reporting_export_job_response.rb +55 -3
- data/lib/purecloudplatformclientv2/models/routing_status_detail_query_clause.rb +254 -0
- data/lib/purecloudplatformclientv2/models/routing_status_detail_query_filter.rb +277 -0
- data/lib/purecloudplatformclientv2/models/routing_status_detail_query_predicate.rb +348 -0
- data/lib/purecloudplatformclientv2/models/scim_config_resource_type.rb +389 -0
- data/lib/purecloudplatformclientv2/models/scim_config_resource_type_schema_extension.rb +229 -0
- data/lib/purecloudplatformclientv2/models/scim_config_resource_types_list_response.rb +311 -0
- data/lib/purecloudplatformclientv2/models/scim_error.rb +297 -0
- data/lib/purecloudplatformclientv2/models/scim_group_list_response.rb +2 -2
- data/lib/purecloudplatformclientv2/models/scim_metadata.rb +4 -4
- data/lib/purecloudplatformclientv2/models/scim_phone_number.rb +2 -2
- data/lib/purecloudplatformclientv2/models/scim_service_provider_config.rb +216 -3
- data/lib/purecloudplatformclientv2/models/scim_service_provider_config_authentication_scheme.rb +362 -0
- data/lib/purecloudplatformclientv2/models/scim_service_provider_config_bulk_feature.rb +255 -0
- data/lib/purecloudplatformclientv2/models/scim_service_provider_config_filter_feature.rb +229 -0
- data/lib/purecloudplatformclientv2/models/scim_service_provider_config_simple_feature.rb +203 -0
- data/lib/purecloudplatformclientv2/models/scim_user_list_response.rb +2 -2
- data/lib/purecloudplatformclientv2/models/scim_v2_create_user.rb +8 -8
- data/lib/purecloudplatformclientv2/models/scim_v2_group.rb +3 -3
- data/lib/purecloudplatformclientv2/models/scim_v2_group_reference.rb +4 -4
- data/lib/purecloudplatformclientv2/models/scim_v2_member_reference.rb +4 -4
- data/lib/purecloudplatformclientv2/models/scim_v2_patch_operation.rb +3 -3
- data/lib/purecloudplatformclientv2/models/scim_v2_patch_request.rb +2 -1
- data/lib/purecloudplatformclientv2/models/scim_v2_user.rb +9 -9
- data/lib/purecloudplatformclientv2/models/segment_detail_query_clause.rb +254 -0
- data/lib/purecloudplatformclientv2/models/segment_detail_query_filter.rb +277 -0
- data/lib/purecloudplatformclientv2/models/{analytics_query_predicate.rb → segment_detail_query_predicate.rb} +7 -7
- data/lib/purecloudplatformclientv2/models/signed_url_response.rb +279 -0
- data/lib/purecloudplatformclientv2/models/sip_download_response.rb +228 -0
- data/lib/purecloudplatformclientv2/models/sip_search_public_request.rb +445 -0
- data/lib/purecloudplatformclientv2/models/sip_search_result.rb +386 -0
- data/lib/purecloudplatformclientv2/models/site.rb +26 -1
- data/lib/purecloudplatformclientv2/models/sms_phone_number.rb +41 -1
- data/lib/purecloudplatformclientv2/models/subject_division_grants.rb +2 -2
- data/lib/purecloudplatformclientv2/models/survey_aggregate_data_container.rb +231 -0
- data/lib/purecloudplatformclientv2/models/survey_aggregate_query_clause.rb +254 -0
- data/lib/purecloudplatformclientv2/models/survey_aggregate_query_filter.rb +277 -0
- data/lib/purecloudplatformclientv2/models/survey_aggregate_query_predicate.rb +348 -0
- data/lib/purecloudplatformclientv2/models/survey_aggregate_query_response.rb +203 -0
- data/lib/purecloudplatformclientv2/models/survey_aggregation_query.rb +390 -0
- data/lib/purecloudplatformclientv2/models/survey_aggregation_view.rb +323 -0
- data/lib/purecloudplatformclientv2/models/survey_detail_query_clause.rb +254 -0
- data/lib/purecloudplatformclientv2/models/survey_detail_query_filter.rb +277 -0
- data/lib/purecloudplatformclientv2/models/survey_detail_query_predicate.rb +388 -0
- data/lib/purecloudplatformclientv2/models/system_message_system_message.rb +4 -4
- data/lib/purecloudplatformclientv2/models/trustee_billing_overview.rb +27 -1
- data/lib/purecloudplatformclientv2/models/user_aggregate_data_container.rb +231 -0
- data/lib/purecloudplatformclientv2/models/user_aggregate_query_clause.rb +254 -0
- data/lib/purecloudplatformclientv2/models/user_aggregate_query_filter.rb +277 -0
- data/lib/purecloudplatformclientv2/models/user_aggregate_query_predicate.rb +348 -0
- data/lib/purecloudplatformclientv2/models/{presence_query_response.rb → user_aggregate_query_response.rb} +2 -2
- data/lib/purecloudplatformclientv2/models/user_aggregation_query.rb +390 -0
- data/lib/purecloudplatformclientv2/models/{analytics_view.rb → user_aggregation_view.rb} +17 -3
- data/lib/purecloudplatformclientv2/models/user_authorization.rb +1 -0
- data/lib/purecloudplatformclientv2/models/user_detail_query_clause.rb +254 -0
- data/lib/purecloudplatformclientv2/models/user_detail_query_filter.rb +277 -0
- data/lib/purecloudplatformclientv2/models/user_detail_query_predicate.rb +348 -0
- data/lib/purecloudplatformclientv2/models/user_details_query.rb +37 -38
- data/lib/purecloudplatformclientv2/models/user_observation_data_container.rb +231 -0
- data/lib/purecloudplatformclientv2/models/user_observation_query.rb +263 -0
- data/lib/purecloudplatformclientv2/models/user_observation_query_clause.rb +254 -0
- data/lib/purecloudplatformclientv2/models/user_observation_query_filter.rb +277 -0
- data/lib/purecloudplatformclientv2/models/user_observation_query_predicate.rb +348 -0
- data/lib/purecloudplatformclientv2/models/user_observation_query_response.rb +203 -0
- data/lib/purecloudplatformclientv2/version.rb +1 -1
- metadata +200 -28
- data/docs/AggregateQueryResponse.md +0 -13
- data/docs/AnalyticsQueryClause.md +0 -14
- data/docs/AnalyticsQueryFilter.md +0 -15
- data/docs/ObservationQueryResponse.md +0 -13
|
@@ -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 FlowObservationQueryPredicate
|
|
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 = ["flowId", "mediaType"]
|
|
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 = ["flowId", "mediaType"]
|
|
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
|
|
@@ -17,7 +17,7 @@ Terms of Service: https://help.mypurecloud.com/articles/terms-and-conditions/
|
|
|
17
17
|
require 'date'
|
|
18
18
|
|
|
19
19
|
module PureCloud
|
|
20
|
-
class
|
|
20
|
+
class FlowObservationQueryResponse
|
|
21
21
|
attr_accessor :results
|
|
22
22
|
|
|
23
23
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
@@ -33,7 +33,7 @@ module PureCloud
|
|
|
33
33
|
def self.swagger_types
|
|
34
34
|
{
|
|
35
35
|
|
|
36
|
-
:'results' => :'Array<
|
|
36
|
+
:'results' => :'Array<FlowObservationDataContainer>'
|
|
37
37
|
|
|
38
38
|
}
|
|
39
39
|
end
|
|
@@ -33,6 +33,8 @@ module PureCloud
|
|
|
33
33
|
|
|
34
34
|
attr_accessor :created_by
|
|
35
35
|
|
|
36
|
+
attr_accessor :created_by_client
|
|
37
|
+
|
|
36
38
|
attr_accessor :configuration_uri
|
|
37
39
|
|
|
38
40
|
attr_accessor :date_created
|
|
@@ -62,6 +64,8 @@ module PureCloud
|
|
|
62
64
|
|
|
63
65
|
:'created_by' => :'createdBy',
|
|
64
66
|
|
|
67
|
+
:'created_by_client' => :'createdByClient',
|
|
68
|
+
|
|
65
69
|
:'configuration_uri' => :'configurationUri',
|
|
66
70
|
|
|
67
71
|
:'date_created' => :'dateCreated',
|
|
@@ -93,6 +97,8 @@ module PureCloud
|
|
|
93
97
|
|
|
94
98
|
:'created_by' => :'User',
|
|
95
99
|
|
|
100
|
+
:'created_by_client' => :'DomainEntityRef',
|
|
101
|
+
|
|
96
102
|
:'configuration_uri' => :'String',
|
|
97
103
|
|
|
98
104
|
:'date_created' => :'Integer',
|
|
@@ -178,6 +184,15 @@ module PureCloud
|
|
|
178
184
|
end
|
|
179
185
|
|
|
180
186
|
|
|
187
|
+
if attributes.has_key?(:'createdByClient')
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
self.created_by_client = attributes[:'createdByClient']
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
end
|
|
194
|
+
|
|
195
|
+
|
|
181
196
|
if attributes.has_key?(:'configurationUri')
|
|
182
197
|
|
|
183
198
|
|
|
@@ -286,6 +301,10 @@ module PureCloud
|
|
|
286
301
|
|
|
287
302
|
|
|
288
303
|
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
|
|
289
308
|
|
|
290
309
|
|
|
291
310
|
|
|
@@ -357,6 +376,11 @@ module PureCloud
|
|
|
357
376
|
|
|
358
377
|
|
|
359
378
|
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
|
|
383
|
+
|
|
360
384
|
|
|
361
385
|
|
|
362
386
|
|
|
@@ -375,6 +399,7 @@ module PureCloud
|
|
|
375
399
|
type == o.type &&
|
|
376
400
|
secure == o.secure &&
|
|
377
401
|
created_by == o.created_by &&
|
|
402
|
+
created_by_client == o.created_by_client &&
|
|
378
403
|
configuration_uri == o.configuration_uri &&
|
|
379
404
|
date_created == o.date_created &&
|
|
380
405
|
generation_id == o.generation_id &&
|
|
@@ -391,7 +416,7 @@ module PureCloud
|
|
|
391
416
|
# Calculates hash code according to all attributes.
|
|
392
417
|
# @return [Fixnum] Hash code
|
|
393
418
|
def hash
|
|
394
|
-
[id, name, commit_version, configuration_version, type, secure, created_by, configuration_uri, date_created, generation_id, publish_result_uri, self_uri].hash
|
|
419
|
+
[id, name, commit_version, configuration_version, type, secure, created_by, created_by_client, configuration_uri, date_created, generation_id, publish_result_uri, self_uri].hash
|
|
395
420
|
end
|
|
396
421
|
|
|
397
422
|
# build the object from hash
|
|
@@ -27,8 +27,12 @@ module PureCloud
|
|
|
27
27
|
# Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
|
|
28
28
|
attr_accessor :timestamp
|
|
29
29
|
|
|
30
|
+
# User associated with this entry.
|
|
30
31
|
attr_accessor :user
|
|
31
32
|
|
|
33
|
+
# OAuth client associated with this entry.
|
|
34
|
+
attr_accessor :client
|
|
35
|
+
|
|
32
36
|
attr_accessor :version
|
|
33
37
|
|
|
34
38
|
attr_accessor :secure
|
|
@@ -45,6 +49,8 @@ module PureCloud
|
|
|
45
49
|
|
|
46
50
|
:'user' => :'user',
|
|
47
51
|
|
|
52
|
+
:'client' => :'client',
|
|
53
|
+
|
|
48
54
|
:'version' => :'version',
|
|
49
55
|
|
|
50
56
|
:'secure' => :'secure'
|
|
@@ -64,6 +70,8 @@ module PureCloud
|
|
|
64
70
|
|
|
65
71
|
:'user' => :'User',
|
|
66
72
|
|
|
73
|
+
:'client' => :'DomainEntityRef',
|
|
74
|
+
|
|
67
75
|
:'version' => :'String',
|
|
68
76
|
|
|
69
77
|
:'secure' => :'BOOLEAN'
|
|
@@ -116,6 +124,15 @@ module PureCloud
|
|
|
116
124
|
end
|
|
117
125
|
|
|
118
126
|
|
|
127
|
+
if attributes.has_key?(:'client')
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
self.client = attributes[:'client']
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
|
|
119
136
|
if attributes.has_key?(:'version')
|
|
120
137
|
|
|
121
138
|
|
|
@@ -173,6 +190,10 @@ module PureCloud
|
|
|
173
190
|
|
|
174
191
|
|
|
175
192
|
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
|
|
176
197
|
|
|
177
198
|
|
|
178
199
|
|
|
@@ -214,6 +235,11 @@ module PureCloud
|
|
|
214
235
|
|
|
215
236
|
|
|
216
237
|
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
|
|
217
243
|
|
|
218
244
|
|
|
219
245
|
|
|
@@ -229,6 +255,7 @@ module PureCloud
|
|
|
229
255
|
resource == o.resource &&
|
|
230
256
|
timestamp == o.timestamp &&
|
|
231
257
|
user == o.user &&
|
|
258
|
+
client == o.client &&
|
|
232
259
|
version == o.version &&
|
|
233
260
|
secure == o.secure
|
|
234
261
|
end
|
|
@@ -242,7 +269,7 @@ module PureCloud
|
|
|
242
269
|
# Calculates hash code according to all attributes.
|
|
243
270
|
# @return [Fixnum] Hash code
|
|
244
271
|
def hash
|
|
245
|
-
[action, resource, timestamp, user, version, secure].hash
|
|
272
|
+
[action, resource, timestamp, user, client, version, secure].hash
|
|
246
273
|
end
|
|
247
274
|
|
|
248
275
|
# build the object from hash
|