twilio-ruby 5.72.1 → 5.73.4

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 (163) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/pr-lint.yml +8 -2
  3. data/.github/workflows/test-and-deploy.yml +3 -3
  4. data/CHANGES.md +89 -0
  5. data/LICENSE +1 -1
  6. data/README.md +2 -2
  7. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +2 -2
  8. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +2 -2
  9. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +2 -2
  10. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +2 -2
  11. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +2 -2
  12. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +2 -2
  13. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +2 -2
  14. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +1 -1
  15. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +5 -5
  16. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +2 -2
  17. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +160 -0
  18. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +251 -0
  19. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +59 -0
  20. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +22 -16
  21. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +1 -1
  22. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +4 -4
  23. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +17 -1
  24. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +2 -2
  25. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +3 -3
  26. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +1 -1
  27. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +1 -1
  28. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +1 -1
  29. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +1 -1
  30. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +1 -1
  31. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +1 -1
  32. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +1 -1
  33. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +1 -1
  34. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +1 -1
  35. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +1 -1
  36. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +1 -1
  37. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +1 -1
  38. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +1 -1
  39. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +2 -2
  40. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +1 -1
  41. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +1 -1
  42. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +2 -2
  43. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +1 -1
  44. data/lib/twilio-ruby/rest/chat/v1/service.rb +2 -2
  45. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +1 -1
  46. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +2 -2
  47. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +1 -1
  48. data/lib/twilio-ruby/rest/chat/v2/service.rb +4 -4
  49. data/lib/twilio-ruby/rest/chat/v3/channel.rb +2 -2
  50. data/lib/twilio-ruby/rest/client.rb +14 -0
  51. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +195 -0
  52. data/lib/twilio-ruby/rest/content/v1/content.rb +346 -0
  53. data/lib/twilio-ruby/rest/content/v1.rb +45 -0
  54. data/lib/twilio-ruby/rest/content.rb +47 -0
  55. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +1 -1
  56. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +1 -1
  57. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +1 -1
  58. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +1 -1
  59. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +1 -1
  60. data/lib/twilio-ruby/rest/events/v1/schema.rb +1 -1
  61. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +1 -1
  62. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +156 -0
  63. data/lib/twilio-ruby/rest/flex_api/v1/good_data.rb +190 -0
  64. data/lib/twilio-ruby/rest/flex_api/v1/user_roles.rb +166 -0
  65. data/lib/twilio-ruby/rest/flex_api/v1.rb +21 -0
  66. data/lib/twilio-ruby/rest/flex_api.rb +18 -0
  67. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +7 -0
  68. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +7 -0
  69. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +1 -1
  70. data/lib/twilio-ruby/rest/insights/v1/room.rb +3 -3
  71. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +1 -1
  72. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +2 -2
  73. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +1 -1
  74. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +2 -2
  75. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +1 -1
  76. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +2 -2
  77. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +1 -1
  78. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +4 -4
  79. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +81 -6
  80. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +1 -1
  81. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +2 -2
  82. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +1 -1
  83. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +257 -0
  84. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +267 -0
  85. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +71 -1
  86. data/lib/twilio-ruby/rest/messaging/v1/service.rb +1 -1
  87. data/lib/twilio-ruby/rest/messaging/v1.rb +34 -0
  88. data/lib/twilio-ruby/rest/messaging.rb +18 -0
  89. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +7 -0
  90. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +1 -1
  91. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +162 -0
  92. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +242 -0
  93. data/lib/twilio-ruby/rest/oauth/v1/token.rb +157 -0
  94. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +193 -0
  95. data/lib/twilio-ruby/rest/oauth/v1.rb +56 -0
  96. data/lib/twilio-ruby/rest/oauth.rb +62 -0
  97. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +2 -2
  98. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +2 -2
  99. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +1 -1
  100. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +2 -2
  101. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +1 -1
  102. data/lib/twilio-ruby/rest/preview.rb +0 -33
  103. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +1 -1
  104. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +1 -14
  105. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +5 -46
  106. data/lib/twilio-ruby/rest/proxy/v1/service.rb +1 -1
  107. data/lib/twilio-ruby/rest/studio/v1/flow.rb +1 -1
  108. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +1 -1
  109. data/lib/twilio-ruby/rest/studio/v2/flow.rb +1 -1
  110. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +1 -1
  111. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +1 -1
  112. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +240 -0
  113. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +4 -4
  114. data/lib/twilio-ruby/rest/supersim/v1.rb +7 -0
  115. data/lib/twilio-ruby/rest/supersim.rb +6 -0
  116. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +1 -1
  117. data/lib/twilio-ruby/rest/sync/v1/service.rb +1 -1
  118. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +1 -1
  119. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +18 -5
  120. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +3 -3
  121. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +12 -12
  122. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +5 -5
  123. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +10 -4
  124. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +3 -3
  125. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +6 -6
  126. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +1 -1
  127. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +9 -3
  128. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +13 -13
  129. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +2 -2
  130. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +1 -1
  131. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +13 -13
  132. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +3 -3
  133. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +2 -2
  134. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +1 -9
  135. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +1 -7
  136. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +0 -8
  137. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +0 -8
  138. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +0 -6
  139. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +0 -8
  140. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +2 -2
  141. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +2 -2
  142. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +0 -8
  143. data/lib/twilio-ruby/rest/verify/v2/service.rb +1 -1
  144. data/lib/twilio-ruby/rest/verify/v2/template.rb +7 -0
  145. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +4 -4
  146. data/lib/twilio-ruby/rest/video/v1/composition.rb +3 -3
  147. data/lib/twilio-ruby/rest/video/v1/recording.rb +2 -2
  148. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +2 -2
  149. data/lib/twilio-ruby/rest/video/v1/room.rb +4 -4
  150. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +2 -2
  151. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +1 -1
  152. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +1 -1
  153. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +3 -3
  154. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +2 -2
  155. data/lib/twilio-ruby/twiml/voice_response.rb +10 -6
  156. data/lib/twilio-ruby/version.rb +1 -1
  157. metadata +20 -8
  158. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +0 -165
  159. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +0 -225
  160. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +0 -195
  161. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +0 -186
  162. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +0 -277
  163. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -65
@@ -41,8 +41,22 @@ module Twilio
41
41
  # messages that contain links.
42
42
  # @param [Boolean] has_embedded_phone Indicates that this SMS campaign will send
43
43
  # messages that contain phone numbers.
44
+ # @param [String] message_flow Description of how end users opt-in to the SMS
45
+ # campaign, therefore giving consent to receive messages.
46
+ # @param [String] opt_in_message The message that will be sent to the user when
47
+ # they opt in to the SMS campaign.
48
+ # @param [String] opt_out_message The message that will be sent to the user when
49
+ # they opt out of the SMS campaign.
50
+ # @param [String] help_message The message that will be sent to the user when they
51
+ # request help for the SMS campaign.
52
+ # @param [Array[String]] opt_in_keywords The keywords that will be used to opt in
53
+ # to the SMS campaign.
54
+ # @param [Array[String]] opt_out_keywords The keywords that will be used to opt
55
+ # out of the SMS campaign.
56
+ # @param [Array[String]] help_keywords The keywords that will be used to request
57
+ # help for the SMS campaign.
44
58
  # @return [UsAppToPersonInstance] Created UsAppToPersonInstance
45
- def create(brand_registration_sid: nil, description: nil, message_samples: nil, us_app_to_person_usecase: nil, has_embedded_links: nil, has_embedded_phone: nil)
59
+ def create(brand_registration_sid: nil, description: nil, message_samples: nil, us_app_to_person_usecase: nil, has_embedded_links: nil, has_embedded_phone: nil, message_flow: :unset, opt_in_message: :unset, opt_out_message: :unset, help_message: :unset, opt_in_keywords: :unset, opt_out_keywords: :unset, help_keywords: :unset)
46
60
  data = Twilio::Values.of({
47
61
  'BrandRegistrationSid' => brand_registration_sid,
48
62
  'Description' => description,
@@ -50,6 +64,13 @@ module Twilio
50
64
  'UsAppToPersonUsecase' => us_app_to_person_usecase,
51
65
  'HasEmbeddedLinks' => has_embedded_links,
52
66
  'HasEmbeddedPhone' => has_embedded_phone,
67
+ 'MessageFlow' => message_flow,
68
+ 'OptInMessage' => opt_in_message,
69
+ 'OptOutMessage' => opt_out_message,
70
+ 'HelpMessage' => help_message,
71
+ 'OptInKeywords' => Twilio.serialize_list(opt_in_keywords) { |e| e },
72
+ 'OptOutKeywords' => Twilio.serialize_list(opt_out_keywords) { |e| e },
73
+ 'HelpKeywords' => Twilio.serialize_list(help_keywords) { |e| e },
53
74
  })
54
75
 
55
76
  payload = @version.create('POST', @uri, data: data)
@@ -270,6 +291,13 @@ module Twilio
270
291
  'campaign_id' => payload['campaign_id'],
271
292
  'is_externally_registered' => payload['is_externally_registered'],
272
293
  'rate_limits' => payload['rate_limits'],
294
+ 'message_flow' => payload['message_flow'],
295
+ 'opt_in_message' => payload['opt_in_message'],
296
+ 'opt_out_message' => payload['opt_out_message'],
297
+ 'help_message' => payload['help_message'],
298
+ 'opt_in_keywords' => payload['opt_in_keywords'],
299
+ 'opt_out_keywords' => payload['opt_out_keywords'],
300
+ 'help_keywords' => payload['help_keywords'],
273
301
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
274
302
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
275
303
  'url' => payload['url'],
@@ -374,6 +402,48 @@ module Twilio
374
402
  @properties['rate_limits']
375
403
  end
376
404
 
405
+ ##
406
+ # @return [String] Consumer opt-in flow
407
+ def message_flow
408
+ @properties['message_flow']
409
+ end
410
+
411
+ ##
412
+ # @return [String] Opt In Message
413
+ def opt_in_message
414
+ @properties['opt_in_message']
415
+ end
416
+
417
+ ##
418
+ # @return [String] Opt Out Message
419
+ def opt_out_message
420
+ @properties['opt_out_message']
421
+ end
422
+
423
+ ##
424
+ # @return [String] Help Message
425
+ def help_message
426
+ @properties['help_message']
427
+ end
428
+
429
+ ##
430
+ # @return [Array[String]] Opt In Keywords
431
+ def opt_in_keywords
432
+ @properties['opt_in_keywords']
433
+ end
434
+
435
+ ##
436
+ # @return [Array[String]] Opt Out Keywords
437
+ def opt_out_keywords
438
+ @properties['opt_out_keywords']
439
+ end
440
+
441
+ ##
442
+ # @return [Array[String]] Help Keywords
443
+ def help_keywords
444
+ @properties['help_keywords']
445
+ end
446
+
377
447
  ##
378
448
  # @return [Time] The ISO 8601 date and time in GMT when the resource was created
379
449
  def date_created
@@ -469,7 +469,7 @@ module Twilio
469
469
  'fallback_to_long_code' => payload['fallback_to_long_code'],
470
470
  'area_code_geomatch' => payload['area_code_geomatch'],
471
471
  'synchronous_validation' => payload['synchronous_validation'],
472
- 'validity_period' => payload['validity_period'].to_i,
472
+ 'validity_period' => payload['validity_period'] == nil ? payload['validity_period'] : payload['validity_period'].to_i,
473
473
  'url' => payload['url'],
474
474
  'links' => payload['links'],
475
475
  'usecase' => payload['usecase'],
@@ -17,6 +17,8 @@ module Twilio
17
17
  @version = 'v1'
18
18
  @brand_registrations = nil
19
19
  @deactivations = nil
20
+ @domain_certs = nil
21
+ @domain_config = nil
20
22
  @external_campaign = nil
21
23
  @services = nil
22
24
  @tollfree_verifications = nil
@@ -44,6 +46,38 @@ module Twilio
44
46
  @deactivations ||= DeactivationsContext.new self
45
47
  end
46
48
 
49
+ ##
50
+ # @param [String] domain_sid Unique string used to identify the domain that this
51
+ # certificate should be associated with.
52
+ # @return [Twilio::REST::Messaging::V1::DomainCertsContext] if domain_sid was passed.
53
+ # @return [Twilio::REST::Messaging::V1::DomainCertsList]
54
+ def domain_certs(domain_sid=:unset)
55
+ if domain_sid.nil?
56
+ raise ArgumentError, 'domain_sid cannot be nil'
57
+ end
58
+ if domain_sid == :unset
59
+ @domain_certs ||= DomainCertsList.new self
60
+ else
61
+ DomainCertsContext.new(self, domain_sid)
62
+ end
63
+ end
64
+
65
+ ##
66
+ # @param [String] domain_sid Unique string used to identify the domain that this
67
+ # config should be associated with.
68
+ # @return [Twilio::REST::Messaging::V1::DomainConfigContext] if domain_sid was passed.
69
+ # @return [Twilio::REST::Messaging::V1::DomainConfigList]
70
+ def domain_config(domain_sid=:unset)
71
+ if domain_sid.nil?
72
+ raise ArgumentError, 'domain_sid cannot be nil'
73
+ end
74
+ if domain_sid == :unset
75
+ @domain_config ||= DomainConfigList.new self
76
+ else
77
+ DomainConfigContext.new(self, domain_sid)
78
+ end
79
+ end
80
+
47
81
  ##
48
82
  # @return [Twilio::REST::Messaging::V1::ExternalCampaignContext]
49
83
  def external_campaign
@@ -42,6 +42,24 @@ module Twilio
42
42
  self.v1.deactivations()
43
43
  end
44
44
 
45
+ ##
46
+ # @param [String] domain_sid The unique string that we created to identify the
47
+ # Domain resource.
48
+ # @return [Twilio::REST::Messaging::V1::DomainCertsInstance] if domain_sid was passed.
49
+ # @return [Twilio::REST::Messaging::V1::DomainCertsList]
50
+ def domain_certs(domain_sid=:unset)
51
+ self.v1.domain_certs(domain_sid)
52
+ end
53
+
54
+ ##
55
+ # @param [String] domain_sid The unique string that we created to identify the
56
+ # Domain resource.
57
+ # @return [Twilio::REST::Messaging::V1::DomainConfigInstance] if domain_sid was passed.
58
+ # @return [Twilio::REST::Messaging::V1::DomainConfigList]
59
+ def domain_config(domain_sid=:unset)
60
+ self.v1.domain_config(domain_sid)
61
+ end
62
+
45
63
  ##
46
64
  # @return [Twilio::REST::Messaging::V1::ExternalCampaignInstance]
47
65
  def external_campaign
@@ -226,6 +226,7 @@ module Twilio
226
226
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
227
227
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
228
228
  'url' => payload['url'],
229
+ 'links' => payload['links'],
229
230
  }
230
231
 
231
232
  # Context
@@ -292,6 +293,12 @@ module Twilio
292
293
  @properties['url']
293
294
  end
294
295
 
296
+ ##
297
+ # @return [String] The absolute URLs of related resources
298
+ def links
299
+ @properties['links']
300
+ end
301
+
295
302
  ##
296
303
  # Fetch the DeviceInstance
297
304
  # @return [DeviceInstance] Fetched DeviceInstance
@@ -215,7 +215,7 @@ module Twilio
215
215
  'tags' => payload['tags'],
216
216
  'segments' => payload['segments'],
217
217
  'priority' => payload['priority'],
218
- 'ttl' => payload['ttl'].to_i,
218
+ 'ttl' => payload['ttl'] == nil ? payload['ttl'] : payload['ttl'].to_i,
219
219
  'title' => payload['title'],
220
220
  'body' => payload['body'],
221
221
  'sound' => payload['sound'],
@@ -0,0 +1,162 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ module Twilio
10
+ module REST
11
+ class Oauth < Domain
12
+ class V1 < Version
13
+ class OauthList < ListResource
14
+ ##
15
+ # Initialize the OauthList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [OauthList] OauthList
18
+ def initialize(version)
19
+ super(version)
20
+
21
+ # Path Solution
22
+ @solution = {}
23
+ end
24
+
25
+ ##
26
+ # Provide a user friendly representation
27
+ def to_s
28
+ '#<Twilio.Oauth.V1.OauthList>'
29
+ end
30
+ end
31
+
32
+ class OauthPage < Page
33
+ ##
34
+ # Initialize the OauthPage
35
+ # @param [Version] version Version that contains the resource
36
+ # @param [Response] response Response from the API
37
+ # @param [Hash] solution Path solution for the resource
38
+ # @return [OauthPage] OauthPage
39
+ def initialize(version, response, solution)
40
+ super(version, response)
41
+
42
+ # Path Solution
43
+ @solution = solution
44
+ end
45
+
46
+ ##
47
+ # Build an instance of OauthInstance
48
+ # @param [Hash] payload Payload response from the API
49
+ # @return [OauthInstance] OauthInstance
50
+ def get_instance(payload)
51
+ OauthInstance.new(@version, payload, )
52
+ end
53
+
54
+ ##
55
+ # Provide a user friendly representation
56
+ def to_s
57
+ '<Twilio.Oauth.V1.OauthPage>'
58
+ end
59
+ end
60
+
61
+ class OauthContext < InstanceContext
62
+ ##
63
+ # Initialize the OauthContext
64
+ # @param [Version] version Version that contains the resource
65
+ # @return [OauthContext] OauthContext
66
+ def initialize(version)
67
+ super(version)
68
+
69
+ # Path Solution
70
+ @solution = {}
71
+ @uri = "/certs"
72
+ end
73
+
74
+ ##
75
+ # Fetch the OauthInstance
76
+ # @return [OauthInstance] Fetched OauthInstance
77
+ def fetch
78
+ payload = @version.fetch('GET', @uri)
79
+
80
+ OauthInstance.new(@version, payload, )
81
+ end
82
+
83
+ ##
84
+ # Provide a user friendly representation
85
+ def to_s
86
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
87
+ "#<Twilio.Oauth.V1.OauthContext #{context}>"
88
+ end
89
+
90
+ ##
91
+ # Provide a detailed, user friendly representation
92
+ def inspect
93
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
94
+ "#<Twilio.Oauth.V1.OauthContext #{context}>"
95
+ end
96
+ end
97
+
98
+ class OauthInstance < InstanceResource
99
+ ##
100
+ # Initialize the OauthInstance
101
+ # @param [Version] version Version that contains the resource
102
+ # @param [Hash] payload payload that contains response from Twilio
103
+ # @return [OauthInstance] OauthInstance
104
+ def initialize(version, payload)
105
+ super(version)
106
+
107
+ # Marshaled Properties
108
+ @properties = {'keys' => payload['keys'], 'url' => payload['url'], }
109
+
110
+ # Context
111
+ @instance_context = nil
112
+ @params = {}
113
+ end
114
+
115
+ ##
116
+ # Generate an instance context for the instance, the context is capable of
117
+ # performing various actions. All instance actions are proxied to the context
118
+ # @return [OauthContext] OauthContext for this OauthInstance
119
+ def context
120
+ unless @instance_context
121
+ @instance_context = OauthContext.new(@version, )
122
+ end
123
+ @instance_context
124
+ end
125
+
126
+ ##
127
+ # @return [Hash] A collection of certificates
128
+ def keys
129
+ @properties['keys']
130
+ end
131
+
132
+ ##
133
+ # @return [String] The url
134
+ def url
135
+ @properties['url']
136
+ end
137
+
138
+ ##
139
+ # Fetch the OauthInstance
140
+ # @return [OauthInstance] Fetched OauthInstance
141
+ def fetch
142
+ context.fetch
143
+ end
144
+
145
+ ##
146
+ # Provide a user friendly representation
147
+ def to_s
148
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
149
+ "<Twilio.Oauth.V1.OauthInstance #{values}>"
150
+ end
151
+
152
+ ##
153
+ # Provide a detailed, user friendly representation
154
+ def inspect
155
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
156
+ "<Twilio.Oauth.V1.OauthInstance #{values}>"
157
+ end
158
+ end
159
+ end
160
+ end
161
+ end
162
+ end
@@ -0,0 +1,242 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ module Twilio
10
+ module REST
11
+ class Oauth < Domain
12
+ class V1 < Version
13
+ class OpenidDiscoveryList < ListResource
14
+ ##
15
+ # Initialize the OpenidDiscoveryList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [OpenidDiscoveryList] OpenidDiscoveryList
18
+ def initialize(version)
19
+ super(version)
20
+
21
+ # Path Solution
22
+ @solution = {}
23
+ end
24
+
25
+ ##
26
+ # Provide a user friendly representation
27
+ def to_s
28
+ '#<Twilio.Oauth.V1.OpenidDiscoveryList>'
29
+ end
30
+ end
31
+
32
+ class OpenidDiscoveryPage < Page
33
+ ##
34
+ # Initialize the OpenidDiscoveryPage
35
+ # @param [Version] version Version that contains the resource
36
+ # @param [Response] response Response from the API
37
+ # @param [Hash] solution Path solution for the resource
38
+ # @return [OpenidDiscoveryPage] OpenidDiscoveryPage
39
+ def initialize(version, response, solution)
40
+ super(version, response)
41
+
42
+ # Path Solution
43
+ @solution = solution
44
+ end
45
+
46
+ ##
47
+ # Build an instance of OpenidDiscoveryInstance
48
+ # @param [Hash] payload Payload response from the API
49
+ # @return [OpenidDiscoveryInstance] OpenidDiscoveryInstance
50
+ def get_instance(payload)
51
+ OpenidDiscoveryInstance.new(@version, payload, )
52
+ end
53
+
54
+ ##
55
+ # Provide a user friendly representation
56
+ def to_s
57
+ '<Twilio.Oauth.V1.OpenidDiscoveryPage>'
58
+ end
59
+ end
60
+
61
+ class OpenidDiscoveryContext < InstanceContext
62
+ ##
63
+ # Initialize the OpenidDiscoveryContext
64
+ # @param [Version] version Version that contains the resource
65
+ # @return [OpenidDiscoveryContext] OpenidDiscoveryContext
66
+ def initialize(version)
67
+ super(version)
68
+
69
+ # Path Solution
70
+ @solution = {}
71
+ @uri = "/well-known/openid-configuration"
72
+ end
73
+
74
+ ##
75
+ # Fetch the OpenidDiscoveryInstance
76
+ # @return [OpenidDiscoveryInstance] Fetched OpenidDiscoveryInstance
77
+ def fetch
78
+ payload = @version.fetch('GET', @uri)
79
+
80
+ OpenidDiscoveryInstance.new(@version, payload, )
81
+ end
82
+
83
+ ##
84
+ # Provide a user friendly representation
85
+ def to_s
86
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
87
+ "#<Twilio.Oauth.V1.OpenidDiscoveryContext #{context}>"
88
+ end
89
+
90
+ ##
91
+ # Provide a detailed, user friendly representation
92
+ def inspect
93
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
94
+ "#<Twilio.Oauth.V1.OpenidDiscoveryContext #{context}>"
95
+ end
96
+ end
97
+
98
+ class OpenidDiscoveryInstance < InstanceResource
99
+ ##
100
+ # Initialize the OpenidDiscoveryInstance
101
+ # @param [Version] version Version that contains the resource
102
+ # @param [Hash] payload payload that contains response from Twilio
103
+ # @return [OpenidDiscoveryInstance] OpenidDiscoveryInstance
104
+ def initialize(version, payload)
105
+ super(version)
106
+
107
+ # Marshaled Properties
108
+ @properties = {
109
+ 'issuer' => payload['issuer'],
110
+ 'authorization_endpoint' => payload['authorization_endpoint'],
111
+ 'device_authorization_endpoint' => payload['device_authorization_endpoint'],
112
+ 'token_endpoint' => payload['token_endpoint'],
113
+ 'userinfo_endpoint' => payload['userinfo_endpoint'],
114
+ 'revocation_endpoint' => payload['revocation_endpoint'],
115
+ 'jwk_uri' => payload['jwk_uri'],
116
+ 'response_type_supported' => payload['response_type_supported'],
117
+ 'subject_type_supported' => payload['subject_type_supported'],
118
+ 'id_token_signing_alg_values_supported' => payload['id_token_signing_alg_values_supported'],
119
+ 'scopes_supported' => payload['scopes_supported'],
120
+ 'claims_supported' => payload['claims_supported'],
121
+ 'url' => payload['url'],
122
+ }
123
+
124
+ # Context
125
+ @instance_context = nil
126
+ @params = {}
127
+ end
128
+
129
+ ##
130
+ # Generate an instance context for the instance, the context is capable of
131
+ # performing various actions. All instance actions are proxied to the context
132
+ # @return [OpenidDiscoveryContext] OpenidDiscoveryContext for this OpenidDiscoveryInstance
133
+ def context
134
+ unless @instance_context
135
+ @instance_context = OpenidDiscoveryContext.new(@version, )
136
+ end
137
+ @instance_context
138
+ end
139
+
140
+ ##
141
+ # @return [String] The issuer URL
142
+ def issuer
143
+ @properties['issuer']
144
+ end
145
+
146
+ ##
147
+ # @return [String] The URL of authorization endpoint
148
+ def authorization_endpoint
149
+ @properties['authorization_endpoint']
150
+ end
151
+
152
+ ##
153
+ # @return [String] The URL of device code authorization endpoint
154
+ def device_authorization_endpoint
155
+ @properties['device_authorization_endpoint']
156
+ end
157
+
158
+ ##
159
+ # @return [String] The URL of token endpoint
160
+ def token_endpoint
161
+ @properties['token_endpoint']
162
+ end
163
+
164
+ ##
165
+ # @return [String] The URL of user info endpoint
166
+ def userinfo_endpoint
167
+ @properties['userinfo_endpoint']
168
+ end
169
+
170
+ ##
171
+ # @return [String] The URL of revocation endpoint
172
+ def revocation_endpoint
173
+ @properties['revocation_endpoint']
174
+ end
175
+
176
+ ##
177
+ # @return [String] The URL of public JWK endpoint
178
+ def jwk_uri
179
+ @properties['jwk_uri']
180
+ end
181
+
182
+ ##
183
+ # @return [Array[String]] List of response type supported for identity token
184
+ def response_type_supported
185
+ @properties['response_type_supported']
186
+ end
187
+
188
+ ##
189
+ # @return [Array[String]] List of subject supported for identity token
190
+ def subject_type_supported
191
+ @properties['subject_type_supported']
192
+ end
193
+
194
+ ##
195
+ # @return [Array[String]] List of JWS signing algorithms supported for identity token
196
+ def id_token_signing_alg_values_supported
197
+ @properties['id_token_signing_alg_values_supported']
198
+ end
199
+
200
+ ##
201
+ # @return [Array[String]] List of scopes supported identity token
202
+ def scopes_supported
203
+ @properties['scopes_supported']
204
+ end
205
+
206
+ ##
207
+ # @return [Array[String]] List of claims supported for identity token
208
+ def claims_supported
209
+ @properties['claims_supported']
210
+ end
211
+
212
+ ##
213
+ # @return [String] The url
214
+ def url
215
+ @properties['url']
216
+ end
217
+
218
+ ##
219
+ # Fetch the OpenidDiscoveryInstance
220
+ # @return [OpenidDiscoveryInstance] Fetched OpenidDiscoveryInstance
221
+ def fetch
222
+ context.fetch
223
+ end
224
+
225
+ ##
226
+ # Provide a user friendly representation
227
+ def to_s
228
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
229
+ "<Twilio.Oauth.V1.OpenidDiscoveryInstance #{values}>"
230
+ end
231
+
232
+ ##
233
+ # Provide a detailed, user friendly representation
234
+ def inspect
235
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
236
+ "<Twilio.Oauth.V1.OpenidDiscoveryInstance #{values}>"
237
+ end
238
+ end
239
+ end
240
+ end
241
+ end
242
+ end