purecloud 0.18.0 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (143) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -2
  3. data/Gemfile.lock +2 -2
  4. data/README.md +1 -7
  5. data/config-ruby.json +1 -1
  6. data/extensions/auth.rb +2 -2
  7. data/lib/purecloud.rb +110 -75
  8. data/lib/purecloud/api/architect_api.rb +3127 -74
  9. data/lib/purecloud/api/attributes_api.rb +33 -33
  10. data/lib/purecloud/api/authorization_api.rb +83 -83
  11. data/lib/purecloud/api/compliance_api.rb +5 -5
  12. data/lib/purecloud/api/configuration_api.rb +594 -397
  13. data/lib/purecloud/api/content_management_api.rb +183 -183
  14. data/lib/purecloud/api/conversations_api.rb +289 -159
  15. data/lib/purecloud/api/downloads_api.rb +6 -6
  16. data/lib/purecloud/api/external_contacts_api.rb +1693 -0
  17. data/lib/purecloud/api/fax_api.rb +24 -24
  18. data/lib/purecloud/api/geolocation_api.rb +14 -14
  19. data/lib/purecloud/api/greetings_api.rb +68 -68
  20. data/lib/purecloud/api/groups_api.rb +31 -20
  21. data/lib/purecloud/api/languages_api.rb +18 -11
  22. data/lib/purecloud/api/licensing_api.rb +5 -5
  23. data/lib/purecloud/api/locations_api.rb +11 -11
  24. data/lib/purecloud/api/notifications_api.rb +41 -41
  25. data/lib/purecloud/api/o_auth_api.rb +69 -69
  26. data/lib/purecloud/api/outbound_api.rb +505 -325
  27. data/lib/purecloud/api/presence_api.rb +65 -65
  28. data/lib/purecloud/api/quality_api.rb +66 -639
  29. data/lib/purecloud/api/recording_api.rb +1343 -0
  30. data/lib/purecloud/api/response_management_api.rb +687 -0
  31. data/lib/purecloud/api/routing_api.rb +224 -170
  32. data/lib/purecloud/api/scripts_api.rb +52 -52
  33. data/lib/purecloud/api/search_api.rb +5 -5
  34. data/lib/purecloud/api/stations_api.rb +8 -8
  35. data/lib/purecloud/api/telephony_providers_edge_api.rb +138 -138
  36. data/lib/purecloud/api/user_recordings_api.rb +29 -29
  37. data/lib/purecloud/api/users_api.rb +123 -123
  38. data/lib/purecloud/api/utilities_api.rb +71 -15
  39. data/lib/purecloud/api/voicemail_api.rb +42 -42
  40. data/lib/purecloud/api_client.rb +1 -1
  41. data/lib/purecloud/models/address.rb +49 -51
  42. data/lib/purecloud/models/attribute_filter_item.rb +177 -0
  43. data/lib/purecloud/models/automate_queue_member_entity_listing.rb +238 -0
  44. data/lib/purecloud/models/available_additional_service.rb +40 -1
  45. data/lib/purecloud/models/{topic_entity_listing.rb → available_topic_entity_listing.rb} +1 -1
  46. data/lib/purecloud/models/call.rb +36 -5
  47. data/lib/purecloud/models/{line_properties.rb → call_command.rb} +13 -3
  48. data/lib/purecloud/models/callback.rb +15 -4
  49. data/lib/purecloud/models/campaign.rb +219 -17
  50. data/lib/purecloud/models/campaign_progress.rb +186 -0
  51. data/lib/purecloud/models/channel_topic_entity_listing.rb +238 -0
  52. data/lib/purecloud/models/charge.rb +14 -4
  53. data/lib/purecloud/models/{attribute_value.rb → client_text_table_transform.rb} +52 -82
  54. data/lib/purecloud/models/contact.rb +1 -1
  55. data/lib/purecloud/models/contact_list.rb +111 -1
  56. data/lib/purecloud/models/contact_listing.rb +238 -0
  57. data/lib/purecloud/models/content_attribute_filter_item.rb +177 -0
  58. data/lib/purecloud/models/content_facet_filter_item.rb +1 -1
  59. data/lib/purecloud/models/content_query_request.rb +16 -4
  60. data/lib/purecloud/models/control.rb +221 -0
  61. data/lib/purecloud/models/{flow_activate_request.rb → control_options.rb} +18 -12
  62. data/lib/purecloud/models/create_callback_command.rb +200 -0
  63. data/lib/purecloud/models/discount.rb +220 -0
  64. data/lib/purecloud/models/document.rb +13 -1
  65. data/lib/purecloud/models/document_attribute.rb +158 -0
  66. data/lib/purecloud/models/document_update.rb +28 -16
  67. data/lib/purecloud/models/document_upload.rb +4 -16
  68. data/lib/purecloud/models/domain_voice_rate_extended_response_item_entity_listing.rb +238 -0
  69. data/lib/purecloud/models/domain_voice_rate_international_response_item_entity_listing.rb +238 -0
  70. data/lib/purecloud/models/domain_voice_rate_response_item_entity_listing.rb +1 -1
  71. data/lib/purecloud/models/edge_line.rb +1 -1
  72. data/lib/purecloud/models/edge_logs_job.rb +181 -0
  73. data/lib/purecloud/models/edge_logs_job_file.rb +243 -0
  74. data/lib/purecloud/models/edge_logs_job_request.rb +168 -0
  75. data/lib/purecloud/models/{backend_work_item_data_element.rb → edge_logs_job_response.rb} +16 -24
  76. data/lib/purecloud/models/{flow_lock_request.rb → edge_logs_job_upload_request.rb} +10 -12
  77. data/lib/purecloud/models/email.rb +15 -4
  78. data/lib/purecloud/models/endpoint.rb +1 -1
  79. data/lib/purecloud/models/{flow_associate_workspaces_request.rb → estimated_wait_time_predictions.rb} +10 -11
  80. data/lib/purecloud/models/external_contact.rb +320 -0
  81. data/lib/purecloud/models/external_organization.rb +306 -0
  82. data/lib/purecloud/models/external_organization_listing.rb +238 -0
  83. data/lib/purecloud/models/facet_filter_item.rb +1 -1
  84. data/lib/purecloud/models/flow_body.rb +1 -1
  85. data/lib/purecloud/models/flow_body_format.rb +10 -20
  86. data/lib/purecloud/models/flow_terminate_request.rb +3 -16
  87. data/lib/purecloud/models/form.rb +148 -0
  88. data/lib/purecloud/models/group.rb +11 -1
  89. data/lib/purecloud/models/health_check_info.rb +268 -0
  90. data/lib/purecloud/models/{body_2.rb → inline_response_200.rb} +1 -1
  91. data/lib/purecloud/models/integration_type.rb +209 -0
  92. data/lib/purecloud/models/integration_type_entity_listing.rb +238 -0
  93. data/lib/purecloud/models/key_rotation_schedule.rb +1 -0
  94. data/lib/purecloud/models/language.rb +41 -1
  95. data/lib/purecloud/models/line.rb +1 -1
  96. data/lib/purecloud/models/line_base.rb +1 -1
  97. data/lib/purecloud/models/media_policies.rb +169 -0
  98. data/lib/purecloud/models/media_policy.rb +171 -0
  99. data/lib/purecloud/models/note.rb +200 -0
  100. data/lib/purecloud/models/{user_station_resource.rb → note_listing.rb} +68 -58
  101. data/lib/purecloud/models/o_auth_client.rb +1 -1
  102. data/lib/purecloud/models/page.rb +2 -2
  103. data/lib/purecloud/models/{byte_buffer.rb → payment_method.rb} +48 -61
  104. data/lib/purecloud/models/payment_method_listing.rb +238 -0
  105. data/lib/purecloud/models/payment_token_provider.rb +180 -0
  106. data/lib/purecloud/models/phone.rb +1 -1
  107. data/lib/purecloud/models/phone_base.rb +1 -1
  108. data/lib/purecloud/models/phone_number.rb +198 -0
  109. data/lib/purecloud/models/phones_reboot.rb +14 -4
  110. data/lib/purecloud/models/policy.rb +14 -1
  111. data/lib/purecloud/models/prediction_results.rb +167 -0
  112. data/lib/purecloud/models/query_request.rb +16 -4
  113. data/lib/purecloud/models/queue_member_entity_listing.rb +1 -1
  114. data/lib/purecloud/models/quote.rb +13 -1
  115. data/lib/purecloud/models/recording_settings.rb +146 -0
  116. data/lib/purecloud/models/relationship.rb +201 -0
  117. data/lib/purecloud/models/relationship_listing.rb +238 -0
  118. data/lib/purecloud/models/report_schedule.rb +3 -2
  119. data/lib/purecloud/models/service_type.rb +12 -1
  120. data/lib/purecloud/models/social_expression.rb +25 -4
  121. data/lib/purecloud/models/spreadsheet_transform_entity_listing.rb +1 -1
  122. data/lib/purecloud/models/template.rb +1 -1
  123. data/lib/purecloud/models/text_table_transform_entity_listing.rb +1 -1
  124. data/lib/purecloud/models/ticker.rb +158 -0
  125. data/lib/purecloud/models/time_slot.rb +1 -0
  126. data/lib/purecloud/models/trunk_base.rb +1 -1
  127. data/lib/purecloud/models/vendor_connection_request.rb +166 -0
  128. data/lib/purecloud/models/video.rb +15 -4
  129. data/lib/purecloud/models/work_item_definition.rb +8 -10
  130. data/lib/purecloud/version.rb +1 -1
  131. data/ossindex.json +17 -0
  132. data/purecloud.gemspec +4 -3
  133. data/rakefile +3 -15
  134. data/spec/test.rb +6 -3
  135. data/swagger.json +1 -1
  136. data/swagger_template/api_client.mustache +304 -0
  137. data/swagger_template/base_object.mustache +90 -0
  138. data/{PureCloud.gemspec → swagger_template/gemspec.mustache} +12 -11
  139. data/version.json +1 -1
  140. metadata +76 -25
  141. data/lib/purecloud/api/analytics_api.rb +0 -1554
  142. data/lib/purecloud/api/orphaned_recordings_api.rb +0 -205
  143. data/newVersion.md +0 -1
@@ -4,11 +4,15 @@ module PureCloud
4
4
  class PhonesReboot
5
5
  attr_accessor :phone_ids
6
6
 
7
+ attr_accessor :site_id
8
+
7
9
  # Attribute mapping from ruby-style variable name to JSON key.
8
10
  def self.attribute_map
9
11
  {
10
12
 
11
- :'phone_ids' => :'phoneIds'
13
+ :'phone_ids' => :'phoneIds',
14
+
15
+ :'site_id' => :'siteId'
12
16
 
13
17
  }
14
18
  end
@@ -16,7 +20,8 @@ module PureCloud
16
20
  # Attribute type mapping.
17
21
  def self.swagger_types
18
22
  {
19
- :'phone_ids' => :'Array<String>'
23
+ :'phone_ids' => :'Array<String>',
24
+ :'site_id' => :'String'
20
25
 
21
26
  }
22
27
  end
@@ -34,13 +39,18 @@ module PureCloud
34
39
  end
35
40
  end
36
41
 
42
+ if attributes[:'siteId']
43
+ self.site_id = attributes[:'siteId']
44
+ end
45
+
37
46
  end
38
47
 
39
48
  # Check equality by comparing each attribute.
40
49
  def ==(o)
41
50
  return true if self.equal?(o)
42
51
  self.class == o.class &&
43
- phone_ids == o.phone_ids
52
+ phone_ids == o.phone_ids &&
53
+ site_id == o.site_id
44
54
  end
45
55
 
46
56
  # @see the `==` method
@@ -50,7 +60,7 @@ module PureCloud
50
60
 
51
61
  # Calculate hash code according to all attributes.
52
62
  def hash
53
- [phone_ids].hash
63
+ [phone_ids, site_id].hash
54
64
  end
55
65
 
56
66
  # build the object from hash
@@ -19,8 +19,13 @@ module PureCloud
19
19
 
20
20
  attr_accessor :enabled
21
21
 
22
+ # Conditions and actions per media type
23
+ attr_accessor :media_policies
24
+
25
+ # Conditions
22
26
  attr_accessor :conditions
23
27
 
28
+ # Actions
24
29
  attr_accessor :actions
25
30
 
26
31
  attr_accessor :policy_errors
@@ -46,6 +51,8 @@ module PureCloud
46
51
 
47
52
  :'enabled' => :'enabled',
48
53
 
54
+ :'media_policies' => :'mediaPolicies',
55
+
49
56
  :'conditions' => :'conditions',
50
57
 
51
58
  :'actions' => :'actions',
@@ -67,6 +74,7 @@ module PureCloud
67
74
  :'order' => :'Integer',
68
75
  :'description' => :'String',
69
76
  :'enabled' => :'BOOLEAN',
77
+ :'media_policies' => :'MediaPolicies',
70
78
  :'conditions' => :'PolicyConditions',
71
79
  :'actions' => :'PolicyActions',
72
80
  :'policy_errors' => :'PolicyErrors',
@@ -112,6 +120,10 @@ module PureCloud
112
120
  self.enabled = false
113
121
  end
114
122
 
123
+ if attributes[:'mediaPolicies']
124
+ self.media_policies = attributes[:'mediaPolicies']
125
+ end
126
+
115
127
  if attributes[:'conditions']
116
128
  self.conditions = attributes[:'conditions']
117
129
  end
@@ -141,6 +153,7 @@ module PureCloud
141
153
  order == o.order &&
142
154
  description == o.description &&
143
155
  enabled == o.enabled &&
156
+ media_policies == o.media_policies &&
144
157
  conditions == o.conditions &&
145
158
  actions == o.actions &&
146
159
  policy_errors == o.policy_errors &&
@@ -154,7 +167,7 @@ module PureCloud
154
167
 
155
168
  # Calculate hash code according to all attributes.
156
169
  def hash
157
- [id, name, modified_date, created_date, order, description, enabled, conditions, actions, policy_errors, self_uri].hash
170
+ [id, name, modified_date, created_date, order, description, enabled, media_policies, conditions, actions, policy_errors, self_uri].hash
158
171
  end
159
172
 
160
173
  # build the object from hash
@@ -0,0 +1,167 @@
1
+ require 'date'
2
+
3
+ module PureCloud
4
+ class PredictionResults
5
+ # Indicates the estimated wait time Formula
6
+ attr_accessor :formula
7
+
8
+ # Estimated wait time in seconds
9
+ attr_accessor :estimated_wait_time_seconds
10
+
11
+ # Attribute mapping from ruby-style variable name to JSON key.
12
+ def self.attribute_map
13
+ {
14
+
15
+ :'formula' => :'formula',
16
+
17
+ :'estimated_wait_time_seconds' => :'estimatedWaitTimeSeconds'
18
+
19
+ }
20
+ end
21
+
22
+ # Attribute type mapping.
23
+ def self.swagger_types
24
+ {
25
+ :'formula' => :'String',
26
+ :'estimated_wait_time_seconds' => :'Integer'
27
+
28
+ }
29
+ end
30
+
31
+ def initialize(attributes = {})
32
+ return unless attributes.is_a?(Hash)
33
+
34
+ # convert string to symbol for hash key
35
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
36
+
37
+
38
+ if attributes[:'formula']
39
+ self.formula = attributes[:'formula']
40
+ end
41
+
42
+ if attributes[:'estimatedWaitTimeSeconds']
43
+ self.estimated_wait_time_seconds = attributes[:'estimatedWaitTimeSeconds']
44
+ end
45
+
46
+ end
47
+
48
+ # Custom attribute writer method checking allowed values (enum).
49
+ def formula=(formula)
50
+ allowed_values = ["BEST", "SIMPLE", "ABANDON", "PATIENCEABANDON"]
51
+ if formula && !allowed_values.include?(formula)
52
+ fail "invalid value for 'formula', must be one of #{allowed_values}"
53
+ end
54
+ @formula = formula
55
+ end
56
+
57
+ # Check equality by comparing each attribute.
58
+ def ==(o)
59
+ return true if self.equal?(o)
60
+ self.class == o.class &&
61
+ formula == o.formula &&
62
+ estimated_wait_time_seconds == o.estimated_wait_time_seconds
63
+ end
64
+
65
+ # @see the `==` method
66
+ def eql?(o)
67
+ self == o
68
+ end
69
+
70
+ # Calculate hash code according to all attributes.
71
+ def hash
72
+ [formula, estimated_wait_time_seconds].hash
73
+ end
74
+
75
+ # build the object from hash
76
+ def build_from_hash(attributes)
77
+ return nil unless attributes.is_a?(Hash)
78
+ self.class.swagger_types.each_pair do |key, type|
79
+ if type =~ /^Array<(.*)>/i
80
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
81
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
82
+ else
83
+ #TODO show warning in debug mode
84
+ end
85
+ elsif !attributes[self.class.attribute_map[key]].nil?
86
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
87
+ else
88
+ # data not found in attributes(hash), not an issue as the data can be optional
89
+ end
90
+ end
91
+
92
+ self
93
+ end
94
+
95
+ def _deserialize(type, value)
96
+ case type.to_sym
97
+ when :DateTime
98
+ DateTime.parse(value)
99
+ when :Date
100
+ Date.parse(value)
101
+ when :String
102
+ value.to_s
103
+ when :Integer
104
+ value.to_i
105
+ when :Float
106
+ value.to_f
107
+ when :BOOLEAN
108
+ if value =~ /^(true|t|yes|y|1)$/i
109
+ true
110
+ else
111
+ false
112
+ end
113
+ when /\AArray<(?<inner_type>.+)>\z/
114
+ inner_type = Regexp.last_match[:inner_type]
115
+ value.map { |v| _deserialize(inner_type, v) }
116
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
117
+ k_type = Regexp.last_match[:k_type]
118
+ v_type = Regexp.last_match[:v_type]
119
+ {}.tap do |hash|
120
+ value.each do |k, v|
121
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
122
+ end
123
+ end
124
+ else # model
125
+ _model = Object.const_get("PureCloud").const_get(type).new
126
+ _model.build_from_hash(value)
127
+ end
128
+ end
129
+
130
+ def to_s
131
+ to_hash.to_s
132
+ end
133
+
134
+ # to_body is an alias to to_body (backward compatibility))
135
+ def to_body
136
+ to_hash
137
+ end
138
+
139
+ # return the object in the form of hash
140
+ def to_hash
141
+ hash = {}
142
+ self.class.attribute_map.each_pair do |attr, param|
143
+ value = self.send(attr)
144
+ next if value.nil?
145
+ hash[param] = _to_hash(value)
146
+ end
147
+ hash
148
+ end
149
+
150
+ # Method to output non-array value in the form of hash
151
+ # For object, use to_hash. Otherwise, just return the value
152
+ def _to_hash(value)
153
+ if value.is_a?(Array)
154
+ value.compact.map{ |v| _to_hash(v) }
155
+ elsif value.is_a?(Hash)
156
+ {}.tap do |hash|
157
+ value.each { |k, v| hash[k] = _to_hash(v) }
158
+ end
159
+ elsif value.respond_to? :to_hash
160
+ value.to_hash
161
+ else
162
+ value
163
+ end
164
+ end
165
+
166
+ end
167
+ end
@@ -14,6 +14,8 @@ module PureCloud
14
14
 
15
15
  attr_accessor :filters
16
16
 
17
+ attr_accessor :attribute_filters
18
+
17
19
  # Attribute mapping from ruby-style variable name to JSON key.
18
20
  def self.attribute_map
19
21
  {
@@ -28,7 +30,9 @@ module PureCloud
28
30
 
29
31
  :'sort' => :'sort',
30
32
 
31
- :'filters' => :'filters'
33
+ :'filters' => :'filters',
34
+
35
+ :'attribute_filters' => :'attributeFilters'
32
36
 
33
37
  }
34
38
  end
@@ -41,7 +45,8 @@ module PureCloud
41
45
  :'page_size' => :'Integer',
42
46
  :'facet_name_requests' => :'Array<String>',
43
47
  :'sort' => :'Array<SortItem>',
44
- :'filters' => :'Array<FacetFilterItem>'
48
+ :'filters' => :'Array<FacetFilterItem>',
49
+ :'attribute_filters' => :'Array<AttributeFilterItem>'
45
50
 
46
51
  }
47
52
  end
@@ -83,6 +88,12 @@ module PureCloud
83
88
  end
84
89
  end
85
90
 
91
+ if attributes[:'attributeFilters']
92
+ if (value = attributes[:'attributeFilters']).is_a?(Array)
93
+ self.attribute_filters = value
94
+ end
95
+ end
96
+
86
97
  end
87
98
 
88
99
  # Check equality by comparing each attribute.
@@ -94,7 +105,8 @@ module PureCloud
94
105
  page_size == o.page_size &&
95
106
  facet_name_requests == o.facet_name_requests &&
96
107
  sort == o.sort &&
97
- filters == o.filters
108
+ filters == o.filters &&
109
+ attribute_filters == o.attribute_filters
98
110
  end
99
111
 
100
112
  # @see the `==` method
@@ -104,7 +116,7 @@ module PureCloud
104
116
 
105
117
  # Calculate hash code according to all attributes.
106
118
  def hash
107
- [query_phrase, page_number, page_size, facet_name_requests, sort, filters].hash
119
+ [query_phrase, page_number, page_size, facet_name_requests, sort, filters, attribute_filters].hash
108
120
  end
109
121
 
110
122
  # build the object from hash
@@ -55,7 +55,7 @@ module PureCloud
55
55
  :'page_size' => :'Integer',
56
56
  :'page_number' => :'Integer',
57
57
  :'total' => :'Integer',
58
- :'entities' => :'Array<AutomateQueueMember>',
58
+ :'entities' => :'Array<QueueMember>',
59
59
  :'self_uri' => :'String',
60
60
  :'first_uri' => :'String',
61
61
  :'previous_uri' => :'String',
@@ -47,6 +47,8 @@ module PureCloud
47
47
 
48
48
  attr_accessor :sales_partner_code
49
49
 
50
+ attr_accessor :is_annual_prepay
51
+
50
52
  # The URI for this object
51
53
  attr_accessor :self_uri
52
54
 
@@ -96,6 +98,8 @@ module PureCloud
96
98
 
97
99
  :'sales_partner_code' => :'salesPartnerCode',
98
100
 
101
+ :'is_annual_prepay' => :'isAnnualPrepay',
102
+
99
103
  :'self_uri' => :'selfUri'
100
104
 
101
105
  }
@@ -125,6 +129,7 @@ module PureCloud
125
129
  :'referral_codes' => :'Array<String>',
126
130
  :'discount_codes' => :'Array<String>',
127
131
  :'sales_partner_code' => :'String',
132
+ :'is_annual_prepay' => :'BOOLEAN',
128
133
  :'self_uri' => :'String'
129
134
 
130
135
  }
@@ -235,6 +240,12 @@ module PureCloud
235
240
  self.sales_partner_code = attributes[:'salesPartnerCode']
236
241
  end
237
242
 
243
+ if attributes[:'isAnnualPrepay']
244
+ self.is_annual_prepay = attributes[:'isAnnualPrepay']
245
+ else
246
+ self.is_annual_prepay = false
247
+ end
248
+
238
249
  if attributes[:'selfUri']
239
250
  self.self_uri = attributes[:'selfUri']
240
251
  end
@@ -284,6 +295,7 @@ module PureCloud
284
295
  referral_codes == o.referral_codes &&
285
296
  discount_codes == o.discount_codes &&
286
297
  sales_partner_code == o.sales_partner_code &&
298
+ is_annual_prepay == o.is_annual_prepay &&
287
299
  self_uri == o.self_uri
288
300
  end
289
301
 
@@ -294,7 +306,7 @@ module PureCloud
294
306
 
295
307
  # Calculate hash code according to all attributes.
296
308
  def hash
297
- [id, name, purchase_order, type, status, is_submitted, is_pending, is_frozen, currency, created_date, last_updated_date, billing_contact_email, billing_contact_first_name, billing_contact_last_name, billing_contact_phone, include_voice_charges, charges, edge_control_model, referral_codes, discount_codes, sales_partner_code, self_uri].hash
309
+ [id, name, purchase_order, type, status, is_submitted, is_pending, is_frozen, currency, created_date, last_updated_date, billing_contact_email, billing_contact_first_name, billing_contact_last_name, billing_contact_phone, include_voice_charges, charges, edge_control_model, referral_codes, discount_codes, sales_partner_code, is_annual_prepay, self_uri].hash
298
310
  end
299
311
 
300
312
  # build the object from hash
@@ -0,0 +1,146 @@
1
+ require 'date'
2
+
3
+ module PureCloud
4
+ class RecordingSettings
5
+ attr_accessor :max_simultaneous_streams
6
+
7
+ # Attribute mapping from ruby-style variable name to JSON key.
8
+ def self.attribute_map
9
+ {
10
+
11
+ :'max_simultaneous_streams' => :'maxSimultaneousStreams'
12
+
13
+ }
14
+ end
15
+
16
+ # Attribute type mapping.
17
+ def self.swagger_types
18
+ {
19
+ :'max_simultaneous_streams' => :'Integer'
20
+
21
+ }
22
+ end
23
+
24
+ def initialize(attributes = {})
25
+ return unless attributes.is_a?(Hash)
26
+
27
+ # convert string to symbol for hash key
28
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
29
+
30
+
31
+ if attributes[:'maxSimultaneousStreams']
32
+ self.max_simultaneous_streams = attributes[:'maxSimultaneousStreams']
33
+ end
34
+
35
+ end
36
+
37
+ # Check equality by comparing each attribute.
38
+ def ==(o)
39
+ return true if self.equal?(o)
40
+ self.class == o.class &&
41
+ max_simultaneous_streams == o.max_simultaneous_streams
42
+ end
43
+
44
+ # @see the `==` method
45
+ def eql?(o)
46
+ self == o
47
+ end
48
+
49
+ # Calculate hash code according to all attributes.
50
+ def hash
51
+ [max_simultaneous_streams].hash
52
+ end
53
+
54
+ # build the object from hash
55
+ def build_from_hash(attributes)
56
+ return nil unless attributes.is_a?(Hash)
57
+ self.class.swagger_types.each_pair do |key, type|
58
+ if type =~ /^Array<(.*)>/i
59
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
60
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
61
+ else
62
+ #TODO show warning in debug mode
63
+ end
64
+ elsif !attributes[self.class.attribute_map[key]].nil?
65
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
66
+ else
67
+ # data not found in attributes(hash), not an issue as the data can be optional
68
+ end
69
+ end
70
+
71
+ self
72
+ end
73
+
74
+ def _deserialize(type, value)
75
+ case type.to_sym
76
+ when :DateTime
77
+ DateTime.parse(value)
78
+ when :Date
79
+ Date.parse(value)
80
+ when :String
81
+ value.to_s
82
+ when :Integer
83
+ value.to_i
84
+ when :Float
85
+ value.to_f
86
+ when :BOOLEAN
87
+ if value =~ /^(true|t|yes|y|1)$/i
88
+ true
89
+ else
90
+ false
91
+ end
92
+ when /\AArray<(?<inner_type>.+)>\z/
93
+ inner_type = Regexp.last_match[:inner_type]
94
+ value.map { |v| _deserialize(inner_type, v) }
95
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
96
+ k_type = Regexp.last_match[:k_type]
97
+ v_type = Regexp.last_match[:v_type]
98
+ {}.tap do |hash|
99
+ value.each do |k, v|
100
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
101
+ end
102
+ end
103
+ else # model
104
+ _model = Object.const_get("PureCloud").const_get(type).new
105
+ _model.build_from_hash(value)
106
+ end
107
+ end
108
+
109
+ def to_s
110
+ to_hash.to_s
111
+ end
112
+
113
+ # to_body is an alias to to_body (backward compatibility))
114
+ def to_body
115
+ to_hash
116
+ end
117
+
118
+ # return the object in the form of hash
119
+ def to_hash
120
+ hash = {}
121
+ self.class.attribute_map.each_pair do |attr, param|
122
+ value = self.send(attr)
123
+ next if value.nil?
124
+ hash[param] = _to_hash(value)
125
+ end
126
+ hash
127
+ end
128
+
129
+ # Method to output non-array value in the form of hash
130
+ # For object, use to_hash. Otherwise, just return the value
131
+ def _to_hash(value)
132
+ if value.is_a?(Array)
133
+ value.compact.map{ |v| _to_hash(v) }
134
+ elsif value.is_a?(Hash)
135
+ {}.tap do |hash|
136
+ value.each { |k, v| hash[k] = _to_hash(v) }
137
+ end
138
+ elsif value.respond_to? :to_hash
139
+ value.to_hash
140
+ else
141
+ value
142
+ end
143
+ end
144
+
145
+ end
146
+ end