purecloudplatformclientv2 17.0.0 → 18.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 (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