purecloudplatformclientv2 17.0.0 → 18.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (120) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/docs/AnalyticsConversation.md +5 -5
  4. data/docs/AnalyticsConversationSegment.md +9 -9
  5. data/docs/AnalyticsEvaluation.md +10 -10
  6. data/docs/AnalyticsParticipant.md +7 -7
  7. data/docs/AnalyticsSession.md +27 -27
  8. data/docs/BillingApi.md +75 -0
  9. data/docs/BillingUsage.md +15 -0
  10. data/docs/BillingUsageReport.md +18 -0
  11. data/docs/BillingUsageResource.md +14 -0
  12. data/docs/CallCommand.md +1 -0
  13. data/docs/Conversation.md +1 -1
  14. data/docs/CreateQueueRequest.md +9 -9
  15. data/docs/DID.md +9 -9
  16. data/docs/DIDPool.md +9 -9
  17. data/docs/DirectoryUserDevicesListing.md +22 -0
  18. data/docs/DomainCertificateAuthority.md +9 -9
  19. data/docs/DomainLogicalInterface.md +9 -9
  20. data/docs/DomainOrganizationRole.md +1 -1
  21. data/docs/DomainOrganizationRoleCreate.md +1 -1
  22. data/docs/DomainOrganizationRoleUpdate.md +1 -1
  23. data/docs/DomainPhysicalInterface.md +9 -9
  24. data/docs/DomainSchemaReference.md +9 -9
  25. data/docs/Edge.md +10 -10
  26. data/docs/EdgeGroup.md +9 -9
  27. data/docs/EdgeLine.md +9 -9
  28. data/docs/EdgeLogsJob.md +9 -9
  29. data/docs/EdgeLogsJobFile.md +9 -9
  30. data/docs/EdgeLogsJobResponse.md +9 -9
  31. data/docs/EdgeTrunkBase.md +9 -9
  32. data/docs/Endpoint.md +9 -9
  33. data/docs/Extension.md +9 -9
  34. data/docs/ExtensionPool.md +9 -9
  35. data/docs/IVR.md +9 -9
  36. data/docs/JsonNode.md +4 -4
  37. data/docs/Line.md +9 -9
  38. data/docs/LineBase.md +9 -9
  39. data/docs/Metabase.md +8 -8
  40. data/docs/MobileDevicesApi.md +320 -0
  41. data/docs/NumberPlan.md +9 -9
  42. data/docs/OutboundApi.md +113 -0
  43. data/docs/OutboundRoute.md +9 -9
  44. data/docs/OutboundRouteBase.md +9 -9
  45. data/docs/OutboundSettings.md +20 -0
  46. data/docs/Phone.md +9 -9
  47. data/docs/PhoneBase.md +9 -9
  48. data/docs/Queue.md +9 -9
  49. data/docs/Schedule.md +10 -10
  50. data/docs/ScheduleGroup.md +10 -10
  51. data/docs/SchemaCategory.md +9 -9
  52. data/docs/Site.md +9 -9
  53. data/docs/Trunk.md +9 -9
  54. data/docs/TrunkBase.md +9 -9
  55. data/docs/UserDevice.md +22 -0
  56. data/docs/UserQueue.md +9 -9
  57. data/docs/UsersApi.md +1 -1
  58. data/lib/purecloudplatformclientv2.rb +8 -0
  59. data/lib/purecloudplatformclientv2/api/billing_api.rb +104 -0
  60. data/lib/purecloudplatformclientv2/api/mobile_devices_api.rb +380 -0
  61. data/lib/purecloudplatformclientv2/api/outbound_api.rb +119 -0
  62. data/lib/purecloudplatformclientv2/api/users_api.rb +2 -2
  63. data/lib/purecloudplatformclientv2/api_client.rb +1 -1
  64. data/lib/purecloudplatformclientv2/models/analytics_conversation.rb +5 -2
  65. data/lib/purecloudplatformclientv2/models/analytics_conversation_segment.rb +9 -2
  66. data/lib/purecloudplatformclientv2/models/analytics_evaluation.rb +10 -0
  67. data/lib/purecloudplatformclientv2/models/analytics_participant.rb +7 -0
  68. data/lib/purecloudplatformclientv2/models/analytics_session.rb +42 -2
  69. data/lib/purecloudplatformclientv2/models/billing_usage.rb +271 -0
  70. data/lib/purecloudplatformclientv2/models/billing_usage_report.rb +348 -0
  71. data/lib/purecloudplatformclientv2/models/billing_usage_resource.rb +238 -0
  72. data/lib/purecloudplatformclientv2/models/call_command.rb +30 -4
  73. data/lib/purecloudplatformclientv2/models/conversation.rb +1 -1
  74. data/lib/purecloudplatformclientv2/models/create_queue_request.rb +9 -2
  75. data/lib/purecloudplatformclientv2/models/did.rb +9 -2
  76. data/lib/purecloudplatformclientv2/models/did_pool.rb +9 -2
  77. data/lib/purecloudplatformclientv2/models/directory_user_devices_listing.rb +428 -0
  78. data/lib/purecloudplatformclientv2/models/domain_certificate_authority.rb +9 -2
  79. data/lib/purecloudplatformclientv2/models/domain_logical_interface.rb +9 -2
  80. data/lib/purecloudplatformclientv2/models/domain_organization_role.rb +12 -12
  81. data/lib/purecloudplatformclientv2/models/domain_organization_role_create.rb +12 -12
  82. data/lib/purecloudplatformclientv2/models/domain_organization_role_update.rb +12 -12
  83. data/lib/purecloudplatformclientv2/models/domain_physical_interface.rb +9 -2
  84. data/lib/purecloudplatformclientv2/models/domain_schema_reference.rb +9 -2
  85. data/lib/purecloudplatformclientv2/models/edge.rb +10 -2
  86. data/lib/purecloudplatformclientv2/models/edge_group.rb +9 -2
  87. data/lib/purecloudplatformclientv2/models/edge_line.rb +9 -2
  88. data/lib/purecloudplatformclientv2/models/edge_logs_job.rb +9 -2
  89. data/lib/purecloudplatformclientv2/models/edge_logs_job_file.rb +9 -2
  90. data/lib/purecloudplatformclientv2/models/edge_logs_job_response.rb +9 -2
  91. data/lib/purecloudplatformclientv2/models/edge_trunk_base.rb +9 -2
  92. data/lib/purecloudplatformclientv2/models/endpoint.rb +9 -2
  93. data/lib/purecloudplatformclientv2/models/extension.rb +9 -2
  94. data/lib/purecloudplatformclientv2/models/extension_pool.rb +9 -2
  95. data/lib/purecloudplatformclientv2/models/intraday_data_group.rb +2 -2
  96. data/lib/purecloudplatformclientv2/models/intraday_data_update_notification_intraday_data_group.rb +2 -2
  97. data/lib/purecloudplatformclientv2/models/intraday_data_update_notification_intraday_data_groupings.rb +2 -2
  98. data/lib/purecloudplatformclientv2/models/ivr.rb +9 -2
  99. data/lib/purecloudplatformclientv2/models/json_node.rb +72 -72
  100. data/lib/purecloudplatformclientv2/models/line.rb +9 -2
  101. data/lib/purecloudplatformclientv2/models/line_base.rb +9 -2
  102. data/lib/purecloudplatformclientv2/models/metabase.rb +8 -2
  103. data/lib/purecloudplatformclientv2/models/number_plan.rb +9 -2
  104. data/lib/purecloudplatformclientv2/models/outbound_route.rb +9 -2
  105. data/lib/purecloudplatformclientv2/models/outbound_route_base.rb +9 -2
  106. data/lib/purecloudplatformclientv2/models/outbound_settings.rb +383 -0
  107. data/lib/purecloudplatformclientv2/models/phone.rb +9 -2
  108. data/lib/purecloudplatformclientv2/models/phone_base.rb +9 -2
  109. data/lib/purecloudplatformclientv2/models/queue.rb +9 -2
  110. data/lib/purecloudplatformclientv2/models/recording.rb +2 -2
  111. data/lib/purecloudplatformclientv2/models/schedule.rb +15 -2
  112. data/lib/purecloudplatformclientv2/models/schedule_group.rb +15 -2
  113. data/lib/purecloudplatformclientv2/models/schema_category.rb +9 -2
  114. data/lib/purecloudplatformclientv2/models/site.rb +9 -2
  115. data/lib/purecloudplatformclientv2/models/trunk.rb +9 -2
  116. data/lib/purecloudplatformclientv2/models/trunk_base.rb +9 -2
  117. data/lib/purecloudplatformclientv2/models/user_device.rb +478 -0
  118. data/lib/purecloudplatformclientv2/models/user_queue.rb +9 -2
  119. data/lib/purecloudplatformclientv2/version.rb +1 -1
  120. metadata +19 -3
@@ -24,24 +24,31 @@ module PureCloud
24
24
  # The name of the entity.
25
25
  attr_accessor :name
26
26
 
27
+ # The resource's description.
27
28
  attr_accessor :description
28
29
 
30
+ # The current version of the resource.
29
31
  attr_accessor :version
30
32
 
31
- # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
33
+ # The date the resource was created. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
32
34
  attr_accessor :date_created
33
35
 
34
- # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
36
+ # The date of the last modification to the resource. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
35
37
  attr_accessor :date_modified
36
38
 
39
+ # The ID of the user that last modified the resource.
37
40
  attr_accessor :modified_by
38
41
 
42
+ # The ID of the user that created the resource.
39
43
  attr_accessor :created_by
40
44
 
45
+ # Indicates if the resource is active, inactive, or deleted.
41
46
  attr_accessor :state
42
47
 
48
+ # The application that last modified the resource.
43
49
  attr_accessor :modified_by_app
44
50
 
51
+ # The application that created the resource.
45
52
  attr_accessor :created_by_app
46
53
 
47
54
  # The site associated to the phone.
@@ -24,24 +24,31 @@ module PureCloud
24
24
  # The name of the entity.
25
25
  attr_accessor :name
26
26
 
27
+ # The resource's description.
27
28
  attr_accessor :description
28
29
 
30
+ # The current version of the resource.
29
31
  attr_accessor :version
30
32
 
31
- # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
33
+ # The date the resource was created. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
32
34
  attr_accessor :date_created
33
35
 
34
- # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
36
+ # The date of the last modification to the resource. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
35
37
  attr_accessor :date_modified
36
38
 
39
+ # The ID of the user that last modified the resource.
37
40
  attr_accessor :modified_by
38
41
 
42
+ # The ID of the user that created the resource.
39
43
  attr_accessor :created_by
40
44
 
45
+ # Indicates if the resource is active, inactive, or deleted.
41
46
  attr_accessor :state
42
47
 
48
+ # The application that last modified the resource.
43
49
  attr_accessor :modified_by_app
44
50
 
51
+ # The application that created the resource.
45
52
  attr_accessor :created_by_app
46
53
 
47
54
  # A phone metabase is essentially a database for storing phone configuration settings, which simplifies the configuration process.
@@ -23,24 +23,31 @@ module PureCloud
23
23
 
24
24
  attr_accessor :name
25
25
 
26
+ # The resource's description.
26
27
  attr_accessor :description
27
28
 
29
+ # The current version of the resource.
28
30
  attr_accessor :version
29
31
 
30
- # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
32
+ # The date the resource was created. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
31
33
  attr_accessor :date_created
32
34
 
33
- # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
35
+ # The date of the last modification to the resource. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
34
36
  attr_accessor :date_modified
35
37
 
38
+ # The ID of the user that last modified the resource.
36
39
  attr_accessor :modified_by
37
40
 
41
+ # The ID of the user that created the resource.
38
42
  attr_accessor :created_by
39
43
 
44
+ # Indicates if the resource is active, inactive, or deleted.
40
45
  attr_accessor :state
41
46
 
47
+ # The application that last modified the resource.
42
48
  attr_accessor :modified_by_app
43
49
 
50
+ # The application that created the resource.
44
51
  attr_accessor :created_by_app
45
52
 
46
53
  # The media settings for the queue. Valid Key Values: CALL, CALLBACK, CHAT, EMAIL, SOCIAL_EXPRESSION
@@ -469,7 +469,7 @@ module PureCloud
469
469
 
470
470
 
471
471
 
472
- allowed_values = ["ARCHIVED", "AVAILABLE", "DELETED", "RESTORED", "RESTORING", "UPLOADING"]
472
+ allowed_values = ["ARCHIVED", "AVAILABLE", "DELETED", "RESTORED", "RESTORING", "UPLOADING", "ERROR"]
473
473
  if @file_state && !allowed_values.include?(@file_state)
474
474
  return false
475
475
  end
@@ -586,7 +586,7 @@ module PureCloud
586
586
  # Custom attribute writer method checking allowed values (enum).
587
587
  # @param [Object] file_state Object to be assigned
588
588
  def file_state=(file_state)
589
- allowed_values = ["ARCHIVED", "AVAILABLE", "DELETED", "RESTORED", "RESTORING", "UPLOADING"]
589
+ allowed_values = ["ARCHIVED", "AVAILABLE", "DELETED", "RESTORED", "RESTORING", "UPLOADING", "ERROR"]
590
590
  if file_state && !allowed_values.include?(file_state)
591
591
  fail ArgumentError, "invalid value for 'file_state', must be one of #{allowed_values}."
592
592
  end
@@ -22,26 +22,34 @@ module PureCloud
22
22
  # The globally unique identifier for the object.
23
23
  attr_accessor :id
24
24
 
25
+ # The name of the entity.
25
26
  attr_accessor :name
26
27
 
28
+ # The resource's description.
27
29
  attr_accessor :description
28
30
 
31
+ # The current version of the resource.
29
32
  attr_accessor :version
30
33
 
31
- # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
34
+ # The date the resource was created. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
32
35
  attr_accessor :date_created
33
36
 
34
- # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
37
+ # The date of the last modification to the resource. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
35
38
  attr_accessor :date_modified
36
39
 
40
+ # The ID of the user that last modified the resource.
37
41
  attr_accessor :modified_by
38
42
 
43
+ # The ID of the user that created the resource.
39
44
  attr_accessor :created_by
40
45
 
46
+ # Indicates if the resource is active, inactive, or deleted.
41
47
  attr_accessor :state
42
48
 
49
+ # The application that last modified the resource.
43
50
  attr_accessor :modified_by_app
44
51
 
52
+ # The application that created the resource.
45
53
  attr_accessor :created_by_app
46
54
 
47
55
  # Date time is represented as an ISO-8601 string without a timezone. For example: yyyy-MM-ddTHH:mm:ss.SSS
@@ -294,6 +302,11 @@ module PureCloud
294
302
 
295
303
 
296
304
 
305
+ if @name.nil?
306
+ return false
307
+ end
308
+
309
+
297
310
 
298
311
 
299
312
 
@@ -22,26 +22,34 @@ module PureCloud
22
22
  # The globally unique identifier for the object.
23
23
  attr_accessor :id
24
24
 
25
+ # The name of the entity.
25
26
  attr_accessor :name
26
27
 
28
+ # The resource's description.
27
29
  attr_accessor :description
28
30
 
31
+ # The current version of the resource.
29
32
  attr_accessor :version
30
33
 
31
- # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
34
+ # The date the resource was created. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
32
35
  attr_accessor :date_created
33
36
 
34
- # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
37
+ # The date of the last modification to the resource. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
35
38
  attr_accessor :date_modified
36
39
 
40
+ # The ID of the user that last modified the resource.
37
41
  attr_accessor :modified_by
38
42
 
43
+ # The ID of the user that created the resource.
39
44
  attr_accessor :created_by
40
45
 
46
+ # Indicates if the resource is active, inactive, or deleted.
41
47
  attr_accessor :state
42
48
 
49
+ # The application that last modified the resource.
43
50
  attr_accessor :modified_by_app
44
51
 
52
+ # The application that created the resource.
45
53
  attr_accessor :created_by_app
46
54
 
47
55
  # The timezone the schedules are a part of. This is not a schedule property to allow a schedule to be used in multiple timezones.
@@ -298,6 +306,11 @@ module PureCloud
298
306
 
299
307
 
300
308
 
309
+ if @name.nil?
310
+ return false
311
+ end
312
+
313
+
301
314
 
302
315
 
303
316
 
@@ -24,24 +24,31 @@ module PureCloud
24
24
  # The name of the entity.
25
25
  attr_accessor :name
26
26
 
27
+ # The resource's description.
27
28
  attr_accessor :description
28
29
 
30
+ # The current version of the resource.
29
31
  attr_accessor :version
30
32
 
31
- # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
33
+ # The date the resource was created. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
32
34
  attr_accessor :date_created
33
35
 
34
- # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
36
+ # The date of the last modification to the resource. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
35
37
  attr_accessor :date_modified
36
38
 
39
+ # The ID of the user that last modified the resource.
37
40
  attr_accessor :modified_by
38
41
 
42
+ # The ID of the user that created the resource.
39
43
  attr_accessor :created_by
40
44
 
45
+ # Indicates if the resource is active, inactive, or deleted.
41
46
  attr_accessor :state
42
47
 
48
+ # The application that last modified the resource.
43
49
  attr_accessor :modified_by_app
44
50
 
51
+ # The application that created the resource.
45
52
  attr_accessor :created_by_app
46
53
 
47
54
  # The URI for this object
@@ -24,24 +24,31 @@ module PureCloud
24
24
  # The name of the entity.
25
25
  attr_accessor :name
26
26
 
27
+ # The resource's description.
27
28
  attr_accessor :description
28
29
 
30
+ # The current version of the resource.
29
31
  attr_accessor :version
30
32
 
31
- # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
33
+ # The date the resource was created. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
32
34
  attr_accessor :date_created
33
35
 
34
- # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
36
+ # The date of the last modification to the resource. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
35
37
  attr_accessor :date_modified
36
38
 
39
+ # The ID of the user that last modified the resource.
37
40
  attr_accessor :modified_by
38
41
 
42
+ # The ID of the user that created the resource.
39
43
  attr_accessor :created_by
40
44
 
45
+ # Indicates if the resource is active, inactive, or deleted.
41
46
  attr_accessor :state
42
47
 
48
+ # The application that last modified the resource.
43
49
  attr_accessor :modified_by_app
44
50
 
51
+ # The application that created the resource.
45
52
  attr_accessor :created_by_app
46
53
 
47
54
  attr_accessor :primary_sites
@@ -24,24 +24,31 @@ module PureCloud
24
24
  # The name of the entity.
25
25
  attr_accessor :name
26
26
 
27
+ # The resource's description.
27
28
  attr_accessor :description
28
29
 
30
+ # The current version of the resource.
29
31
  attr_accessor :version
30
32
 
31
- # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
33
+ # The date the resource was created. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
32
34
  attr_accessor :date_created
33
35
 
34
- # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
36
+ # The date of the last modification to the resource. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
35
37
  attr_accessor :date_modified
36
38
 
39
+ # The ID of the user that last modified the resource.
37
40
  attr_accessor :modified_by
38
41
 
42
+ # The ID of the user that created the resource.
39
43
  attr_accessor :created_by
40
44
 
45
+ # Indicates if the resource is active, inactive, or deleted.
41
46
  attr_accessor :state
42
47
 
48
+ # The application that last modified the resource.
43
49
  attr_accessor :modified_by_app
44
50
 
51
+ # The application that created the resource.
45
52
  attr_accessor :created_by_app
46
53
 
47
54
  # The type of this trunk.
@@ -24,24 +24,31 @@ module PureCloud
24
24
  # The name of the entity.
25
25
  attr_accessor :name
26
26
 
27
+ # The resource's description.
27
28
  attr_accessor :description
28
29
 
30
+ # The current version of the resource.
29
31
  attr_accessor :version
30
32
 
31
- # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
33
+ # The date the resource was created. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
32
34
  attr_accessor :date_created
33
35
 
34
- # Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
36
+ # The date of the last modification to the resource. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ
35
37
  attr_accessor :date_modified
36
38
 
39
+ # The ID of the user that last modified the resource.
37
40
  attr_accessor :modified_by
38
41
 
42
+ # The ID of the user that created the resource.
39
43
  attr_accessor :created_by
40
44
 
45
+ # Indicates if the resource is active, inactive, or deleted.
41
46
  attr_accessor :state
42
47
 
48
+ # The application that last modified the resource.
43
49
  attr_accessor :modified_by_app
44
50
 
51
+ # The application that created the resource.
45
52
  attr_accessor :created_by_app
46
53
 
47
54
  # The meta-base this trunk is based on.
@@ -0,0 +1,478 @@
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: ININ
11
+ http://www.inin.com
12
+
13
+ Terms of Service: https://developer.mypurecloud.com/tos
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ class UserDevice
21
+ # The globally unique identifier for the object.
22
+ attr_accessor :id
23
+
24
+ attr_accessor :name
25
+
26
+ # device token sent by mobile clients.
27
+ attr_accessor :device_token
28
+
29
+ # notification id of the device.
30
+ attr_accessor :notification_id
31
+
32
+ # make of the device.
33
+ attr_accessor :make
34
+
35
+ # Device model
36
+ attr_accessor :model
37
+
38
+ # if the device accepts notifications
39
+ attr_accessor :accept_notifications
40
+
41
+ # type of the device; ios or android
42
+ attr_accessor :type
43
+
44
+ attr_accessor :session_hash
45
+
46
+ # The URI for this object
47
+ attr_accessor :self_uri
48
+
49
+ # Attribute mapping from ruby-style variable name to JSON key.
50
+ def self.attribute_map
51
+ {
52
+
53
+ :'id' => :'id',
54
+
55
+ :'name' => :'name',
56
+
57
+ :'device_token' => :'deviceToken',
58
+
59
+ :'notification_id' => :'notificationId',
60
+
61
+ :'make' => :'make',
62
+
63
+ :'model' => :'model',
64
+
65
+ :'accept_notifications' => :'acceptNotifications',
66
+
67
+ :'type' => :'type',
68
+
69
+ :'session_hash' => :'sessionHash',
70
+
71
+ :'self_uri' => :'selfUri'
72
+
73
+ }
74
+ end
75
+
76
+ # Attribute type mapping.
77
+ def self.swagger_types
78
+ {
79
+
80
+ :'id' => :'String',
81
+
82
+ :'name' => :'String',
83
+
84
+ :'device_token' => :'String',
85
+
86
+ :'notification_id' => :'String',
87
+
88
+ :'make' => :'String',
89
+
90
+ :'model' => :'String',
91
+
92
+ :'accept_notifications' => :'BOOLEAN',
93
+
94
+ :'type' => :'String',
95
+
96
+ :'session_hash' => :'String',
97
+
98
+ :'self_uri' => :'String'
99
+
100
+ }
101
+ end
102
+
103
+ # Initializes the object
104
+ # @param [Hash] attributes Model attributes in the form of hash
105
+ def initialize(attributes = {})
106
+ return unless attributes.is_a?(Hash)
107
+
108
+ # convert string to symbol for hash key
109
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
110
+
111
+
112
+ if attributes.has_key?(:'id')
113
+
114
+
115
+ self.id = attributes[:'id']
116
+
117
+
118
+ end
119
+
120
+
121
+ if attributes.has_key?(:'name')
122
+
123
+
124
+ self.name = attributes[:'name']
125
+
126
+
127
+ end
128
+
129
+
130
+ if attributes.has_key?(:'deviceToken')
131
+
132
+
133
+ self.device_token = attributes[:'deviceToken']
134
+
135
+
136
+ end
137
+
138
+
139
+ if attributes.has_key?(:'notificationId')
140
+
141
+
142
+ self.notification_id = attributes[:'notificationId']
143
+
144
+
145
+ end
146
+
147
+
148
+ if attributes.has_key?(:'make')
149
+
150
+
151
+ self.make = attributes[:'make']
152
+
153
+
154
+ end
155
+
156
+
157
+ if attributes.has_key?(:'model')
158
+
159
+
160
+ self.model = attributes[:'model']
161
+
162
+
163
+ end
164
+
165
+
166
+ if attributes.has_key?(:'acceptNotifications')
167
+
168
+
169
+ self.accept_notifications = attributes[:'acceptNotifications']
170
+
171
+
172
+ end
173
+
174
+
175
+ if attributes.has_key?(:'type')
176
+
177
+
178
+ self.type = attributes[:'type']
179
+
180
+
181
+ end
182
+
183
+
184
+ if attributes.has_key?(:'sessionHash')
185
+
186
+
187
+ self.session_hash = attributes[:'sessionHash']
188
+
189
+
190
+ end
191
+
192
+
193
+ if attributes.has_key?(:'selfUri')
194
+
195
+
196
+ self.self_uri = attributes[:'selfUri']
197
+
198
+
199
+ end
200
+
201
+
202
+ end
203
+
204
+ # Show invalid properties with the reasons. Usually used together with valid?
205
+ # @return Array for valid properies with the reasons
206
+ def list_invalid_properties
207
+ invalid_properties = Array.new
208
+
209
+
210
+ return invalid_properties
211
+ end
212
+
213
+ # Check to see if the all the properties in the model are valid
214
+ # @return true if the model is valid
215
+ def valid?
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+ if @device_token.nil?
227
+ return false
228
+ end
229
+
230
+
231
+
232
+
233
+
234
+
235
+ if @notification_id.nil?
236
+ return false
237
+ end
238
+
239
+
240
+
241
+
242
+
243
+
244
+ if @make.nil?
245
+ return false
246
+ end
247
+
248
+
249
+
250
+
251
+
252
+
253
+ if @model.nil?
254
+ return false
255
+ end
256
+
257
+
258
+
259
+
260
+
261
+
262
+ if @accept_notifications.nil?
263
+ return false
264
+ end
265
+
266
+
267
+
268
+
269
+
270
+
271
+ if @type.nil?
272
+ return false
273
+ end
274
+
275
+
276
+
277
+ allowed_values = ["android", "ios"]
278
+ if @type && !allowed_values.include?(@type)
279
+ return false
280
+ end
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+ end
293
+
294
+
295
+
296
+
297
+
298
+
299
+
300
+
301
+
302
+
303
+
304
+
305
+
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+
314
+
315
+
316
+
317
+
318
+
319
+
320
+
321
+
322
+
323
+
324
+
325
+
326
+
327
+
328
+
329
+
330
+
331
+ # Custom attribute writer method checking allowed values (enum).
332
+ # @param [Object] type Object to be assigned
333
+ def type=(type)
334
+ allowed_values = ["android", "ios"]
335
+ if type && !allowed_values.include?(type)
336
+ fail ArgumentError, "invalid value for 'type', must be one of #{allowed_values}."
337
+ end
338
+ @type = type
339
+ end
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+
348
+
349
+
350
+
351
+
352
+
353
+
354
+ # Checks equality by comparing each attribute.
355
+ # @param [Object] Object to be compared
356
+ def ==(o)
357
+ return true if self.equal?(o)
358
+ self.class == o.class &&
359
+ id == o.id &&
360
+ name == o.name &&
361
+ device_token == o.device_token &&
362
+ notification_id == o.notification_id &&
363
+ make == o.make &&
364
+ model == o.model &&
365
+ accept_notifications == o.accept_notifications &&
366
+ type == o.type &&
367
+ session_hash == o.session_hash &&
368
+ self_uri == o.self_uri
369
+ end
370
+
371
+ # @see the `==` method
372
+ # @param [Object] Object to be compared
373
+ def eql?(o)
374
+ self == o
375
+ end
376
+
377
+ # Calculates hash code according to all attributes.
378
+ # @return [Fixnum] Hash code
379
+ def hash
380
+ [id, name, device_token, notification_id, make, model, accept_notifications, type, session_hash, self_uri].hash
381
+ end
382
+
383
+ # build the object from hash
384
+ def build_from_hash(attributes)
385
+ return nil unless attributes.is_a?(Hash)
386
+ self.class.swagger_types.each_pair do |key, type|
387
+ if type =~ /^Array<(.*)>/i
388
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
389
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
390
+ else
391
+ #TODO show warning in debug mode
392
+ end
393
+ elsif !attributes[self.class.attribute_map[key]].nil?
394
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
395
+ else
396
+ # data not found in attributes(hash), not an issue as the data can be optional
397
+ end
398
+ end
399
+
400
+ self
401
+ end
402
+
403
+ def _deserialize(type, value)
404
+ case type.to_sym
405
+ when :DateTime
406
+ DateTime.parse(value)
407
+ when :Date
408
+ Date.parse(value)
409
+ when :String
410
+ value.to_s
411
+ when :Integer
412
+ value.to_i
413
+ when :Float
414
+ value.to_f
415
+ when :BOOLEAN
416
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
417
+ true
418
+ else
419
+ false
420
+ end
421
+ when :Object
422
+ # generic object (usually a Hash), return directly
423
+ value
424
+ when /\AArray<(?<inner_type>.+)>\z/
425
+ inner_type = Regexp.last_match[:inner_type]
426
+ value.map { |v| _deserialize(inner_type, v) }
427
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
428
+ k_type = Regexp.last_match[:k_type]
429
+ v_type = Regexp.last_match[:v_type]
430
+ {}.tap do |hash|
431
+ value.each do |k, v|
432
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
433
+ end
434
+ end
435
+ else # model
436
+ _model = Object.const_get("PureCloud").const_get(type).new
437
+ _model.build_from_hash(value)
438
+ end
439
+ end
440
+
441
+ def to_s
442
+ to_hash.to_s
443
+ end
444
+
445
+ # to_body is an alias to to_body (backward compatibility))
446
+ def to_body
447
+ to_hash
448
+ end
449
+
450
+ # return the object in the form of hash
451
+ def to_hash
452
+ hash = {}
453
+ self.class.attribute_map.each_pair do |attr, param|
454
+ value = self.send(attr)
455
+ next if value.nil?
456
+ hash[param] = _to_hash(value)
457
+ end
458
+ hash
459
+ end
460
+
461
+ # Method to output non-array value in the form of hash
462
+ # For object, use to_hash. Otherwise, just return the value
463
+ def _to_hash(value)
464
+ if value.is_a?(Array)
465
+ value.compact.map{ |v| _to_hash(v) }
466
+ elsif value.is_a?(Hash)
467
+ {}.tap do |hash|
468
+ value.each { |k, v| hash[k] = _to_hash(v) }
469
+ end
470
+ elsif value.respond_to? :to_hash
471
+ value.to_hash
472
+ else
473
+ value
474
+ end
475
+ end
476
+
477
+ end
478
+ end