twilio-ruby 5.27.0 → 5.27.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +1 -0
  3. data/CHANGES.md +13 -0
  4. data/CONTRIBUTING.md +2 -0
  5. data/Dockerfile +2 -2
  6. data/README.md +2 -2
  7. data/lib/twilio-ruby/http/http_client.rb +1 -1
  8. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +18 -18
  9. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +9 -9
  10. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +9 -9
  11. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +5 -5
  12. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +10 -1
  13. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +1 -1
  14. data/lib/twilio-ruby/rest/fax/v1/fax.rb +12 -12
  15. data/lib/twilio-ruby/rest/flex_api.rb +6 -3
  16. data/lib/twilio-ruby/rest/flex_api/v1.rb +3 -3
  17. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +23 -23
  18. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +39 -37
  19. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +102 -96
  20. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +20 -20
  21. data/lib/twilio-ruby/rest/messaging.rb +3 -2
  22. data/lib/twilio-ruby/rest/messaging/v1.rb +2 -3
  23. data/lib/twilio-ruby/rest/messaging/v1/service.rb +124 -91
  24. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +22 -18
  25. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +22 -16
  26. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +18 -20
  27. data/lib/twilio-ruby/rest/messaging/v1/session.rb +48 -44
  28. data/lib/twilio-ruby/rest/messaging/v1/session/message.rb +46 -48
  29. data/lib/twilio-ruby/rest/messaging/v1/session/participant.rb +55 -62
  30. data/lib/twilio-ruby/rest/messaging/v1/session/webhook.rb +61 -65
  31. data/lib/twilio-ruby/rest/messaging/v1/webhook.rb +30 -36
  32. data/lib/twilio-ruby/rest/monitor.rb +4 -2
  33. data/lib/twilio-ruby/rest/monitor/v1.rb +2 -2
  34. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +45 -57
  35. data/lib/twilio-ruby/rest/monitor/v1/event.rb +47 -50
  36. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +8 -8
  37. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +3 -3
  38. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_call.rb +6 -6
  39. data/lib/twilio-ruby/rest/preview/trusted_comms/device.rb +1 -1
  40. data/lib/twilio-ruby/rest/preview/trusted_comms/phone_call.rb +55 -55
  41. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +2 -2
  42. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +4 -4
  43. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +1 -1
  44. data/lib/twilio-ruby/rest/serverless.rb +2 -1
  45. data/lib/twilio-ruby/rest/serverless/v1.rb +1 -2
  46. data/lib/twilio-ruby/rest/serverless/v1/service.rb +27 -28
  47. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +22 -22
  48. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +22 -22
  49. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +25 -24
  50. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +26 -24
  51. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +21 -24
  52. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +31 -31
  53. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +35 -35
  54. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +22 -22
  55. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +22 -22
  56. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +12 -12
  57. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +7 -4
  58. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +6 -3
  59. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +15 -9
  60. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +6 -3
  61. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +15 -9
  62. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +9 -6
  63. data/lib/twilio-ruby/rest/taskrouter.rb +2 -1
  64. data/lib/twilio-ruby/rest/taskrouter/v1.rb +1 -1
  65. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +102 -95
  66. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +52 -44
  67. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +90 -81
  68. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +152 -136
  69. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +35 -29
  70. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +96 -89
  71. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +61 -61
  72. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +27 -21
  73. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +46 -46
  74. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +57 -64
  75. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +98 -79
  76. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +41 -39
  77. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +39 -33
  78. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +32 -31
  79. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +16 -11
  80. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +42 -42
  81. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +75 -72
  82. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +59 -51
  83. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +24 -18
  84. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +54 -46
  85. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +48 -46
  86. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +17 -17
  87. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +44 -42
  88. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +24 -18
  89. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +3 -3
  90. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +1 -2
  91. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +1 -2
  92. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +12 -12
  93. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +6 -6
  94. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +6 -6
  95. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +2 -1
  96. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +2 -1
  97. data/lib/twilio-ruby/rest/video.rb +8 -8
  98. data/lib/twilio-ruby/rest/video/v1.rb +4 -7
  99. data/lib/twilio-ruby/rest/video/v1/composition.rb +89 -98
  100. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +224 -195
  101. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +34 -34
  102. data/lib/twilio-ruby/rest/video/v1/recording.rb +53 -55
  103. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +32 -32
  104. data/lib/twilio-ruby/rest/video/v1/room.rb +71 -61
  105. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +45 -33
  106. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +56 -57
  107. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +25 -22
  108. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +10 -10
  109. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +24 -23
  110. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +1 -1
  111. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +5 -5
  112. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +2 -2
  113. data/lib/twilio-ruby/version.rb +1 -1
  114. data/spec/integration/conversations/v1/conversation/message_spec.rb +58 -0
  115. metadata +4 -4
@@ -24,8 +24,7 @@ module Twilio
24
24
  end
25
25
 
26
26
  ##
27
- # @param [String] sid The Composition Hook Sid that uniquely identifies the
28
- # Composition Hook to fetch.
27
+ # @param [String] sid The SID of the CompositionHook resource to fetch.
29
28
  # @return [Twilio::REST::Video::V1::CompositionHookContext] if sid was passed.
30
29
  # @return [Twilio::REST::Video::V1::CompositionHookList]
31
30
  def composition_hooks(sid=:unset)
@@ -45,8 +44,7 @@ module Twilio
45
44
  end
46
45
 
47
46
  ##
48
- # @param [String] sid The Recording Sid that uniquely identifies the Recording to
49
- # fetch.
47
+ # @param [String] sid The SID of the Recording resource to fetch.
50
48
  # @return [Twilio::REST::Video::V1::RecordingContext] if sid was passed.
51
49
  # @return [Twilio::REST::Video::V1::RecordingList]
52
50
  def recordings(sid=:unset)
@@ -66,8 +64,7 @@ module Twilio
66
64
  end
67
65
 
68
66
  ##
69
- # @param [String] sid The Composition Sid that uniquely identifies the Composition
70
- # to fetch.
67
+ # @param [String] sid The SID of the Composition resource to fetch.
71
68
  # @return [Twilio::REST::Video::V1::CompositionContext] if sid was passed.
72
69
  # @return [Twilio::REST::Video::V1::CompositionList]
73
70
  def compositions(sid=:unset)
@@ -81,7 +78,7 @@ module Twilio
81
78
  end
82
79
 
83
80
  ##
84
- # @param [String] sid The Room Sid or name that uniquely identifies this resource.
81
+ # @param [String] sid The SID of the Room resource to fetch.
85
82
  # @return [Twilio::REST::Video::V1::RoomContext] if sid was passed.
86
83
  # @return [Twilio::REST::Video::V1::RoomList]
87
84
  def rooms(sid=:unset)
@@ -29,14 +29,14 @@ module Twilio
29
29
  # Lists CompositionInstance records from the API as a list.
30
30
  # Unlike stream(), this operation is eager and will load `limit` records into
31
31
  # memory before returning.
32
- # @param [composition.Status] status Only show Compositions with the given status.
33
- # @param [Time] date_created_after Only show Compositions created on or after this
34
- # ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or
35
- # `YYYY-MM-DDThh:mm:ssZ`.
36
- # @param [Time] date_created_before Only show Compositions created before this
37
- # ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or
38
- # `YYYY-MM-DDThh:mm:ssZ`.
39
- # @param [String] room_sid Only show Compositions with the given Room SID.
32
+ # @param [composition.Status] status Read only Composition resources with this
33
+ # status. Can be: `enqueued`, `processing`, `completed`, `deleted`, or `failed`.
34
+ # @param [Time] date_created_after Read only Composition resources created on or
35
+ # after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with
36
+ # time zone.
37
+ # @param [Time] date_created_before Read only Composition resources created before
38
+ # this ISO 8601 date-time with time zone.
39
+ # @param [String] room_sid Read only Composition resources with this Room 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
42
42
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -59,14 +59,14 @@ module Twilio
59
59
  # Streams CompositionInstance records from the API as an Enumerable.
60
60
  # This operation lazily loads records as efficiently as possible until the limit
61
61
  # is reached.
62
- # @param [composition.Status] status Only show Compositions with the given status.
63
- # @param [Time] date_created_after Only show Compositions created on or after this
64
- # ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or
65
- # `YYYY-MM-DDThh:mm:ssZ`.
66
- # @param [Time] date_created_before Only show Compositions created before this
67
- # ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or
68
- # `YYYY-MM-DDThh:mm:ssZ`.
69
- # @param [String] room_sid Only show Compositions with the given Room SID.
62
+ # @param [composition.Status] status Read only Composition resources with this
63
+ # status. Can be: `enqueued`, `processing`, `completed`, `deleted`, or `failed`.
64
+ # @param [Time] date_created_after Read only Composition resources created on or
65
+ # after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with
66
+ # time zone.
67
+ # @param [Time] date_created_before Read only Composition resources created before
68
+ # this ISO 8601 date-time with time zone.
69
+ # @param [String] room_sid Read only Composition resources with this Room SID.
70
70
  # @param [Integer] limit Upper limit for the number of records to return. stream()
71
71
  # guarantees to never return more than limit. Default is no limit.
72
72
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -105,14 +105,14 @@ module Twilio
105
105
  ##
106
106
  # Retrieve a single page of CompositionInstance records from the API.
107
107
  # Request is executed immediately.
108
- # @param [composition.Status] status Only show Compositions with the given status.
109
- # @param [Time] date_created_after Only show Compositions created on or after this
110
- # ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or
111
- # `YYYY-MM-DDThh:mm:ssZ`.
112
- # @param [Time] date_created_before Only show Compositions created before this
113
- # ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or
114
- # `YYYY-MM-DDThh:mm:ssZ`.
115
- # @param [String] room_sid Only show Compositions with the given Room SID.
108
+ # @param [composition.Status] status Read only Composition resources with this
109
+ # status. Can be: `enqueued`, `processing`, `completed`, `deleted`, or `failed`.
110
+ # @param [Time] date_created_after Read only Composition resources created on or
111
+ # after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with
112
+ # time zone.
113
+ # @param [Time] date_created_before Read only Composition resources created before
114
+ # this ISO 8601 date-time with time zone.
115
+ # @param [String] room_sid Read only Composition resources with this Room SID.
116
116
  # @param [String] page_token PageToken provided by the API
117
117
  # @param [Integer] page_number Page Number, this value is simply for client state
118
118
  # @param [Integer] page_size Number of records to return, defaults to 50
@@ -151,38 +151,31 @@ module Twilio
151
151
  ##
152
152
  # Retrieve a single page of CompositionInstance records from the API.
153
153
  # Request is executed immediately.
154
- # @param [String] room_sid Group Room SID owning the media tracks to be used as
155
- # Composition sources.
156
- # @param [Hash] video_layout A JSON object defining the video layout of the
157
- # Composition in terms of regions. See the section [Specifying Video
158
- # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) below for further information.
159
- # @param [String] audio_sources An array of audio sources to merge. All the
160
- # specified sources must belong to the same Group Room. It can include:
154
+ # @param [String] room_sid The SID of the Group Room with the media tracks to be
155
+ # used as composition sources.
156
+ # @param [Hash] video_layout An object that describes the video layout of the
157
+ # composition in terms of regions. See [Specifying Video
158
+ # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
159
+ # @param [String] audio_sources An array of track names from the same group room
160
+ # to merge into the new composition. Can include zero or more track names. The new
161
+ # composition includes all audio sources specified in `audio_sources` except for
162
+ # those specified in `audio_sources_excluded`. The track names in this parameter
163
+ # can include an asterisk as a wild card character, which will match zero or more
164
+ # characters in a track name. For example, `student*` includes `student` as well
165
+ # as `studentTeam`.
166
+ # @param [String] audio_sources_excluded An array of track names to exclude. The
167
+ # new composition includes all audio sources specified in `audio_sources` except
168
+ # for those specified in `audio_sources_excluded`. The track names in this
169
+ # parameter can include an asterisk as a wild card character, which will match
170
+ # zero or more characters in a track name. For example, `student*` excludes
171
+ # `student` as well as `studentTeam`. This parameter can also be empty.
172
+ # @param [String] resolution A string that describes the columns (width) and rows
173
+ # (height) of the generated composed video in pixels. Defaults to `640x480`.
174
+ # The string's format is `{width}x{height}` where:
161
175
  #
162
- # * Zero or more `RecordingTrackSid`
163
- # * Zero or more `MediaTrackSid`
164
- # * Zero or more `ParticipantSid`
165
- # * Zero or more Track names. These can be specified using wildcards (e.g.
166
- # `student*`). The use of `[*]` has semantics "all if any" meaning zero or more
167
- # (i.e. all) depending on whether the target room had audio tracks.
168
- # @param [String] audio_sources_excluded An array of audio sources to exclude from
169
- # the Composition. Any new Composition shall include all audio sources specified
170
- # in `AudioSources` except for the ones specified in `AudioSourcesExcluded`. This
171
- # parameter may include:
172
- #
173
- # * Zero or more `RecordingTrackSid`
174
- # * Zero or more `MediaTrackSid`
175
- # * Zero or more `ParticipantSid`
176
- # * Zero or more Track names. These can be specified using wildcards (e.g.
177
- # `student*`)
178
- # @param [String] resolution A string representing the number of pixels for rows
179
- # (width) and columns (height) of the generated composed video. This string must
180
- # have the format `{width}x{height}`. This parameter must comply with the
181
- # following constraints:
182
- #
183
- # * `width >= 16 && width <= 1280`
184
- # * `height >= 16 && height <= 1280`
185
- # * `width * height <= 921,600`
176
+ # * 16 <= `{width}` <= 1280
177
+ # * 16 <= `{height}` <= 1280
178
+ # * `{width}` * `{height}` <= 921,600
186
179
  #
187
180
  # Typical values are:
188
181
  #
@@ -191,27 +184,27 @@ module Twilio
191
184
  # * VGA = `640x480`
192
185
  # * CIF = `320x240`
193
186
  #
194
- # Note that the `Resolution` implicitly imposes an aspect ratio to the resulting
195
- # composition. When the original video tracks get constrained by this aspect ratio
196
- # they are scaled-down to fit. You can find detailed information in the
197
- # [Specifying Video
198
- # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) section. Defaults to `640x480`.
199
- # @param [composition.Format] format Container format of the Composition media
200
- # file. Can be any of the following: `mp4`, `webm`. The use of `mp4` or `webm`
201
- # makes mandatory the specification of `AudioSources` and/or one `VideoLayout`
202
- # element containing a valid `video_sources` list, otherwise an error is fired.
203
- # Defaults to `webm`.
204
- # @param [String] status_callback A URL that Twilio sends asynchronous webhook
205
- # requests to on every composition event. If not provided, status callback events
206
- # will not be dispatched.
207
- # @param [String] status_callback_method HTTP method Twilio should use when
208
- # requesting the above URL. Defaults to `POST`.
209
- # @param [Boolean] trim When activated, clips all the Composition intervals where
210
- # there is no active media. This results in shorter compositions in cases when the
211
- # Room was created but no Participant joined for some time, or if all the
212
- # Participants left the room and joined at a later stage, as those gaps will be
213
- # removed. You can find further information in the [Specifying Video
214
- # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) section. Defaults to `true`.
187
+ # Note that the `resolution` imposes an aspect ratio to the resulting composition.
188
+ # When the original video tracks are constrained by the aspect ratio, they are
189
+ # scaled to fit. See [Specifying Video
190
+ # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
191
+ # @param [composition.Format] format The container format of the composition's
192
+ # media files. Can be: `mp4` or `webm` and the default is `webm`. If you specify
193
+ # `mp4` or `webm`, you must also specify one or more `audio_sources` and/or a
194
+ # `video_layout` element that contains a valid `video_sources` list, otherwise an
195
+ # error occurs.
196
+ # @param [String] status_callback The URL we should call using the
197
+ # `status_callback_method` to send status information to your application on every
198
+ # composition event. If not provided, status callback events will not be
199
+ # dispatched.
200
+ # @param [String] status_callback_method The HTTP method we should use to call
201
+ # `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
202
+ # @param [Boolean] trim Whether to clip the intervals where there is no active
203
+ # media in the composition. The default is `true`. Compositions with `trim`
204
+ # enabled are shorter when the Room is created and no Participant joins for a
205
+ # while as well as if all the Participants leave the room and join later, because
206
+ # those gaps will be removed. See [Specifying Video
207
+ # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
215
208
  # @return [CompositionInstance] Newly created CompositionInstance
216
209
  def create(room_sid: nil, video_layout: :unset, audio_sources: :unset, audio_sources_excluded: :unset, resolution: :unset, format: :unset, status_callback: :unset, status_callback_method: :unset, trim: :unset)
217
210
  data = Twilio::Values.of({
@@ -279,8 +272,7 @@ module Twilio
279
272
  ##
280
273
  # Initialize the CompositionContext
281
274
  # @param [Version] version Version that contains the resource
282
- # @param [String] sid The Composition Sid that uniquely identifies the Composition
283
- # to fetch.
275
+ # @param [String] sid The SID of the Composition resource to fetch.
284
276
  # @return [CompositionContext] CompositionContext
285
277
  def initialize(version, sid)
286
278
  super(version)
@@ -334,8 +326,7 @@ module Twilio
334
326
  # Initialize the CompositionInstance
335
327
  # @param [Version] version Version that contains the resource
336
328
  # @param [Hash] payload payload that contains response from Twilio
337
- # @param [String] sid The Composition Sid that uniquely identifies the Composition
338
- # to fetch.
329
+ # @param [String] sid The SID of the Composition resource to fetch.
339
330
  # @return [CompositionInstance] CompositionInstance
340
331
  def initialize(version, payload, sid: nil)
341
332
  super(version)
@@ -379,109 +370,109 @@ module Twilio
379
370
  end
380
371
 
381
372
  ##
382
- # @return [String] Twilio Account SID.
373
+ # @return [String] The SID of the Account that created the resource
383
374
  def account_sid
384
375
  @properties['account_sid']
385
376
  end
386
377
 
387
378
  ##
388
- # @return [composition.Status] The status of the Composition.
379
+ # @return [composition.Status] The status of the composition
389
380
  def status
390
381
  @properties['status']
391
382
  end
392
383
 
393
384
  ##
394
- # @return [Time] Date when the Composition Resource was created.
385
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was created
395
386
  def date_created
396
387
  @properties['date_created']
397
388
  end
398
389
 
399
390
  ##
400
- # @return [String] Date when the media processing task finished.
391
+ # @return [String] Date when the media processing task finished
401
392
  def date_completed
402
393
  @properties['date_completed']
403
394
  end
404
395
 
405
396
  ##
406
- # @return [String] Date when the Composition Resource generated media was deleted.
397
+ # @return [String] The ISO 8601 date and time in GMT when the composition generated media was deleted
407
398
  def date_deleted
408
399
  @properties['date_deleted']
409
400
  end
410
401
 
411
402
  ##
412
- # @return [String] A 34-character string that uniquely identifies this Composition.
403
+ # @return [String] The unique string that identifies the resource
413
404
  def sid
414
405
  @properties['sid']
415
406
  end
416
407
 
417
408
  ##
418
- # @return [String] A 34-character string that uniquely identifies the source of this Composition.
409
+ # @return [String] The SID of the Group Room that generated the audio and video tracks used in the composition
419
410
  def room_sid
420
411
  @properties['room_sid']
421
412
  end
422
413
 
423
414
  ##
424
- # @return [String] A list of audio sources related to this Composition.
415
+ # @return [String] The array of track names to include in the composition
425
416
  def audio_sources
426
417
  @properties['audio_sources']
427
418
  end
428
419
 
429
420
  ##
430
- # @return [String] A list of audio sources excluded related to this Composition.
421
+ # @return [String] The array of track names to exclude from the composition
431
422
  def audio_sources_excluded
432
423
  @properties['audio_sources_excluded']
433
424
  end
434
425
 
435
426
  ##
436
- # @return [Hash] The JSON video layout description.
427
+ # @return [Hash] An object that describes the video layout of the composition
437
428
  def video_layout
438
429
  @properties['video_layout']
439
430
  end
440
431
 
441
432
  ##
442
- # @return [String] Pixel resolution of the composed video.
433
+ # @return [String] The dimensions of the video image in pixels expressed as columns (width) and rows (height)
443
434
  def resolution
444
435
  @properties['resolution']
445
436
  end
446
437
 
447
438
  ##
448
- # @return [Boolean] Boolean flag for clipping intervals that have no media.
439
+ # @return [Boolean] Whether to remove intervals with no media
449
440
  def trim
450
441
  @properties['trim']
451
442
  end
452
443
 
453
444
  ##
454
- # @return [composition.Format] The file format for this Composition.
445
+ # @return [composition.Format] The container format of the composition's media files as specified in the POST request that created the Composition resource
455
446
  def format
456
447
  @properties['format']
457
448
  end
458
449
 
459
450
  ##
460
- # @return [String] The bitrate
451
+ # @return [String] The average bit rate of the composition's media
461
452
  def bitrate
462
453
  @properties['bitrate']
463
454
  end
464
455
 
465
456
  ##
466
- # @return [String] Size of the Composed media file expressed in bytes.
457
+ # @return [String] The size of the composed media file in bytes
467
458
  def size
468
459
  @properties['size']
469
460
  end
470
461
 
471
462
  ##
472
- # @return [String] Duration of the Composed media in seconds.
463
+ # @return [String] The duration of the composition's media file in seconds
473
464
  def duration
474
465
  @properties['duration']
475
466
  end
476
467
 
477
468
  ##
478
- # @return [String] The absolute URL for this resource.
469
+ # @return [String] The absolute URL of the resource
479
470
  def url
480
471
  @properties['url']
481
472
  end
482
473
 
483
474
  ##
484
- # @return [String] JSON object with the URL where the media file can be fetched.
475
+ # @return [String] The URL of the media file associated with the composition
485
476
  def links
486
477
  @properties['links']
487
478
  end
@@ -29,18 +29,17 @@ module Twilio
29
29
  # Lists CompositionHookInstance records from the API as a list.
30
30
  # Unlike stream(), this operation is eager and will load `limit` records into
31
31
  # memory before returning.
32
- # @param [Boolean] enabled Only show Composition Hooks that are enabled or
33
- # disabled.
34
- # @param [Time] date_created_after Only show Composition Hooks created on or after
35
- # this ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or
36
- # `YYYY-MM-DDThh:mm:ssZ`.
37
- # @param [Time] date_created_before Only show Composition Hooks created before
38
- # this ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or
39
- # `YYYY-MM-DDThh:mm:ssZ`.
40
- # @param [String] friendly_name Only show Composition Hooks with friendly name
41
- # that match this case-insensitive string, of up to 100 characters in length.
42
- # Filtering by partial friendly names is allowed, using wildcards (e.g.
43
- # `*my*hook*`).
32
+ # @param [Boolean] enabled Read only CompositionHook resources with an `enabled`
33
+ # value that matches this parameter.
34
+ # @param [Time] date_created_after Read only CompositionHook resources created on
35
+ # or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with
36
+ # time zone.
37
+ # @param [Time] date_created_before Read only CompositionHook resources created
38
+ # before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with
39
+ # time zone.
40
+ # @param [String] friendly_name Read only CompositionHook resources with friendly
41
+ # names that match this string. The match is not case sensitive and can include
42
+ # asterisk `*` characters as wildcard match.
44
43
  # @param [Integer] limit Upper limit for the number of records to return. stream()
45
44
  # guarantees to never return more than limit. Default is no limit
46
45
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -63,18 +62,17 @@ module Twilio
63
62
  # Streams CompositionHookInstance records from the API as an Enumerable.
64
63
  # This operation lazily loads records as efficiently as possible until the limit
65
64
  # is reached.
66
- # @param [Boolean] enabled Only show Composition Hooks that are enabled or
67
- # disabled.
68
- # @param [Time] date_created_after Only show Composition Hooks created on or after
69
- # this ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or
70
- # `YYYY-MM-DDThh:mm:ssZ`.
71
- # @param [Time] date_created_before Only show Composition Hooks created before
72
- # this ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or
73
- # `YYYY-MM-DDThh:mm:ssZ`.
74
- # @param [String] friendly_name Only show Composition Hooks with friendly name
75
- # that match this case-insensitive string, of up to 100 characters in length.
76
- # Filtering by partial friendly names is allowed, using wildcards (e.g.
77
- # `*my*hook*`).
65
+ # @param [Boolean] enabled Read only CompositionHook resources with an `enabled`
66
+ # value that matches this parameter.
67
+ # @param [Time] date_created_after Read only CompositionHook resources created on
68
+ # or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with
69
+ # time zone.
70
+ # @param [Time] date_created_before Read only CompositionHook resources created
71
+ # before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with
72
+ # time zone.
73
+ # @param [String] friendly_name Read only CompositionHook resources with friendly
74
+ # names that match this string. The match is not case sensitive and can include
75
+ # asterisk `*` characters as wildcard match.
78
76
  # @param [Integer] limit Upper limit for the number of records to return. stream()
79
77
  # guarantees to never return more than limit. Default is no limit.
80
78
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -113,18 +111,17 @@ module Twilio
113
111
  ##
114
112
  # Retrieve a single page of CompositionHookInstance records from the API.
115
113
  # Request is executed immediately.
116
- # @param [Boolean] enabled Only show Composition Hooks that are enabled or
117
- # disabled.
118
- # @param [Time] date_created_after Only show Composition Hooks created on or after
119
- # this ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or
120
- # `YYYY-MM-DDThh:mm:ssZ`.
121
- # @param [Time] date_created_before Only show Composition Hooks created before
122
- # this ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or
123
- # `YYYY-MM-DDThh:mm:ssZ`.
124
- # @param [String] friendly_name Only show Composition Hooks with friendly name
125
- # that match this case-insensitive string, of up to 100 characters in length.
126
- # Filtering by partial friendly names is allowed, using wildcards (e.g.
127
- # `*my*hook*`).
114
+ # @param [Boolean] enabled Read only CompositionHook resources with an `enabled`
115
+ # value that matches this parameter.
116
+ # @param [Time] date_created_after Read only CompositionHook resources created on
117
+ # or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with
118
+ # time zone.
119
+ # @param [Time] date_created_before Read only CompositionHook resources created
120
+ # before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with
121
+ # time zone.
122
+ # @param [String] friendly_name Read only CompositionHook resources with friendly
123
+ # names that match this string. The match is not case sensitive and can include
124
+ # asterisk `*` characters as wildcard match.
128
125
  # @param [String] page_token PageToken provided by the API
129
126
  # @param [Integer] page_number Page Number, this value is simply for client state
130
127
  # @param [Integer] page_size Number of records to return, defaults to 50
@@ -163,33 +160,37 @@ module Twilio
163
160
  ##
164
161
  # Retrieve a single page of CompositionHookInstance records from the API.
165
162
  # Request is executed immediately.
166
- # @param [String] friendly_name Friendly name of the Composition Hook to be shown
167
- # in the console, must be unique per account and up to 100 characters.
168
- # @param [Boolean] enabled Boolean flag indicating if the Composition Hook is
169
- # active. Possible values are `true` or `false`. When `true`, the Composition Hook
170
- # will be triggered for every completed Group Room on this account. When `false`,
171
- # the Composition Hook never triggers.
172
- # @param [Hash] video_layout A JSON object defining the video layout of the
173
- # Composition Hook in terms of regions. See the section [Specifying Video
174
- # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for further information.
175
- # @param [String] audio_sources An array of audio sources to merge. All the
176
- # specified sources must belong to the same Group Room. It can include zero or
177
- # more Track names. These can be specified using wildcards (e.g. `student*`). The
178
- # use of `[*]` has semantics "all if any" meaning zero or more (i.e. all)
179
- # depending on whether the Group Room had audio tracks.
180
- # @param [String] audio_sources_excluded An array of audio sources to exclude from
181
- # the Composition Hook. Any new Composition triggered by the Composition Hook
182
- # shall include all audio sources specified in `AudioSources` except for the ones
183
- # specified in `AudioSourcesExcluded`. This parameter may include zero or more
184
- # Track names. These can be specified using wildcards (e.g. `student*`).
185
- # @param [String] resolution A string representing the number of pixels for rows
186
- # (width) and columns (height) of the generated composed video. This string must
187
- # have the format `{width}x{height}`. This parameter must comply with the
188
- # following constraints:
163
+ # @param [String] friendly_name A descriptive string that you create to describe
164
+ # the resource. It can be up to 100 characters long and it must be unique within
165
+ # the account.
166
+ # @param [Boolean] enabled Whether the composition hook is active. When `true`,
167
+ # the composition hook will be triggered for every completed Group Room in the
168
+ # account. When `false`, the composition hook will never be triggered.
169
+ # @param [Hash] video_layout An object that describes the video layout of the
170
+ # composition hook in terms of regions. See [Specifying Video
171
+ # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
172
+ # @param [String] audio_sources An array of track names from the same group room
173
+ # to merge into the compositions created by the composition hook. Can include zero
174
+ # or more track names. A composition triggered by the composition hook includes
175
+ # all audio sources specified in `audio_sources` except those specified in
176
+ # `audio_sources_excluded`. The track names in this parameter can include an
177
+ # asterisk as a wild card character, which matches zero or more characters in a
178
+ # track name. For example, `student*` includes tracks named `student` as well as
179
+ # `studentTeam`.
180
+ # @param [String] audio_sources_excluded An array of track names to exclude. A
181
+ # composition triggered by the composition hook includes all audio sources
182
+ # specified in `audio_sources` except for those specified in
183
+ # `audio_sources_excluded`. The track names in this parameter can include an
184
+ # asterisk as a wild card character, which matches zero or more characters in a
185
+ # track name. For example, `student*` excludes `student` as well as `studentTeam`.
186
+ # This parameter can also be empty.
187
+ # @param [String] resolution A string that describes the columns (width) and rows
188
+ # (height) of the generated composed video in pixels. Defaults to `640x480`.
189
+ # The string's format is `{width}x{height}` where:
189
190
  #
190
- # * `width >= 16 && width <= 1280`
191
- # * `height >= 16 && height <= 1280`
192
- # * `width * height <= 921,600`
191
+ # * 16 <= `{width}` <= 1280
192
+ # * 16 <= `{height}` <= 1280
193
+ # * `{width}` * `{height}` <= 921,600
193
194
  #
194
195
  # Typical values are:
195
196
  #
@@ -198,28 +199,28 @@ module Twilio
198
199
  # * VGA = `640x480`
199
200
  # * CIF = `320x240`
200
201
  #
201
- # Note that the `Resolution` implicitly imposes an aspect ratio to the resulting
202
- # composition. When the original video tracks get constrained by this aspect ratio
203
- # they are scaled-down to fit. You can find detailed information in the
204
- # [Specifying Video
205
- # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) section. Defaults to `640x480`.
206
- # @param [composition_hook.Format] format Container format of the Composition
207
- # media files created by the Composition Hook. Can be any of the following: `mp4`,
208
- # `webm`. The use of `mp4` or `webm` makes mandatory the specification of
209
- # `AudioSources` and/or one `VideoLayout` element containing a valid
210
- # `video_sources` list, otherwise an error is fired. Defaults to `webm`.
211
- # @param [String] status_callback A URL that Twilio sends asynchronous webhook
212
- # requests to on every composition event. If not provided, status callback events
213
- # will not be dispatched.
214
- # @param [String] status_callback_method HTTP method Twilio should use when
215
- # requesting the above URL. Defaults to `POST`.
216
- # @param [Boolean] trim When activated, clips all the intervals where there is no
217
- # active media in the Compositions triggered by the Composition Hook. This results
218
- # in shorter compositions in cases when the Room was created but no Participant
219
- # joined for some time, or if all the Participants left the room and joined at a
220
- # later stage, as those gaps will be removed. You can find further information in
221
- # the [Specifying Video
222
- # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) section. Defaults to `true`.
202
+ # Note that the `resolution` imposes an aspect ratio to the resulting composition.
203
+ # When the original video tracks are constrained by the aspect ratio, they are
204
+ # scaled to fit. See [Specifying Video
205
+ # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
206
+ # @param [composition_hook.Format] format The container format of the media files
207
+ # used by the compositions created by the composition hook. Can be: `mp4` or
208
+ # `webm` and the default is `webm`. If `mp4` or `webm`, `audio_sources` must have
209
+ # one or more tracks and/or a `video_layout` element must contain a valid
210
+ # `video_sources` list, otherwise an error occurs.
211
+ # @param [String] status_callback The URL we should call using the
212
+ # `status_callback_method` to send status information to your application on every
213
+ # composition event. If not provided, status callback events will not be
214
+ # dispatched.
215
+ # @param [String] status_callback_method The HTTP method we should use to call
216
+ # `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
217
+ # @param [Boolean] trim Whether to clip the intervals where there is no active
218
+ # media in the Compositions triggered by the composition hook. The default is
219
+ # `true`. Compositions with `trim` enabled are shorter when the Room is created
220
+ # and no Participant joins for a while as well as if all the Participants leave
221
+ # the room and join later, because those gaps will be removed. See [Specifying
222
+ # Video
223
+ # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
223
224
  # @return [CompositionHookInstance] Newly created CompositionHookInstance
224
225
  def create(friendly_name: nil, enabled: :unset, video_layout: :unset, audio_sources: :unset, audio_sources_excluded: :unset, resolution: :unset, format: :unset, status_callback: :unset, status_callback_method: :unset, trim: :unset)
225
226
  data = Twilio::Values.of({
@@ -288,8 +289,7 @@ module Twilio
288
289
  ##
289
290
  # Initialize the CompositionHookContext
290
291
  # @param [Version] version Version that contains the resource
291
- # @param [String] sid The Composition Hook Sid that uniquely identifies the
292
- # Composition Hook to fetch.
292
+ # @param [String] sid The SID of the CompositionHook resource to fetch.
293
293
  # @return [CompositionHookContext] CompositionHookContext
294
294
  def initialize(version, sid)
295
295
  super(version)
@@ -323,52 +323,67 @@ module Twilio
323
323
 
324
324
  ##
325
325
  # Update the CompositionHookInstance
326
- # @param [String] friendly_name Friendly name of the Composition Hook to be shown
327
- # in the console, must be unique per account and up to 100 characters.
328
- # @param [Boolean] enabled Boolean flag indicating if the Composition Hook is
329
- # active. Possible values are `true` or `false`. When `true`, the Composition Hook
330
- # will be triggered for every completed Group Room on this account. When `false`,
331
- # the Composition Hook never triggers.
332
- # @param [Hash] video_layout A JSON object defining the video layout of the
333
- # Composition Hook in terms of regions. See the section [Specifying Video
334
- # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for further information.
335
- # @param [String] audio_sources An array of audio sources to merge. All the
336
- # specified sources must belong to the same Group Room. It can include zero or
337
- # more Track names. These can be specified using wildcards (e.g. `student*`). The
338
- # use of `[*]` has semantics "all if any" meaning zero or more (i.e. all)
339
- # depending on whether the Group Room had audio tracks.
340
- # @param [String] audio_sources_excluded An array of audio sources to exclude from
341
- # the Composition Hook. Any new Composition triggered by the Composition Hook
342
- # shall include all audio sources specified in `AudioSources` except for the ones
343
- # specified in `AudioSourcesExcluded`. This parameter may include zero or more
344
- # Track names. These can be specified using wildcards (e.g. `student*`).
345
- # @param [Boolean] trim When activated, clips all the intervals where there is no
346
- # active media in the Compositions triggered by the Composition Hook. This results
347
- # in shorter compositions in cases when the Room was created but no Participant
348
- # joined for some time, or if all the Participants left the room and joined at a
349
- # later stage, as those gaps will be removed. You can find further information in
350
- # the [Specifying Video
351
- # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) section. Defaults to `true`.
352
- # @param [composition_hook.Format] format Container format of the Composition
353
- # media files created by the Composition Hook. Can be any of the following: `mp4`,
354
- # `webm`. The use of `mp4` or `webm` makes mandatory the specification of
355
- # `AudioSources` and/or one `VideoLayout` element containing a valid
356
- # `video_sources` list, otherwise an error is fired. Defaults to `webm`.
357
- # @param [String] resolution A string representing the number of pixels for rows
358
- # (width) and columns (height) of the generated composed video. This string must
359
- # have the format `{width}x{height}`. This parameter must comply with the
360
- # following constraints: `width >= 16 && width <= 1280`, `height >= 16 && height
361
- # <= 1280`, `width * height <= 921,600`. Typical values are: HD = `1280x720`, PAL
362
- # = `1024x576`, VGA = `640x480`, CIF = `320x240`. Note that the `Resolution`
363
- # implicitly imposes an aspect ratio to the resulting composition. When the
364
- # original video tracks get constrained by this aspect ratio they are scaled-down
365
- # to fit. You can find detailed information in the [Specifying Video
366
- # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) section. Defaults to `640x480`.
367
- # @param [String] status_callback A URL that Twilio sends asynchronous webhook
368
- # requests to on every composition event. If not provided, status callback events
369
- # will not be dispatched.
370
- # @param [String] status_callback_method HTTP method Twilio should use when
371
- # requesting the above URL. Defaults to `POST`.
326
+ # @param [String] friendly_name A descriptive string that you create to describe
327
+ # the resource. It can be up to 100 characters long and it must be unique within
328
+ # the account.
329
+ # @param [Boolean] enabled Whether the composition hook is active. When `true`,
330
+ # the composition hook will be triggered for every completed Group Room in the
331
+ # account. When `false`, the composition hook never triggers.
332
+ # @param [Hash] video_layout A JSON object that describes the video layout of the
333
+ # composition hook in terms of regions. See [Specifying Video
334
+ # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
335
+ # @param [String] audio_sources An array of track names from the same group room
336
+ # to merge into the compositions created by the composition hook. Can include zero
337
+ # or more track names. A composition triggered by the composition hook includes
338
+ # all audio sources specified in `audio_sources` except those specified in
339
+ # `audio_sources_excluded`. The track names in this parameter can include an
340
+ # asterisk as a wild card character, which matches zero or more characters in a
341
+ # track name. For example, `student*` includes tracks named `student` as well as
342
+ # `studentTeam`.
343
+ # @param [String] audio_sources_excluded An array of track names to exclude. A
344
+ # composition triggered by the composition hook includes all audio sources
345
+ # specified in `audio_sources` except for those specified in
346
+ # `audio_sources_excluded`. The track names in this parameter can include an
347
+ # asterisk as a wild card character, which matches zero or more characters in a
348
+ # track name. For example, `student*` excludes `student` as well as `studentTeam`.
349
+ # This parameter can also be empty.
350
+ # @param [Boolean] trim Whether to clip the intervals where there is no active
351
+ # media in the compositions triggered by the composition hook. The default is
352
+ # `true`. Compositions with `trim` enabled are shorter when the Room is created
353
+ # and no Participant joins for a while as well as if all the Participants leave
354
+ # the room and join later, because those gaps will be removed. See [Specifying
355
+ # Video
356
+ # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
357
+ # @param [composition_hook.Format] format The container format of the media files
358
+ # used by the compositions created by the composition hook. Can be: `mp4` or
359
+ # `webm` and the default is `webm`. If `mp4` or `webm`, `audio_sources` must have
360
+ # one or more tracks and/or a `video_layout` element must contain a valid
361
+ # `video_sources` list, otherwise an error occurs.
362
+ # @param [String] resolution A string that describes the columns (width) and rows
363
+ # (height) of the generated composed video in pixels. Defaults to `640x480`.
364
+ # The string's format is `{width}x{height}` where:
365
+ #
366
+ # * 16 <= `{width}` <= 1280
367
+ # * 16 <= `{height}` <= 1280
368
+ # * `{width}` * `{height}` <= 921,600
369
+ #
370
+ # Typical values are:
371
+ #
372
+ # * HD = `1280x720`
373
+ # * PAL = `1024x576`
374
+ # * VGA = `640x480`
375
+ # * CIF = `320x240`
376
+ #
377
+ # Note that the `resolution` imposes an aspect ratio to the resulting composition.
378
+ # When the original video tracks are constrained by the aspect ratio, they are
379
+ # scaled to fit. See [Specifying Video
380
+ # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
381
+ # @param [String] status_callback The URL we should call using the
382
+ # `status_callback_method` to send status information to your application on every
383
+ # composition event. If not provided, status callback events will not be
384
+ # dispatched.
385
+ # @param [String] status_callback_method The HTTP method we should use to call
386
+ # `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
372
387
  # @return [CompositionHookInstance] Updated CompositionHookInstance
373
388
  def update(friendly_name: nil, enabled: :unset, video_layout: :unset, audio_sources: :unset, audio_sources_excluded: :unset, trim: :unset, format: :unset, resolution: :unset, status_callback: :unset, status_callback_method: :unset)
374
389
  data = Twilio::Values.of({
@@ -415,8 +430,7 @@ module Twilio
415
430
  # Initialize the CompositionHookInstance
416
431
  # @param [Version] version Version that contains the resource
417
432
  # @param [Hash] payload payload that contains response from Twilio
418
- # @param [String] sid The Composition Hook Sid that uniquely identifies the
419
- # Composition Hook to fetch.
433
+ # @param [String] sid The SID of the CompositionHook resource to fetch.
420
434
  # @return [CompositionHookInstance] CompositionHookInstance
421
435
  def initialize(version, payload, sid: nil)
422
436
  super(version)
@@ -457,91 +471,91 @@ module Twilio
457
471
  end
458
472
 
459
473
  ##
460
- # @return [String] Twilio Account SID.
474
+ # @return [String] The SID of the Account that created the resource
461
475
  def account_sid
462
476
  @properties['account_sid']
463
477
  end
464
478
 
465
479
  ##
466
- # @return [String] Friendly name of the Composition Hook to be shown in the console.
480
+ # @return [String] The string that you assigned to describe the resource
467
481
  def friendly_name
468
482
  @properties['friendly_name']
469
483
  end
470
484
 
471
485
  ##
472
- # @return [Boolean] Boolean flag indicating if the Composition Hook is active.
486
+ # @return [Boolean] Whether the CompositionHook is active
473
487
  def enabled
474
488
  @properties['enabled']
475
489
  end
476
490
 
477
491
  ##
478
- # @return [Time] Date when the Composition Hook Resource was created.
492
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was created
479
493
  def date_created
480
494
  @properties['date_created']
481
495
  end
482
496
 
483
497
  ##
484
- # @return [String] Date when the Composition Hook was last updated.
498
+ # @return [String] The ISO 8601 date and time in GMT when the resource was last updated
485
499
  def date_updated
486
500
  @properties['date_updated']
487
501
  end
488
502
 
489
503
  ##
490
- # @return [String] A 34-character string that uniquely identifies this Composition Hook.
504
+ # @return [String] The unique string that identifies the resource
491
505
  def sid
492
506
  @properties['sid']
493
507
  end
494
508
 
495
509
  ##
496
- # @return [String] A list of audio sources related to this Composition Hook.
510
+ # @return [String] The array of track names to include in the compositions created by the composition hook
497
511
  def audio_sources
498
512
  @properties['audio_sources']
499
513
  end
500
514
 
501
515
  ##
502
- # @return [String] A list of audio sources excluded related to this Composition Hook.
516
+ # @return [String] The array of track names to exclude from the compositions created by the composition hook
503
517
  def audio_sources_excluded
504
518
  @properties['audio_sources_excluded']
505
519
  end
506
520
 
507
521
  ##
508
- # @return [Hash] The JSON video layout description.
522
+ # @return [Hash] A JSON object that describes the video layout of the Composition
509
523
  def video_layout
510
524
  @properties['video_layout']
511
525
  end
512
526
 
513
527
  ##
514
- # @return [String] Pixel resolution of the composed video.
528
+ # @return [String] The dimensions of the video image in pixels expressed as columns (width) and rows (height)
515
529
  def resolution
516
530
  @properties['resolution']
517
531
  end
518
532
 
519
533
  ##
520
- # @return [Boolean] Boolean flag for clipping intervals that have no media.
534
+ # @return [Boolean] Whether intervals with no media are clipped
521
535
  def trim
522
536
  @properties['trim']
523
537
  end
524
538
 
525
539
  ##
526
- # @return [composition_hook.Format] The file format for the Compositions triggered by the Composition Hook.
540
+ # @return [composition_hook.Format] The container format of the media files used by the compositions created by the composition hook
527
541
  def format
528
542
  @properties['format']
529
543
  end
530
544
 
531
545
  ##
532
- # @return [String] A URL that Twilio sends asynchronous webhook requests to on every composition event.
546
+ # @return [String] The URL to send status information to your application
533
547
  def status_callback
534
548
  @properties['status_callback']
535
549
  end
536
550
 
537
551
  ##
538
- # @return [String] HTTP method Twilio should use when requesting the above URL.
552
+ # @return [String] The HTTP method we should use to call status_callback
539
553
  def status_callback_method
540
554
  @properties['status_callback_method']
541
555
  end
542
556
 
543
557
  ##
544
- # @return [String] The absolute URL for this resource.
558
+ # @return [String] The absolute URL of the resource
545
559
  def url
546
560
  @properties['url']
547
561
  end
@@ -562,52 +576,67 @@ module Twilio
562
576
 
563
577
  ##
564
578
  # Update the CompositionHookInstance
565
- # @param [String] friendly_name Friendly name of the Composition Hook to be shown
566
- # in the console, must be unique per account and up to 100 characters.
567
- # @param [Boolean] enabled Boolean flag indicating if the Composition Hook is
568
- # active. Possible values are `true` or `false`. When `true`, the Composition Hook
569
- # will be triggered for every completed Group Room on this account. When `false`,
570
- # the Composition Hook never triggers.
571
- # @param [Hash] video_layout A JSON object defining the video layout of the
572
- # Composition Hook in terms of regions. See the section [Specifying Video
573
- # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for further information.
574
- # @param [String] audio_sources An array of audio sources to merge. All the
575
- # specified sources must belong to the same Group Room. It can include zero or
576
- # more Track names. These can be specified using wildcards (e.g. `student*`). The
577
- # use of `[*]` has semantics "all if any" meaning zero or more (i.e. all)
578
- # depending on whether the Group Room had audio tracks.
579
- # @param [String] audio_sources_excluded An array of audio sources to exclude from
580
- # the Composition Hook. Any new Composition triggered by the Composition Hook
581
- # shall include all audio sources specified in `AudioSources` except for the ones
582
- # specified in `AudioSourcesExcluded`. This parameter may include zero or more
583
- # Track names. These can be specified using wildcards (e.g. `student*`).
584
- # @param [Boolean] trim When activated, clips all the intervals where there is no
585
- # active media in the Compositions triggered by the Composition Hook. This results
586
- # in shorter compositions in cases when the Room was created but no Participant
587
- # joined for some time, or if all the Participants left the room and joined at a
588
- # later stage, as those gaps will be removed. You can find further information in
589
- # the [Specifying Video
590
- # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) section. Defaults to `true`.
591
- # @param [composition_hook.Format] format Container format of the Composition
592
- # media files created by the Composition Hook. Can be any of the following: `mp4`,
593
- # `webm`. The use of `mp4` or `webm` makes mandatory the specification of
594
- # `AudioSources` and/or one `VideoLayout` element containing a valid
595
- # `video_sources` list, otherwise an error is fired. Defaults to `webm`.
596
- # @param [String] resolution A string representing the number of pixels for rows
597
- # (width) and columns (height) of the generated composed video. This string must
598
- # have the format `{width}x{height}`. This parameter must comply with the
599
- # following constraints: `width >= 16 && width <= 1280`, `height >= 16 && height
600
- # <= 1280`, `width * height <= 921,600`. Typical values are: HD = `1280x720`, PAL
601
- # = `1024x576`, VGA = `640x480`, CIF = `320x240`. Note that the `Resolution`
602
- # implicitly imposes an aspect ratio to the resulting composition. When the
603
- # original video tracks get constrained by this aspect ratio they are scaled-down
604
- # to fit. You can find detailed information in the [Specifying Video
605
- # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) section. Defaults to `640x480`.
606
- # @param [String] status_callback A URL that Twilio sends asynchronous webhook
607
- # requests to on every composition event. If not provided, status callback events
608
- # will not be dispatched.
609
- # @param [String] status_callback_method HTTP method Twilio should use when
610
- # requesting the above URL. Defaults to `POST`.
579
+ # @param [String] friendly_name A descriptive string that you create to describe
580
+ # the resource. It can be up to 100 characters long and it must be unique within
581
+ # the account.
582
+ # @param [Boolean] enabled Whether the composition hook is active. When `true`,
583
+ # the composition hook will be triggered for every completed Group Room in the
584
+ # account. When `false`, the composition hook never triggers.
585
+ # @param [Hash] video_layout A JSON object that describes the video layout of the
586
+ # composition hook in terms of regions. See [Specifying Video
587
+ # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
588
+ # @param [String] audio_sources An array of track names from the same group room
589
+ # to merge into the compositions created by the composition hook. Can include zero
590
+ # or more track names. A composition triggered by the composition hook includes
591
+ # all audio sources specified in `audio_sources` except those specified in
592
+ # `audio_sources_excluded`. The track names in this parameter can include an
593
+ # asterisk as a wild card character, which matches zero or more characters in a
594
+ # track name. For example, `student*` includes tracks named `student` as well as
595
+ # `studentTeam`.
596
+ # @param [String] audio_sources_excluded An array of track names to exclude. A
597
+ # composition triggered by the composition hook includes all audio sources
598
+ # specified in `audio_sources` except for those specified in
599
+ # `audio_sources_excluded`. The track names in this parameter can include an
600
+ # asterisk as a wild card character, which matches zero or more characters in a
601
+ # track name. For example, `student*` excludes `student` as well as `studentTeam`.
602
+ # This parameter can also be empty.
603
+ # @param [Boolean] trim Whether to clip the intervals where there is no active
604
+ # media in the compositions triggered by the composition hook. The default is
605
+ # `true`. Compositions with `trim` enabled are shorter when the Room is created
606
+ # and no Participant joins for a while as well as if all the Participants leave
607
+ # the room and join later, because those gaps will be removed. See [Specifying
608
+ # Video
609
+ # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
610
+ # @param [composition_hook.Format] format The container format of the media files
611
+ # used by the compositions created by the composition hook. Can be: `mp4` or
612
+ # `webm` and the default is `webm`. If `mp4` or `webm`, `audio_sources` must have
613
+ # one or more tracks and/or a `video_layout` element must contain a valid
614
+ # `video_sources` list, otherwise an error occurs.
615
+ # @param [String] resolution A string that describes the columns (width) and rows
616
+ # (height) of the generated composed video in pixels. Defaults to `640x480`.
617
+ # The string's format is `{width}x{height}` where:
618
+ #
619
+ # * 16 <= `{width}` <= 1280
620
+ # * 16 <= `{height}` <= 1280
621
+ # * `{width}` * `{height}` <= 921,600
622
+ #
623
+ # Typical values are:
624
+ #
625
+ # * HD = `1280x720`
626
+ # * PAL = `1024x576`
627
+ # * VGA = `640x480`
628
+ # * CIF = `320x240`
629
+ #
630
+ # Note that the `resolution` imposes an aspect ratio to the resulting composition.
631
+ # When the original video tracks are constrained by the aspect ratio, they are
632
+ # scaled to fit. See [Specifying Video
633
+ # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
634
+ # @param [String] status_callback The URL we should call using the
635
+ # `status_callback_method` to send status information to your application on every
636
+ # composition event. If not provided, status callback events will not be
637
+ # dispatched.
638
+ # @param [String] status_callback_method The HTTP method we should use to call
639
+ # `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
611
640
  # @return [CompositionHookInstance] Updated CompositionHookInstance
612
641
  def update(friendly_name: nil, enabled: :unset, video_layout: :unset, audio_sources: :unset, audio_sources_excluded: :unset, trim: :unset, format: :unset, resolution: :unset, status_callback: :unset, status_callback_method: :unset)
613
642
  context.update(