twilio-ruby 5.10.6 → 5.10.7
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.
- checksums.yaml +4 -4
- data/CHANGES.md +12 -0
- data/README.md +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +15 -15
- data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +28 -6
- data/lib/twilio-ruby/rest/preview.rb +8 -8
- data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +21 -3
- data/lib/twilio-ruby/rest/preview/marketplace.rb +13 -13
- data/lib/twilio-ruby/rest/studio/v1/flow.rb +26 -0
- data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +410 -0
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +217 -0
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +380 -0
- data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +232 -0
- data/lib/twilio-ruby/rest/video.rb +9 -9
- data/lib/twilio-ruby/rest/video/v1.rb +16 -16
- data/lib/twilio-ruby/rest/video/v1/composition.rb +2 -1
- data/lib/twilio-ruby/rest/video/v1/room/recording.rb +14 -0
- data/lib/twilio-ruby/version.rb +1 -1
- data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +12 -14
- data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +4 -2
- data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +51 -0
- data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +54 -0
- data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +101 -0
- data/spec/integration/studio/v1/flow/execution_spec.rb +171 -0
- data/spec/integration/studio/v1/flow_spec.rb +2 -1
- data/spec/integration/video/v1/room/recording_spec.rb +28 -0
- metadata +15 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: da9f21f9decc5e739bf2e9d6e459f86e2d4e4ead
|
4
|
+
data.tar.gz: 3e167ee387f6cb92a862f752bc90b00570e16935
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 65f05038a1226db7b0ed1b950242ed8e4e7d6614cbc258ce840c7866a721471f6fc4c4b589d1097f266a9895ba18f6c929d61fc683923148ebebdd21a6b7e2b2
|
7
|
+
data.tar.gz: f3ab0edfa7891346ef7cebf162f05c19dd9d11d64172aa272ea8f1bc73ccba5192eb14db835be9dfa246fedb040f983635bb95dd8ab91c279754f699c56424e2
|
data/CHANGES.md
CHANGED
@@ -1,6 +1,18 @@
|
|
1
1
|
twilio-ruby changelog
|
2
2
|
=====================
|
3
3
|
|
4
|
+
[2018-07-11] Version 5.10.7
|
5
|
+
----------------------------
|
6
|
+
**Api**
|
7
|
+
- Add `cidr_prefix_length` param to SIP IpAddresses API
|
8
|
+
|
9
|
+
**Studio**
|
10
|
+
- Add new /Execution endpoints to begin Engagement -> Execution migration
|
11
|
+
|
12
|
+
**Video**
|
13
|
+
- [Rooms] Allow deletion of individual recordings from a room
|
14
|
+
|
15
|
+
|
4
16
|
[2018-07-05] Version 5.10.6
|
5
17
|
----------------------------
|
6
18
|
**Library**
|
data/README.md
CHANGED
@@ -27,13 +27,13 @@ in-line code documentation here in the library.
|
|
27
27
|
To install using [Bundler][bundler] grab the latest stable version:
|
28
28
|
|
29
29
|
```ruby
|
30
|
-
gem 'twilio-ruby', '~> 5.10.
|
30
|
+
gem 'twilio-ruby', '~> 5.10.7'
|
31
31
|
```
|
32
32
|
|
33
33
|
To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
|
34
34
|
|
35
35
|
```bash
|
36
|
-
gem install twilio-ruby -v 5.10.
|
36
|
+
gem install twilio-ruby -v 5.10.7
|
37
37
|
```
|
38
38
|
|
39
39
|
To build and install the development branch yourself from the latest source:
|
@@ -16,7 +16,7 @@ module Twilio
|
|
16
16
|
# Initialize the RecordingList
|
17
17
|
# @param [Version] version Version that contains the resource
|
18
18
|
# @param [String] account_sid The unique ID of the
|
19
|
-
# [Account](https://www.twilio.com/docs/api/
|
19
|
+
# [Account](https://www.twilio.com/docs/iam/api/account) responsible for this
|
20
20
|
# recording.
|
21
21
|
# @return [RecordingList] RecordingList
|
22
22
|
def initialize(version, account_sid: nil)
|
@@ -34,8 +34,8 @@ module Twilio
|
|
34
34
|
# @param [Time] date_created_before Filter by date created
|
35
35
|
# @param [Time] date_created Filter by date created
|
36
36
|
# @param [Time] date_created_after Filter by date created
|
37
|
-
# @param [String] call_sid Only show recordings made during the call
|
38
|
-
#
|
37
|
+
# @param [String] call_sid Only show recordings made during the call indicated by
|
38
|
+
# this call SID
|
39
39
|
# @param [String] conference_sid The conference_sid
|
40
40
|
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
41
41
|
# guarantees to never return more than limit. Default is no limit
|
@@ -63,8 +63,8 @@ module Twilio
|
|
63
63
|
# @param [Time] date_created_before Filter by date created
|
64
64
|
# @param [Time] date_created Filter by date created
|
65
65
|
# @param [Time] date_created_after Filter by date created
|
66
|
-
# @param [String] call_sid Only show recordings made during the call
|
67
|
-
#
|
66
|
+
# @param [String] call_sid Only show recordings made during the call indicated by
|
67
|
+
# this call SID
|
68
68
|
# @param [String] conference_sid The conference_sid
|
69
69
|
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
70
70
|
# guarantees to never return more than limit. Default is no limit.
|
@@ -108,8 +108,8 @@ module Twilio
|
|
108
108
|
# @param [Time] date_created_before Filter by date created
|
109
109
|
# @param [Time] date_created Filter by date created
|
110
110
|
# @param [Time] date_created_after Filter by date created
|
111
|
-
# @param [String] call_sid Only show recordings made during the call
|
112
|
-
#
|
111
|
+
# @param [String] call_sid Only show recordings made during the call indicated by
|
112
|
+
# this call SID
|
113
113
|
# @param [String] conference_sid The conference_sid
|
114
114
|
# @param [String] page_token PageToken provided by the API
|
115
115
|
# @param [Integer] page_number Page Number, this value is simply for client state
|
@@ -188,7 +188,7 @@ module Twilio
|
|
188
188
|
# Initialize the RecordingContext
|
189
189
|
# @param [Version] version Version that contains the resource
|
190
190
|
# @param [String] account_sid The account_sid
|
191
|
-
# @param [String] sid The recording
|
191
|
+
# @param [String] sid The unique recording SID that identifies this resource
|
192
192
|
# @return [RecordingContext] RecordingContext
|
193
193
|
def initialize(version, account_sid, sid)
|
194
194
|
super(version)
|
@@ -282,9 +282,9 @@ module Twilio
|
|
282
282
|
# @param [Version] version Version that contains the resource
|
283
283
|
# @param [Hash] payload payload that contains response from Twilio
|
284
284
|
# @param [String] account_sid The unique ID of the
|
285
|
-
# [Account](https://www.twilio.com/docs/api/
|
285
|
+
# [Account](https://www.twilio.com/docs/iam/api/account) responsible for this
|
286
286
|
# recording.
|
287
|
-
# @param [String] sid The recording
|
287
|
+
# @param [String] sid The unique recording SID that identifies this resource
|
288
288
|
# @return [RecordingInstance] RecordingInstance
|
289
289
|
def initialize(version, payload, account_sid: nil, sid: nil)
|
290
290
|
super(version)
|
@@ -328,7 +328,7 @@ module Twilio
|
|
328
328
|
end
|
329
329
|
|
330
330
|
##
|
331
|
-
# @return [String] The unique
|
331
|
+
# @return [String] The unique SID that identifies this account
|
332
332
|
def account_sid
|
333
333
|
@properties['account_sid']
|
334
334
|
end
|
@@ -340,13 +340,13 @@ module Twilio
|
|
340
340
|
end
|
341
341
|
|
342
342
|
##
|
343
|
-
# @return [String] The unique
|
343
|
+
# @return [String] The unique ID for the call leg that corresponds to the recording.
|
344
344
|
def call_sid
|
345
345
|
@properties['call_sid']
|
346
346
|
end
|
347
347
|
|
348
348
|
##
|
349
|
-
# @return [String] The unique
|
349
|
+
# @return [String] The unique ID for the conference associated with the recording.
|
350
350
|
def conference_sid
|
351
351
|
@properties['conference_sid']
|
352
352
|
end
|
@@ -364,13 +364,13 @@ module Twilio
|
|
364
364
|
end
|
365
365
|
|
366
366
|
##
|
367
|
-
# @return [Time] The start time of the recording,
|
367
|
+
# @return [Time] The start time of the recording, in RFC 2822 format.
|
368
368
|
def start_time
|
369
369
|
@properties['start_time']
|
370
370
|
end
|
371
371
|
|
372
372
|
##
|
373
|
-
# @return [String] The length of the recording
|
373
|
+
# @return [String] The length of the recording in seconds.
|
374
374
|
def duration
|
375
375
|
@properties['duration']
|
376
376
|
end
|
@@ -116,9 +116,14 @@ module Twilio
|
|
116
116
|
# Request is executed immediately.
|
117
117
|
# @param [String] friendly_name The friendly_name
|
118
118
|
# @param [String] ip_address The ip_address
|
119
|
+
# @param [String] cidr_prefix_length The cidr_prefix_length
|
119
120
|
# @return [IpAddressInstance] Newly created IpAddressInstance
|
120
|
-
def create(friendly_name: nil, ip_address: nil)
|
121
|
-
data = Twilio::Values.of({
|
121
|
+
def create(friendly_name: nil, ip_address: nil, cidr_prefix_length: :unset)
|
122
|
+
data = Twilio::Values.of({
|
123
|
+
'FriendlyName' => friendly_name,
|
124
|
+
'IpAddress' => ip_address,
|
125
|
+
'CidrPrefixLength' => cidr_prefix_length,
|
126
|
+
})
|
122
127
|
|
123
128
|
payload = @version.create(
|
124
129
|
'POST',
|
@@ -220,9 +225,14 @@ module Twilio
|
|
220
225
|
# Update the IpAddressInstance
|
221
226
|
# @param [String] ip_address The ip_address
|
222
227
|
# @param [String] friendly_name The friendly_name
|
228
|
+
# @param [String] cidr_prefix_length The cidr_prefix_length
|
223
229
|
# @return [IpAddressInstance] Updated IpAddressInstance
|
224
|
-
def update(ip_address: :unset, friendly_name: :unset)
|
225
|
-
data = Twilio::Values.of({
|
230
|
+
def update(ip_address: :unset, friendly_name: :unset, cidr_prefix_length: :unset)
|
231
|
+
data = Twilio::Values.of({
|
232
|
+
'IpAddress' => ip_address,
|
233
|
+
'FriendlyName' => friendly_name,
|
234
|
+
'CidrPrefixLength' => cidr_prefix_length,
|
235
|
+
})
|
226
236
|
|
227
237
|
payload = @version.update(
|
228
238
|
'POST',
|
@@ -273,6 +283,7 @@ module Twilio
|
|
273
283
|
'account_sid' => payload['account_sid'],
|
274
284
|
'friendly_name' => payload['friendly_name'],
|
275
285
|
'ip_address' => payload['ip_address'],
|
286
|
+
'cidr_prefix_length' => payload['cidr_prefix_length'].to_i,
|
276
287
|
'ip_access_control_list_sid' => payload['ip_access_control_list_sid'],
|
277
288
|
'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
|
278
289
|
'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
|
@@ -328,6 +339,12 @@ module Twilio
|
|
328
339
|
@properties['ip_address']
|
329
340
|
end
|
330
341
|
|
342
|
+
##
|
343
|
+
# @return [String] An integer representing the length of the CIDR prefix to use with this IP address when accepting traffic. By default the entire IP address is used.
|
344
|
+
def cidr_prefix_length
|
345
|
+
@properties['cidr_prefix_length']
|
346
|
+
end
|
347
|
+
|
331
348
|
##
|
332
349
|
# @return [String] The ip_access_control_list_sid
|
333
350
|
def ip_access_control_list_sid
|
@@ -363,9 +380,14 @@ module Twilio
|
|
363
380
|
# Update the IpAddressInstance
|
364
381
|
# @param [String] ip_address The ip_address
|
365
382
|
# @param [String] friendly_name The friendly_name
|
383
|
+
# @param [String] cidr_prefix_length The cidr_prefix_length
|
366
384
|
# @return [IpAddressInstance] Updated IpAddressInstance
|
367
|
-
def update(ip_address: :unset, friendly_name: :unset)
|
368
|
-
context.update(
|
385
|
+
def update(ip_address: :unset, friendly_name: :unset, cidr_prefix_length: :unset)
|
386
|
+
context.update(
|
387
|
+
ip_address: ip_address,
|
388
|
+
friendly_name: friendly_name,
|
389
|
+
cidr_prefix_length: cidr_prefix_length,
|
390
|
+
)
|
369
391
|
end
|
370
392
|
|
371
393
|
##
|
@@ -134,6 +134,14 @@ module Twilio
|
|
134
134
|
self.hosted_numbers.hosted_number_orders(sid)
|
135
135
|
end
|
136
136
|
|
137
|
+
##
|
138
|
+
# @param [String] sid A 34 character string that uniquely identifies this Add-on.
|
139
|
+
# @return [Twilio::REST::Preview::Marketplace::AvailableAddOnInstance] if sid was passed.
|
140
|
+
# @return [Twilio::REST::Preview::Marketplace::AvailableAddOnList]
|
141
|
+
def available_add_ons(sid=:unset)
|
142
|
+
self.marketplace.available_add_ons(sid)
|
143
|
+
end
|
144
|
+
|
137
145
|
##
|
138
146
|
# @param [String] sid 34 character string that uniquely identifies the Add-on.
|
139
147
|
# This Sid can also be found in the Console on that specific Add-ons page as the
|
@@ -144,14 +152,6 @@ module Twilio
|
|
144
152
|
self.marketplace.installed_add_ons(sid)
|
145
153
|
end
|
146
154
|
|
147
|
-
##
|
148
|
-
# @param [String] sid A 34 character string that uniquely identifies this Add-on.
|
149
|
-
# @return [Twilio::REST::Preview::Marketplace::AvailableAddOnInstance] if sid was passed.
|
150
|
-
# @return [Twilio::REST::Preview::Marketplace::AvailableAddOnList]
|
151
|
-
def available_add_ons(sid=:unset)
|
152
|
-
self.marketplace.available_add_ons(sid)
|
153
|
-
end
|
154
|
-
|
155
155
|
##
|
156
156
|
# @param [String] sid The sid
|
157
157
|
# @return [Twilio::REST::Preview::Sync::ServiceInstance] if sid was passed.
|
@@ -137,14 +137,20 @@ module Twilio
|
|
137
137
|
# Address resource that is associated with this AuthorizationDocument.
|
138
138
|
# @param [String] email Email that this AuthorizationDocument will be sent to for
|
139
139
|
# signing.
|
140
|
+
# @param [String] contact_title The title of the person authorized to sign the
|
141
|
+
# Authorization Document for this phone number.
|
142
|
+
# @param [String] contact_phone_number The contact phone number of the person
|
143
|
+
# authorized to sign the Authorization Document.
|
140
144
|
# @param [String] cc_emails Email recipients who will be informed when an
|
141
145
|
# Authorization Document has been sent and signed.
|
142
146
|
# @return [AuthorizationDocumentInstance] Newly created AuthorizationDocumentInstance
|
143
|
-
def create(hosted_number_order_sids: nil, address_sid: nil, email: nil, cc_emails: :unset)
|
147
|
+
def create(hosted_number_order_sids: nil, address_sid: nil, email: nil, contact_title: nil, contact_phone_number: nil, cc_emails: :unset)
|
144
148
|
data = Twilio::Values.of({
|
145
149
|
'HostedNumberOrderSids' => Twilio.serialize_list(hosted_number_order_sids) { |e| e },
|
146
150
|
'AddressSid' => address_sid,
|
147
151
|
'Email' => email,
|
152
|
+
'ContactTitle' => contact_title,
|
153
|
+
'ContactPhoneNumber' => contact_phone_number,
|
148
154
|
'CcEmails' => Twilio.serialize_list(cc_emails) { |e| e },
|
149
155
|
})
|
150
156
|
|
@@ -245,14 +251,20 @@ module Twilio
|
|
245
251
|
# can hold one of the values: 1. opened 2. signing, 3. signed LOA, 4. canceled, 5.
|
246
252
|
# failed. See the section entitled [Status
|
247
253
|
# Values](https://www.twilio.com/docs/api/phone-numbers/hosted-number-authorization-documents#status-values) for more information on each of these statuses.
|
254
|
+
# @param [String] contact_title The title of the person authorized to sign the
|
255
|
+
# Authorization Document for this phone number.
|
256
|
+
# @param [String] contact_phone_number The contact phone number of the person
|
257
|
+
# authorized to sign the Authorization Document.
|
248
258
|
# @return [AuthorizationDocumentInstance] Updated AuthorizationDocumentInstance
|
249
|
-
def update(hosted_number_order_sids: :unset, address_sid: :unset, email: :unset, cc_emails: :unset, status: :unset)
|
259
|
+
def update(hosted_number_order_sids: :unset, address_sid: :unset, email: :unset, cc_emails: :unset, status: :unset, contact_title: :unset, contact_phone_number: :unset)
|
250
260
|
data = Twilio::Values.of({
|
251
261
|
'HostedNumberOrderSids' => Twilio.serialize_list(hosted_number_order_sids) { |e| e },
|
252
262
|
'AddressSid' => address_sid,
|
253
263
|
'Email' => email,
|
254
264
|
'CcEmails' => Twilio.serialize_list(cc_emails) { |e| e },
|
255
265
|
'Status' => status,
|
266
|
+
'ContactTitle' => contact_title,
|
267
|
+
'ContactPhoneNumber' => contact_phone_number,
|
256
268
|
})
|
257
269
|
|
258
270
|
payload = @version.update(
|
@@ -405,14 +417,20 @@ module Twilio
|
|
405
417
|
# can hold one of the values: 1. opened 2. signing, 3. signed LOA, 4. canceled, 5.
|
406
418
|
# failed. See the section entitled [Status
|
407
419
|
# Values](https://www.twilio.com/docs/api/phone-numbers/hosted-number-authorization-documents#status-values) for more information on each of these statuses.
|
420
|
+
# @param [String] contact_title The title of the person authorized to sign the
|
421
|
+
# Authorization Document for this phone number.
|
422
|
+
# @param [String] contact_phone_number The contact phone number of the person
|
423
|
+
# authorized to sign the Authorization Document.
|
408
424
|
# @return [AuthorizationDocumentInstance] Updated AuthorizationDocumentInstance
|
409
|
-
def update(hosted_number_order_sids: :unset, address_sid: :unset, email: :unset, cc_emails: :unset, status: :unset)
|
425
|
+
def update(hosted_number_order_sids: :unset, address_sid: :unset, email: :unset, cc_emails: :unset, status: :unset, contact_title: :unset, contact_phone_number: :unset)
|
410
426
|
context.update(
|
411
427
|
hosted_number_order_sids: hosted_number_order_sids,
|
412
428
|
address_sid: address_sid,
|
413
429
|
email: email,
|
414
430
|
cc_emails: cc_emails,
|
415
431
|
status: status,
|
432
|
+
contact_title: contact_title,
|
433
|
+
contact_phone_number: contact_phone_number,
|
416
434
|
)
|
417
435
|
end
|
418
436
|
|
@@ -15,37 +15,37 @@ module Twilio
|
|
15
15
|
def initialize(domain)
|
16
16
|
super
|
17
17
|
@version = 'marketplace'
|
18
|
-
@installed_add_ons = nil
|
19
18
|
@available_add_ons = nil
|
19
|
+
@installed_add_ons = nil
|
20
20
|
end
|
21
21
|
|
22
22
|
##
|
23
|
-
# @param [String] sid The
|
23
|
+
# @param [String] sid The Available Add-on Sid that uniquely identifies this
|
24
24
|
# resource
|
25
|
-
# @return [Twilio::REST::Preview::Marketplace::
|
26
|
-
# @return [Twilio::REST::Preview::Marketplace::
|
27
|
-
def
|
25
|
+
# @return [Twilio::REST::Preview::Marketplace::AvailableAddOnContext] if sid was passed.
|
26
|
+
# @return [Twilio::REST::Preview::Marketplace::AvailableAddOnList]
|
27
|
+
def available_add_ons(sid=:unset)
|
28
28
|
if sid.nil?
|
29
29
|
raise ArgumentError, 'sid cannot be nil'
|
30
30
|
elsif sid == :unset
|
31
|
-
@
|
31
|
+
@available_add_ons ||= AvailableAddOnList.new self
|
32
32
|
else
|
33
|
-
|
33
|
+
AvailableAddOnContext.new(self, sid)
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
37
|
##
|
38
|
-
# @param [String] sid The
|
38
|
+
# @param [String] sid The Installed Add-on Sid that uniquely identifies this
|
39
39
|
# resource
|
40
|
-
# @return [Twilio::REST::Preview::Marketplace::
|
41
|
-
# @return [Twilio::REST::Preview::Marketplace::
|
42
|
-
def
|
40
|
+
# @return [Twilio::REST::Preview::Marketplace::InstalledAddOnContext] if sid was passed.
|
41
|
+
# @return [Twilio::REST::Preview::Marketplace::InstalledAddOnList]
|
42
|
+
def installed_add_ons(sid=:unset)
|
43
43
|
if sid.nil?
|
44
44
|
raise ArgumentError, 'sid cannot be nil'
|
45
45
|
elsif sid == :unset
|
46
|
-
@
|
46
|
+
@installed_add_ons ||= InstalledAddOnList.new self
|
47
47
|
else
|
48
|
-
|
48
|
+
InstalledAddOnContext.new(self, sid)
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
@@ -162,6 +162,7 @@ module Twilio
|
|
162
162
|
|
163
163
|
# Dependents
|
164
164
|
@engagements = nil
|
165
|
+
@executions = nil
|
165
166
|
end
|
166
167
|
|
167
168
|
##
|
@@ -204,6 +205,24 @@ module Twilio
|
|
204
205
|
@engagements
|
205
206
|
end
|
206
207
|
|
208
|
+
##
|
209
|
+
# Access the executions
|
210
|
+
# @return [ExecutionList]
|
211
|
+
# @return [ExecutionContext] if sid was passed.
|
212
|
+
def executions(sid=:unset)
|
213
|
+
raise ArgumentError, 'sid cannot be nil' if sid.nil?
|
214
|
+
|
215
|
+
if sid != :unset
|
216
|
+
return ExecutionContext.new(@version, @solution[:sid], sid, )
|
217
|
+
end
|
218
|
+
|
219
|
+
unless @executions
|
220
|
+
@executions = ExecutionList.new(@version, flow_sid: @solution[:sid], )
|
221
|
+
end
|
222
|
+
|
223
|
+
@executions
|
224
|
+
end
|
225
|
+
|
207
226
|
##
|
208
227
|
# Provide a user friendly representation
|
209
228
|
def to_s
|
@@ -328,6 +347,13 @@ module Twilio
|
|
328
347
|
context.engagements
|
329
348
|
end
|
330
349
|
|
350
|
+
##
|
351
|
+
# Access the executions
|
352
|
+
# @return [executions] executions
|
353
|
+
def executions
|
354
|
+
context.executions
|
355
|
+
end
|
356
|
+
|
331
357
|
##
|
332
358
|
# Provide a user friendly representation
|
333
359
|
def to_s
|
@@ -0,0 +1,410 @@
|
|
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 Studio < Domain
|
12
|
+
class V1 < Version
|
13
|
+
class FlowContext < InstanceContext
|
14
|
+
##
|
15
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
16
|
+
class ExecutionList < ListResource
|
17
|
+
##
|
18
|
+
# Initialize the ExecutionList
|
19
|
+
# @param [Version] version Version that contains the resource
|
20
|
+
# @param [String] flow_sid The flow_sid
|
21
|
+
# @return [ExecutionList] ExecutionList
|
22
|
+
def initialize(version, flow_sid: nil)
|
23
|
+
super(version)
|
24
|
+
|
25
|
+
# Path Solution
|
26
|
+
@solution = {flow_sid: flow_sid}
|
27
|
+
@uri = "/Flows/#{@solution[:flow_sid]}/Executions"
|
28
|
+
end
|
29
|
+
|
30
|
+
##
|
31
|
+
# Lists ExecutionInstance records from the API as a list.
|
32
|
+
# Unlike stream(), this operation is eager and will load `limit` records into
|
33
|
+
# memory before returning.
|
34
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
35
|
+
# guarantees to never return more than limit. Default is no limit
|
36
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
37
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
38
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
39
|
+
# efficient page size, i.e. min(limit, 1000)
|
40
|
+
# @return [Array] Array of up to limit results
|
41
|
+
def list(limit: nil, page_size: nil)
|
42
|
+
self.stream(limit: limit, page_size: page_size).entries
|
43
|
+
end
|
44
|
+
|
45
|
+
##
|
46
|
+
# Streams ExecutionInstance records from the API as an Enumerable.
|
47
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
48
|
+
# is reached.
|
49
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
50
|
+
# guarantees to never return more than limit. Default is no limit.
|
51
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
52
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
53
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
54
|
+
# efficient page size, i.e. min(limit, 1000)
|
55
|
+
# @return [Enumerable] Enumerable that will yield up to limit results
|
56
|
+
def stream(limit: nil, page_size: nil)
|
57
|
+
limits = @version.read_limits(limit, page_size)
|
58
|
+
|
59
|
+
page = self.page(page_size: limits[:page_size], )
|
60
|
+
|
61
|
+
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
62
|
+
end
|
63
|
+
|
64
|
+
##
|
65
|
+
# When passed a block, yields ExecutionInstance records from the API.
|
66
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
67
|
+
# is reached.
|
68
|
+
def each
|
69
|
+
limits = @version.read_limits
|
70
|
+
|
71
|
+
page = self.page(page_size: limits[:page_size], )
|
72
|
+
|
73
|
+
@version.stream(page,
|
74
|
+
limit: limits[:limit],
|
75
|
+
page_limit: limits[:page_limit]).each {|x| yield x}
|
76
|
+
end
|
77
|
+
|
78
|
+
##
|
79
|
+
# Retrieve a single page of ExecutionInstance records from the API.
|
80
|
+
# Request is executed immediately.
|
81
|
+
# @param [String] page_token PageToken provided by the API
|
82
|
+
# @param [Integer] page_number Page Number, this value is simply for client state
|
83
|
+
# @param [Integer] page_size Number of records to return, defaults to 50
|
84
|
+
# @return [Page] Page of ExecutionInstance
|
85
|
+
def page(page_token: :unset, page_number: :unset, page_size: :unset)
|
86
|
+
params = Twilio::Values.of({
|
87
|
+
'PageToken' => page_token,
|
88
|
+
'Page' => page_number,
|
89
|
+
'PageSize' => page_size,
|
90
|
+
})
|
91
|
+
response = @version.page(
|
92
|
+
'GET',
|
93
|
+
@uri,
|
94
|
+
params
|
95
|
+
)
|
96
|
+
ExecutionPage.new(@version, response, @solution)
|
97
|
+
end
|
98
|
+
|
99
|
+
##
|
100
|
+
# Retrieve a single page of ExecutionInstance records from the API.
|
101
|
+
# Request is executed immediately.
|
102
|
+
# @param [String] target_url API-generated URL for the requested results page
|
103
|
+
# @return [Page] Page of ExecutionInstance
|
104
|
+
def get_page(target_url)
|
105
|
+
response = @version.domain.request(
|
106
|
+
'GET',
|
107
|
+
target_url
|
108
|
+
)
|
109
|
+
ExecutionPage.new(@version, response, @solution)
|
110
|
+
end
|
111
|
+
|
112
|
+
##
|
113
|
+
# Retrieve a single page of ExecutionInstance records from the API.
|
114
|
+
# Request is executed immediately.
|
115
|
+
# @param [String] to The to
|
116
|
+
# @param [String] from The from
|
117
|
+
# @param [Hash] parameters The parameters
|
118
|
+
# @return [ExecutionInstance] Newly created ExecutionInstance
|
119
|
+
def create(to: nil, from: nil, parameters: :unset)
|
120
|
+
data = Twilio::Values.of({
|
121
|
+
'To' => to,
|
122
|
+
'From' => from,
|
123
|
+
'Parameters' => Twilio.serialize_object(parameters),
|
124
|
+
})
|
125
|
+
|
126
|
+
payload = @version.create(
|
127
|
+
'POST',
|
128
|
+
@uri,
|
129
|
+
data: data
|
130
|
+
)
|
131
|
+
|
132
|
+
ExecutionInstance.new(@version, payload, flow_sid: @solution[:flow_sid], )
|
133
|
+
end
|
134
|
+
|
135
|
+
##
|
136
|
+
# Provide a user friendly representation
|
137
|
+
def to_s
|
138
|
+
'#<Twilio.Studio.V1.ExecutionList>'
|
139
|
+
end
|
140
|
+
end
|
141
|
+
|
142
|
+
##
|
143
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
144
|
+
class ExecutionPage < Page
|
145
|
+
##
|
146
|
+
# Initialize the ExecutionPage
|
147
|
+
# @param [Version] version Version that contains the resource
|
148
|
+
# @param [Response] response Response from the API
|
149
|
+
# @param [Hash] solution Path solution for the resource
|
150
|
+
# @return [ExecutionPage] ExecutionPage
|
151
|
+
def initialize(version, response, solution)
|
152
|
+
super(version, response)
|
153
|
+
|
154
|
+
# Path Solution
|
155
|
+
@solution = solution
|
156
|
+
end
|
157
|
+
|
158
|
+
##
|
159
|
+
# Build an instance of ExecutionInstance
|
160
|
+
# @param [Hash] payload Payload response from the API
|
161
|
+
# @return [ExecutionInstance] ExecutionInstance
|
162
|
+
def get_instance(payload)
|
163
|
+
ExecutionInstance.new(@version, payload, flow_sid: @solution[:flow_sid], )
|
164
|
+
end
|
165
|
+
|
166
|
+
##
|
167
|
+
# Provide a user friendly representation
|
168
|
+
def to_s
|
169
|
+
'<Twilio.Studio.V1.ExecutionPage>'
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
173
|
+
##
|
174
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
175
|
+
class ExecutionContext < InstanceContext
|
176
|
+
##
|
177
|
+
# Initialize the ExecutionContext
|
178
|
+
# @param [Version] version Version that contains the resource
|
179
|
+
# @param [String] flow_sid The flow_sid
|
180
|
+
# @param [String] sid The sid
|
181
|
+
# @return [ExecutionContext] ExecutionContext
|
182
|
+
def initialize(version, flow_sid, sid)
|
183
|
+
super(version)
|
184
|
+
|
185
|
+
# Path Solution
|
186
|
+
@solution = {flow_sid: flow_sid, sid: sid, }
|
187
|
+
@uri = "/Flows/#{@solution[:flow_sid]}/Executions/#{@solution[:sid]}"
|
188
|
+
|
189
|
+
# Dependents
|
190
|
+
@steps = nil
|
191
|
+
@execution_context = nil
|
192
|
+
end
|
193
|
+
|
194
|
+
##
|
195
|
+
# Fetch a ExecutionInstance
|
196
|
+
# @return [ExecutionInstance] Fetched ExecutionInstance
|
197
|
+
def fetch
|
198
|
+
params = Twilio::Values.of({})
|
199
|
+
|
200
|
+
payload = @version.fetch(
|
201
|
+
'GET',
|
202
|
+
@uri,
|
203
|
+
params,
|
204
|
+
)
|
205
|
+
|
206
|
+
ExecutionInstance.new(@version, payload, flow_sid: @solution[:flow_sid], sid: @solution[:sid], )
|
207
|
+
end
|
208
|
+
|
209
|
+
##
|
210
|
+
# Deletes the ExecutionInstance
|
211
|
+
# @return [Boolean] true if delete succeeds, true otherwise
|
212
|
+
def delete
|
213
|
+
@version.delete('delete', @uri)
|
214
|
+
end
|
215
|
+
|
216
|
+
##
|
217
|
+
# Access the steps
|
218
|
+
# @return [ExecutionStepList]
|
219
|
+
# @return [ExecutionStepContext] if sid was passed.
|
220
|
+
def steps(sid=:unset)
|
221
|
+
raise ArgumentError, 'sid cannot be nil' if sid.nil?
|
222
|
+
|
223
|
+
if sid != :unset
|
224
|
+
return ExecutionStepContext.new(@version, @solution[:flow_sid], @solution[:sid], sid, )
|
225
|
+
end
|
226
|
+
|
227
|
+
unless @steps
|
228
|
+
@steps = ExecutionStepList.new(
|
229
|
+
@version,
|
230
|
+
flow_sid: @solution[:flow_sid],
|
231
|
+
execution_sid: @solution[:sid],
|
232
|
+
)
|
233
|
+
end
|
234
|
+
|
235
|
+
@steps
|
236
|
+
end
|
237
|
+
|
238
|
+
##
|
239
|
+
# Access the execution_context
|
240
|
+
# @return [ExecutionContextList]
|
241
|
+
# @return [ExecutionContextContext]
|
242
|
+
def execution_context
|
243
|
+
ExecutionContextContext.new(@version, @solution[:flow_sid], @solution[:sid], )
|
244
|
+
end
|
245
|
+
|
246
|
+
##
|
247
|
+
# Provide a user friendly representation
|
248
|
+
def to_s
|
249
|
+
context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
|
250
|
+
"#<Twilio.Studio.V1.ExecutionContext #{context}>"
|
251
|
+
end
|
252
|
+
end
|
253
|
+
|
254
|
+
##
|
255
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
256
|
+
class ExecutionInstance < InstanceResource
|
257
|
+
##
|
258
|
+
# Initialize the ExecutionInstance
|
259
|
+
# @param [Version] version Version that contains the resource
|
260
|
+
# @param [Hash] payload payload that contains response from Twilio
|
261
|
+
# @param [String] flow_sid The flow_sid
|
262
|
+
# @param [String] sid The sid
|
263
|
+
# @return [ExecutionInstance] ExecutionInstance
|
264
|
+
def initialize(version, payload, flow_sid: nil, sid: nil)
|
265
|
+
super(version)
|
266
|
+
|
267
|
+
# Marshaled Properties
|
268
|
+
@properties = {
|
269
|
+
'sid' => payload['sid'],
|
270
|
+
'account_sid' => payload['account_sid'],
|
271
|
+
'flow_sid' => payload['flow_sid'],
|
272
|
+
'contact_sid' => payload['contact_sid'],
|
273
|
+
'contact_channel_address' => payload['contact_channel_address'],
|
274
|
+
'context' => payload['context'],
|
275
|
+
'status' => payload['status'],
|
276
|
+
'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
|
277
|
+
'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
|
278
|
+
'url' => payload['url'],
|
279
|
+
'links' => payload['links'],
|
280
|
+
}
|
281
|
+
|
282
|
+
# Context
|
283
|
+
@instance_context = nil
|
284
|
+
@params = {'flow_sid' => flow_sid, 'sid' => sid || @properties['sid'], }
|
285
|
+
end
|
286
|
+
|
287
|
+
##
|
288
|
+
# Generate an instance context for the instance, the context is capable of
|
289
|
+
# performing various actions. All instance actions are proxied to the context
|
290
|
+
# @return [ExecutionContext] ExecutionContext for this ExecutionInstance
|
291
|
+
def context
|
292
|
+
unless @instance_context
|
293
|
+
@instance_context = ExecutionContext.new(@version, @params['flow_sid'], @params['sid'], )
|
294
|
+
end
|
295
|
+
@instance_context
|
296
|
+
end
|
297
|
+
|
298
|
+
##
|
299
|
+
# @return [String] The sid
|
300
|
+
def sid
|
301
|
+
@properties['sid']
|
302
|
+
end
|
303
|
+
|
304
|
+
##
|
305
|
+
# @return [String] The account_sid
|
306
|
+
def account_sid
|
307
|
+
@properties['account_sid']
|
308
|
+
end
|
309
|
+
|
310
|
+
##
|
311
|
+
# @return [String] The flow_sid
|
312
|
+
def flow_sid
|
313
|
+
@properties['flow_sid']
|
314
|
+
end
|
315
|
+
|
316
|
+
##
|
317
|
+
# @return [String] The contact_sid
|
318
|
+
def contact_sid
|
319
|
+
@properties['contact_sid']
|
320
|
+
end
|
321
|
+
|
322
|
+
##
|
323
|
+
# @return [String] The contact_channel_address
|
324
|
+
def contact_channel_address
|
325
|
+
@properties['contact_channel_address']
|
326
|
+
end
|
327
|
+
|
328
|
+
##
|
329
|
+
# @return [Hash] The context
|
330
|
+
def context
|
331
|
+
@properties['context']
|
332
|
+
end
|
333
|
+
|
334
|
+
##
|
335
|
+
# @return [execution.Status] The status
|
336
|
+
def status
|
337
|
+
@properties['status']
|
338
|
+
end
|
339
|
+
|
340
|
+
##
|
341
|
+
# @return [Time] The date_created
|
342
|
+
def date_created
|
343
|
+
@properties['date_created']
|
344
|
+
end
|
345
|
+
|
346
|
+
##
|
347
|
+
# @return [Time] The date_updated
|
348
|
+
def date_updated
|
349
|
+
@properties['date_updated']
|
350
|
+
end
|
351
|
+
|
352
|
+
##
|
353
|
+
# @return [String] The url
|
354
|
+
def url
|
355
|
+
@properties['url']
|
356
|
+
end
|
357
|
+
|
358
|
+
##
|
359
|
+
# @return [String] The links
|
360
|
+
def links
|
361
|
+
@properties['links']
|
362
|
+
end
|
363
|
+
|
364
|
+
##
|
365
|
+
# Fetch a ExecutionInstance
|
366
|
+
# @return [ExecutionInstance] Fetched ExecutionInstance
|
367
|
+
def fetch
|
368
|
+
context.fetch
|
369
|
+
end
|
370
|
+
|
371
|
+
##
|
372
|
+
# Deletes the ExecutionInstance
|
373
|
+
# @return [Boolean] true if delete succeeds, true otherwise
|
374
|
+
def delete
|
375
|
+
context.delete
|
376
|
+
end
|
377
|
+
|
378
|
+
##
|
379
|
+
# Access the steps
|
380
|
+
# @return [steps] steps
|
381
|
+
def steps
|
382
|
+
context.steps
|
383
|
+
end
|
384
|
+
|
385
|
+
##
|
386
|
+
# Access the execution_context
|
387
|
+
# @return [execution_context] execution_context
|
388
|
+
def execution_context
|
389
|
+
context.execution_context
|
390
|
+
end
|
391
|
+
|
392
|
+
##
|
393
|
+
# Provide a user friendly representation
|
394
|
+
def to_s
|
395
|
+
values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
|
396
|
+
"<Twilio.Studio.V1.ExecutionInstance #{values}>"
|
397
|
+
end
|
398
|
+
|
399
|
+
##
|
400
|
+
# Provide a detailed, user friendly representation
|
401
|
+
def inspect
|
402
|
+
values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
|
403
|
+
"<Twilio.Studio.V1.ExecutionInstance #{values}>"
|
404
|
+
end
|
405
|
+
end
|
406
|
+
end
|
407
|
+
end
|
408
|
+
end
|
409
|
+
end
|
410
|
+
end
|