twilio-ruby 5.57.1 → 5.58.3

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 (38) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.travis.yml +24 -7
  4. data/CHANGES.md +83 -0
  5. data/Gemfile +1 -0
  6. data/README.md +2 -2
  7. data/examples/examples.rb +1 -1
  8. data/lib/twilio-ruby/http/http_client.rb +1 -1
  9. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +12 -3
  10. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +4 -1
  11. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +1 -1
  12. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +11 -11
  13. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +11 -11
  14. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +12 -5
  15. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +12 -5
  16. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +434 -0
  17. data/lib/twilio-ruby/rest/insights/v1.rb +7 -0
  18. data/lib/twilio-ruby/rest/insights.rb +6 -0
  19. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +54 -1
  20. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +9 -2
  21. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +6 -2
  22. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +19 -14
  23. data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
  24. data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
  25. data/lib/twilio-ruby/rest/pricing/v2.rb +37 -0
  26. data/lib/twilio-ruby/rest/pricing.rb +19 -0
  27. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +30 -20
  28. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +6 -2
  29. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +36 -11
  30. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +11 -9
  31. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +8 -8
  32. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +7 -3
  33. data/lib/twilio-ruby/rest/verify/v2/verification_template.rb +206 -0
  34. data/lib/twilio-ruby/rest/verify/v2.rb +7 -0
  35. data/lib/twilio-ruby/rest/verify.rb +6 -0
  36. data/lib/twilio-ruby/version.rb +1 -1
  37. data/sonar-project.properties +13 -0
  38. metadata +7 -2
@@ -0,0 +1,280 @@
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 Pricing < Domain
12
+ class V2 < Version
13
+ class CountryList < ListResource
14
+ ##
15
+ # Initialize the CountryList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [CountryList] CountryList
18
+ def initialize(version)
19
+ super(version)
20
+
21
+ # Path Solution
22
+ @solution = {}
23
+ @uri = "/Trunking/Countries"
24
+ end
25
+
26
+ ##
27
+ # Lists CountryInstance records from the API as a list.
28
+ # Unlike stream(), this operation is eager and will load `limit` records into
29
+ # memory before returning.
30
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
31
+ # guarantees to never return more than limit. Default is no limit
32
+ # @param [Integer] page_size Number of records to fetch per request, when
33
+ # not set will use the default value of 50 records. If no page_size is defined
34
+ # but a limit is defined, stream() will attempt to read the limit with the most
35
+ # efficient page size, i.e. min(limit, 1000)
36
+ # @return [Array] Array of up to limit results
37
+ def list(limit: nil, page_size: nil)
38
+ self.stream(limit: limit, page_size: page_size).entries
39
+ end
40
+
41
+ ##
42
+ # Streams CountryInstance records from the API as an Enumerable.
43
+ # This operation lazily loads records as efficiently as possible until the limit
44
+ # is reached.
45
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
46
+ # guarantees to never return more than limit. Default is no limit.
47
+ # @param [Integer] page_size Number of records to fetch per request, when
48
+ # not set will use the default value of 50 records. If no page_size is defined
49
+ # but a limit is defined, stream() will attempt to read the limit with the most
50
+ # efficient page size, i.e. min(limit, 1000)
51
+ # @return [Enumerable] Enumerable that will yield up to limit results
52
+ def stream(limit: nil, page_size: nil)
53
+ limits = @version.read_limits(limit, page_size)
54
+
55
+ page = self.page(page_size: limits[:page_size], )
56
+
57
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
58
+ end
59
+
60
+ ##
61
+ # When passed a block, yields CountryInstance records from the API.
62
+ # This operation lazily loads records as efficiently as possible until the limit
63
+ # is reached.
64
+ def each
65
+ limits = @version.read_limits
66
+
67
+ page = self.page(page_size: limits[:page_size], )
68
+
69
+ @version.stream(page,
70
+ limit: limits[:limit],
71
+ page_limit: limits[:page_limit]).each {|x| yield x}
72
+ end
73
+
74
+ ##
75
+ # Retrieve a single page of CountryInstance records from the API.
76
+ # Request is executed immediately.
77
+ # @param [String] page_token PageToken provided by the API
78
+ # @param [Integer] page_number Page Number, this value is simply for client state
79
+ # @param [Integer] page_size Number of records to return, defaults to 50
80
+ # @return [Page] Page of CountryInstance
81
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
82
+ params = Twilio::Values.of({
83
+ 'PageToken' => page_token,
84
+ 'Page' => page_number,
85
+ 'PageSize' => page_size,
86
+ })
87
+
88
+ response = @version.page('GET', @uri, params: params)
89
+
90
+ CountryPage.new(@version, response, @solution)
91
+ end
92
+
93
+ ##
94
+ # Retrieve a single page of CountryInstance records from the API.
95
+ # Request is executed immediately.
96
+ # @param [String] target_url API-generated URL for the requested results page
97
+ # @return [Page] Page of CountryInstance
98
+ def get_page(target_url)
99
+ response = @version.domain.request(
100
+ 'GET',
101
+ target_url
102
+ )
103
+ CountryPage.new(@version, response, @solution)
104
+ end
105
+
106
+ ##
107
+ # Provide a user friendly representation
108
+ def to_s
109
+ '#<Twilio.Pricing.V2.CountryList>'
110
+ end
111
+ end
112
+
113
+ class CountryPage < Page
114
+ ##
115
+ # Initialize the CountryPage
116
+ # @param [Version] version Version that contains the resource
117
+ # @param [Response] response Response from the API
118
+ # @param [Hash] solution Path solution for the resource
119
+ # @return [CountryPage] CountryPage
120
+ def initialize(version, response, solution)
121
+ super(version, response)
122
+
123
+ # Path Solution
124
+ @solution = solution
125
+ end
126
+
127
+ ##
128
+ # Build an instance of CountryInstance
129
+ # @param [Hash] payload Payload response from the API
130
+ # @return [CountryInstance] CountryInstance
131
+ def get_instance(payload)
132
+ CountryInstance.new(@version, payload, )
133
+ end
134
+
135
+ ##
136
+ # Provide a user friendly representation
137
+ def to_s
138
+ '<Twilio.Pricing.V2.CountryPage>'
139
+ end
140
+ end
141
+
142
+ class CountryContext < InstanceContext
143
+ ##
144
+ # Initialize the CountryContext
145
+ # @param [Version] version Version that contains the resource
146
+ # @param [String] iso_country The {ISO country
147
+ # code}[https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2] of the origin-based
148
+ # voice pricing information to fetch.
149
+ # @return [CountryContext] CountryContext
150
+ def initialize(version, iso_country)
151
+ super(version)
152
+
153
+ # Path Solution
154
+ @solution = {iso_country: iso_country, }
155
+ @uri = "/Trunking/Countries/#{@solution[:iso_country]}"
156
+ end
157
+
158
+ ##
159
+ # Fetch the CountryInstance
160
+ # @return [CountryInstance] Fetched CountryInstance
161
+ def fetch
162
+ payload = @version.fetch('GET', @uri)
163
+
164
+ CountryInstance.new(@version, payload, iso_country: @solution[:iso_country], )
165
+ end
166
+
167
+ ##
168
+ # Provide a user friendly representation
169
+ def to_s
170
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
171
+ "#<Twilio.Pricing.V2.CountryContext #{context}>"
172
+ end
173
+
174
+ ##
175
+ # Provide a detailed, user friendly representation
176
+ def inspect
177
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
178
+ "#<Twilio.Pricing.V2.CountryContext #{context}>"
179
+ end
180
+ end
181
+
182
+ class CountryInstance < InstanceResource
183
+ ##
184
+ # Initialize the CountryInstance
185
+ # @param [Version] version Version that contains the resource
186
+ # @param [Hash] payload payload that contains response from Twilio
187
+ # @param [String] iso_country The {ISO country
188
+ # code}[https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2] of the origin-based
189
+ # voice pricing information to fetch.
190
+ # @return [CountryInstance] CountryInstance
191
+ def initialize(version, payload, iso_country: nil)
192
+ super(version)
193
+
194
+ # Marshaled Properties
195
+ @properties = {
196
+ 'country' => payload['country'],
197
+ 'iso_country' => payload['iso_country'],
198
+ 'terminating_prefix_prices' => payload['terminating_prefix_prices'],
199
+ 'originating_call_prices' => payload['originating_call_prices'],
200
+ 'price_unit' => payload['price_unit'],
201
+ 'url' => payload['url'],
202
+ }
203
+
204
+ # Context
205
+ @instance_context = nil
206
+ @params = {'iso_country' => iso_country || @properties['iso_country'], }
207
+ end
208
+
209
+ ##
210
+ # Generate an instance context for the instance, the context is capable of
211
+ # performing various actions. All instance actions are proxied to the context
212
+ # @return [CountryContext] CountryContext for this CountryInstance
213
+ def context
214
+ unless @instance_context
215
+ @instance_context = CountryContext.new(@version, @params['iso_country'], )
216
+ end
217
+ @instance_context
218
+ end
219
+
220
+ ##
221
+ # @return [String] The name of the country
222
+ def country
223
+ @properties['country']
224
+ end
225
+
226
+ ##
227
+ # @return [String] The ISO country code
228
+ def iso_country
229
+ @properties['iso_country']
230
+ end
231
+
232
+ ##
233
+ # @return [Array[String]] The list of TerminatingPrefixPrice records
234
+ def terminating_prefix_prices
235
+ @properties['terminating_prefix_prices']
236
+ end
237
+
238
+ ##
239
+ # @return [Array[String]] The list of OriginatingCallPrice records
240
+ def originating_call_prices
241
+ @properties['originating_call_prices']
242
+ end
243
+
244
+ ##
245
+ # @return [String] The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)
246
+ def price_unit
247
+ @properties['price_unit']
248
+ end
249
+
250
+ ##
251
+ # @return [String] The absolute URL of the resource
252
+ def url
253
+ @properties['url']
254
+ end
255
+
256
+ ##
257
+ # Fetch the CountryInstance
258
+ # @return [CountryInstance] Fetched CountryInstance
259
+ def fetch
260
+ context.fetch
261
+ end
262
+
263
+ ##
264
+ # Provide a user friendly representation
265
+ def to_s
266
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
267
+ "<Twilio.Pricing.V2.CountryInstance #{values}>"
268
+ end
269
+
270
+ ##
271
+ # Provide a detailed, user friendly representation
272
+ def inspect
273
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
274
+ "<Twilio.Pricing.V2.CountryInstance #{values}>"
275
+ end
276
+ end
277
+ end
278
+ end
279
+ end
280
+ end
@@ -0,0 +1,225 @@
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 Pricing < Domain
12
+ class V2 < Version
13
+ class NumberList < ListResource
14
+ ##
15
+ # Initialize the NumberList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [NumberList] NumberList
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.Pricing.V2.NumberList>'
29
+ end
30
+ end
31
+
32
+ class NumberPage < Page
33
+ ##
34
+ # Initialize the NumberPage
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 [NumberPage] NumberPage
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 NumberInstance
48
+ # @param [Hash] payload Payload response from the API
49
+ # @return [NumberInstance] NumberInstance
50
+ def get_instance(payload)
51
+ NumberInstance.new(@version, payload, )
52
+ end
53
+
54
+ ##
55
+ # Provide a user friendly representation
56
+ def to_s
57
+ '<Twilio.Pricing.V2.NumberPage>'
58
+ end
59
+ end
60
+
61
+ class NumberContext < InstanceContext
62
+ ##
63
+ # Initialize the NumberContext
64
+ # @param [Version] version Version that contains the resource
65
+ # @param [String] destination_number The destination phone number, in
66
+ # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, for which to
67
+ # fetch the origin-based voice pricing information. E.164 format consists of a +
68
+ # followed by the country code and subscriber number.
69
+ # @return [NumberContext] NumberContext
70
+ def initialize(version, destination_number)
71
+ super(version)
72
+
73
+ # Path Solution
74
+ @solution = {destination_number: destination_number, }
75
+ @uri = "/Trunking/Numbers/#{CGI.escape(@solution[:destination_number]).gsub("+", "%20")}"
76
+ end
77
+
78
+ ##
79
+ # Fetch the NumberInstance
80
+ # @param [String] origination_number The origination phone number, in
81
+ # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, for which to
82
+ # fetch the origin-based voice pricing information. E.164 format consists of a +
83
+ # followed by the country code and subscriber number.
84
+ # @return [NumberInstance] Fetched NumberInstance
85
+ def fetch(origination_number: :unset)
86
+ params = Twilio::Values.of({'OriginationNumber' => origination_number, })
87
+
88
+ payload = @version.fetch('GET', @uri, params: params)
89
+
90
+ NumberInstance.new(@version, payload, destination_number: @solution[:destination_number], )
91
+ end
92
+
93
+ ##
94
+ # Provide a user friendly representation
95
+ def to_s
96
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
97
+ "#<Twilio.Pricing.V2.NumberContext #{context}>"
98
+ end
99
+
100
+ ##
101
+ # Provide a detailed, user friendly representation
102
+ def inspect
103
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
104
+ "#<Twilio.Pricing.V2.NumberContext #{context}>"
105
+ end
106
+ end
107
+
108
+ class NumberInstance < InstanceResource
109
+ ##
110
+ # Initialize the NumberInstance
111
+ # @param [Version] version Version that contains the resource
112
+ # @param [Hash] payload payload that contains response from Twilio
113
+ # @param [String] destination_number The destination phone number, in
114
+ # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, for which to
115
+ # fetch the origin-based voice pricing information. E.164 format consists of a +
116
+ # followed by the country code and subscriber number.
117
+ # @return [NumberInstance] NumberInstance
118
+ def initialize(version, payload, destination_number: nil)
119
+ super(version)
120
+
121
+ # Marshaled Properties
122
+ @properties = {
123
+ 'destination_number' => payload['destination_number'],
124
+ 'origination_number' => payload['origination_number'],
125
+ 'country' => payload['country'],
126
+ 'iso_country' => payload['iso_country'],
127
+ 'terminating_prefix_prices' => payload['terminating_prefix_prices'],
128
+ 'originating_call_price' => payload['originating_call_price'],
129
+ 'price_unit' => payload['price_unit'],
130
+ 'url' => payload['url'],
131
+ }
132
+
133
+ # Context
134
+ @instance_context = nil
135
+ @params = {'destination_number' => destination_number || @properties['destination_number'], }
136
+ end
137
+
138
+ ##
139
+ # Generate an instance context for the instance, the context is capable of
140
+ # performing various actions. All instance actions are proxied to the context
141
+ # @return [NumberContext] NumberContext for this NumberInstance
142
+ def context
143
+ unless @instance_context
144
+ @instance_context = NumberContext.new(@version, @params['destination_number'], )
145
+ end
146
+ @instance_context
147
+ end
148
+
149
+ ##
150
+ # @return [String] The destination phone number, in E.164 format
151
+ def destination_number
152
+ @properties['destination_number']
153
+ end
154
+
155
+ ##
156
+ # @return [String] The origination phone number, in E.164 format
157
+ def origination_number
158
+ @properties['origination_number']
159
+ end
160
+
161
+ ##
162
+ # @return [String] The name of the country
163
+ def country
164
+ @properties['country']
165
+ end
166
+
167
+ ##
168
+ # @return [String] The ISO country code
169
+ def iso_country
170
+ @properties['iso_country']
171
+ end
172
+
173
+ ##
174
+ # @return [Array[String]] The terminating_prefix_prices
175
+ def terminating_prefix_prices
176
+ @properties['terminating_prefix_prices']
177
+ end
178
+
179
+ ##
180
+ # @return [String] The OriginatingCallPrice record
181
+ def originating_call_price
182
+ @properties['originating_call_price']
183
+ end
184
+
185
+ ##
186
+ # @return [String] The currency in which prices are measured, in ISO 4127 format (e.g. usd, eur, jpy)
187
+ def price_unit
188
+ @properties['price_unit']
189
+ end
190
+
191
+ ##
192
+ # @return [String] The absolute URL of the resource
193
+ def url
194
+ @properties['url']
195
+ end
196
+
197
+ ##
198
+ # Fetch the NumberInstance
199
+ # @param [String] origination_number The origination phone number, in
200
+ # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, for which to
201
+ # fetch the origin-based voice pricing information. E.164 format consists of a +
202
+ # followed by the country code and subscriber number.
203
+ # @return [NumberInstance] Fetched NumberInstance
204
+ def fetch(origination_number: :unset)
205
+ context.fetch(origination_number: origination_number, )
206
+ end
207
+
208
+ ##
209
+ # Provide a user friendly representation
210
+ def to_s
211
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
212
+ "<Twilio.Pricing.V2.NumberInstance #{values}>"
213
+ end
214
+
215
+ ##
216
+ # Provide a detailed, user friendly representation
217
+ def inspect
218
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
219
+ "<Twilio.Pricing.V2.NumberInstance #{values}>"
220
+ end
221
+ end
222
+ end
223
+ end
224
+ end
225
+ end
@@ -15,9 +15,46 @@ module Twilio
15
15
  def initialize(domain)
16
16
  super
17
17
  @version = 'v2'
18
+ @countries = nil
19
+ @numbers = nil
18
20
  @voice = nil
19
21
  end
20
22
 
23
+ ##
24
+ # @param [String] iso_country The {ISO country
25
+ # code}[https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2] of the origin-based
26
+ # voice pricing information to fetch.
27
+ # @return [Twilio::REST::Pricing::V2::CountryContext] if iso_country was passed.
28
+ # @return [Twilio::REST::Pricing::V2::CountryList]
29
+ def countries(iso_country=:unset)
30
+ if iso_country.nil?
31
+ raise ArgumentError, 'iso_country cannot be nil'
32
+ end
33
+ if iso_country == :unset
34
+ @countries ||= CountryList.new self
35
+ else
36
+ CountryContext.new(self, iso_country)
37
+ end
38
+ end
39
+
40
+ ##
41
+ # @param [String] destination_number The destination phone number, in
42
+ # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, for which to
43
+ # fetch the origin-based voice pricing information. E.164 format consists of a +
44
+ # followed by the country code and subscriber number.
45
+ # @return [Twilio::REST::Pricing::V2::NumberContext] if destination_number was passed.
46
+ # @return [Twilio::REST::Pricing::V2::NumberList]
47
+ def numbers(destination_number=:unset)
48
+ if destination_number.nil?
49
+ raise ArgumentError, 'destination_number cannot be nil'
50
+ end
51
+ if destination_number == :unset
52
+ @numbers ||= NumberList.new self
53
+ else
54
+ NumberContext.new(self, destination_number)
55
+ end
56
+ end
57
+
21
58
  ##
22
59
  # @return [Twilio::REST::Pricing::V2::VoiceContext]
23
60
  def voice
@@ -53,6 +53,25 @@ module Twilio
53
53
  self.v2.voice()
54
54
  end
55
55
 
56
+ ##
57
+ # @param [String] iso_country The {ISO country
58
+ # code}[https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2].
59
+ # @return [Twilio::REST::Pricing::V2::CountryInstance] if iso_country was passed.
60
+ # @return [Twilio::REST::Pricing::V2::CountryList]
61
+ def countries(iso_country=:unset)
62
+ self.v2.countries(iso_country)
63
+ end
64
+
65
+ ##
66
+ # @param [String] destination_number The destination phone number in
67
+ # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, which consists
68
+ # of a + followed by the country code and subscriber number.
69
+ # @return [Twilio::REST::Pricing::V2::NumberInstance] if destination_number was passed.
70
+ # @return [Twilio::REST::Pricing::V2::NumberList]
71
+ def numbers(destination_number=:unset)
72
+ self.v2.numbers(destination_number)
73
+ end
74
+
56
75
  ##
57
76
  # Provide a user friendly representation
58
77
  def to_s
@@ -124,12 +124,14 @@ module Twilio
124
124
  # worker.activity.update`, then TaskRouter will call event_callback_url only when
125
125
  # a task is created, canceled, or a Worker activity is updated.
126
126
  # @param [Boolean] multi_task_enabled Whether to enable multi-tasking. Can be:
127
- # `true` to enable multi-tasking, or `false` to disable it. The default is
128
- # `false`. Multi-tasking allows Workers to handle multiple Tasks simultaneously.
129
- # When enabled (`true`), each Worker can receive parallel reservations up to the
130
- # per-channel maximums defined in the Workers section. Otherwise, each Worker will
131
- # only receive a new reservation when the previous task is completed. Learn more
132
- # at {Multitasking}[https://www.twilio.com/docs/taskrouter/multitasking].
127
+ # `true` to enable multi-tasking, or `false` to disable it. However, all
128
+ # workspaces should be created as multi-tasking. The default is `true`.
129
+ # Multi-tasking allows Workers to handle multiple Tasks simultaneously. When
130
+ # enabled (`true`), each Worker can receive parallel reservations up to the
131
+ # per-channel maximums defined in the Workers section. In single-tasking mode
132
+ # (legacy mode), each Worker will only receive a new reservation when the previous
133
+ # task is completed. Learn more at
134
+ # {Multitasking}[https://www.twilio.com/docs/taskrouter/multitasking].
133
135
  # @param [String] template An available template name. Can be: `NONE` or `FIFO`
134
136
  # and the default is `NONE`. Pre-configures the Workspace with the Workflow and
135
137
  # Activities specified in the template. `NONE` will create a Workspace with only a
@@ -243,17 +245,21 @@ module Twilio
243
245
  # the Workspace resource. For example: `Sales Call Center` or `Customer Support
244
246
  # Team`.
245
247
  # @param [Boolean] multi_task_enabled Whether to enable multi-tasking. Can be:
246
- # `true` to enable multi-tasking, or `false` to disable it. The default is
247
- # `false`. Multi-tasking allows Workers to handle multiple Tasks simultaneously.
248
- # When enabled (`true`), each Worker can receive parallel reservations up to the
249
- # per-channel maximums defined in the Workers section. Otherwise, each Worker will
250
- # only receive a new reservation when the previous task is completed. Learn more
251
- # at {Multitasking}[https://www.twilio.com/docs/taskrouter/multitasking].
248
+ # `true` to enable multi-tasking, or `false` to disable it. However, all
249
+ # workspaces should be maintained as multi-tasking. There is no default when
250
+ # omitting this parameter. A multi-tasking Workspace can't be updated to
251
+ # single-tasking unless it is not a Flex Project and another (legacy)
252
+ # single-tasking Workspace exists. Multi-tasking allows Workers to handle multiple
253
+ # Tasks simultaneously. In multi-tasking mode, each Worker can receive parallel
254
+ # reservations up to the per-channel maximums defined in the Workers section. In
255
+ # single-tasking mode (legacy mode), each Worker will only receive a new
256
+ # reservation when the previous task is completed. Learn more at
257
+ # {Multitasking}[https://www.twilio.com/docs/taskrouter/multitasking].
252
258
  # @param [String] timeout_activity_sid The SID of the Activity that will be
253
259
  # assigned to a Worker when a Task reservation times out without a response.
254
260
  # @param [workspace.QueueOrder] prioritize_queue_order The type of TaskQueue to
255
261
  # prioritize when Workers are receiving Tasks from both types of TaskQueues. Can
256
- # be: `LIFO` or `FIFO` and the default is `FIFO`. For more information, see {Queue
262
+ # be: `LIFO` or `FIFO`. For more information, see {Queue
257
263
  # Ordering}[https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo].
258
264
  # @return [WorkspaceInstance] Updated WorkspaceInstance
259
265
  def update(default_activity_sid: :unset, event_callback_url: :unset, events_filter: :unset, friendly_name: :unset, multi_task_enabled: :unset, timeout_activity_sid: :unset, prioritize_queue_order: :unset)
@@ -602,17 +608,21 @@ module Twilio
602
608
  # the Workspace resource. For example: `Sales Call Center` or `Customer Support
603
609
  # Team`.
604
610
  # @param [Boolean] multi_task_enabled Whether to enable multi-tasking. Can be:
605
- # `true` to enable multi-tasking, or `false` to disable it. The default is
606
- # `false`. Multi-tasking allows Workers to handle multiple Tasks simultaneously.
607
- # When enabled (`true`), each Worker can receive parallel reservations up to the
608
- # per-channel maximums defined in the Workers section. Otherwise, each Worker will
609
- # only receive a new reservation when the previous task is completed. Learn more
610
- # at {Multitasking}[https://www.twilio.com/docs/taskrouter/multitasking].
611
+ # `true` to enable multi-tasking, or `false` to disable it. However, all
612
+ # workspaces should be maintained as multi-tasking. There is no default when
613
+ # omitting this parameter. A multi-tasking Workspace can't be updated to
614
+ # single-tasking unless it is not a Flex Project and another (legacy)
615
+ # single-tasking Workspace exists. Multi-tasking allows Workers to handle multiple
616
+ # Tasks simultaneously. In multi-tasking mode, each Worker can receive parallel
617
+ # reservations up to the per-channel maximums defined in the Workers section. In
618
+ # single-tasking mode (legacy mode), each Worker will only receive a new
619
+ # reservation when the previous task is completed. Learn more at
620
+ # {Multitasking}[https://www.twilio.com/docs/taskrouter/multitasking].
611
621
  # @param [String] timeout_activity_sid The SID of the Activity that will be
612
622
  # assigned to a Worker when a Task reservation times out without a response.
613
623
  # @param [workspace.QueueOrder] prioritize_queue_order The type of TaskQueue to
614
624
  # prioritize when Workers are receiving Tasks from both types of TaskQueues. Can
615
- # be: `LIFO` or `FIFO` and the default is `FIFO`. For more information, see {Queue
625
+ # be: `LIFO` or `FIFO`. For more information, see {Queue
616
626
  # Ordering}[https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo].
617
627
  # @return [WorkspaceInstance] Updated WorkspaceInstance
618
628
  def update(default_activity_sid: :unset, event_callback_url: :unset, events_filter: :unset, friendly_name: :unset, multi_task_enabled: :unset, timeout_activity_sid: :unset, prioritize_queue_order: :unset)