lib/twilio-ruby/rest/video/v1/composition_hook.rb in twilio-ruby-5.27.0 vs lib/twilio-ruby/rest/video/v1/composition_hook.rb in twilio-ruby-5.27.1

- old
+ new

@@ -27,22 +27,21 @@ ## # Lists CompositionHookInstance records from the API as a list. # Unlike stream(), this operation is eager and will load `limit` records into # memory before returning. - # @param [Boolean] enabled Only show Composition Hooks that are enabled or - # disabled. - # @param [Time] date_created_after Only show Composition Hooks created on or after - # this ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or - # `YYYY-MM-DDThh:mm:ssZ`. - # @param [Time] date_created_before Only show Composition Hooks created before - # this ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or - # `YYYY-MM-DDThh:mm:ssZ`. - # @param [String] friendly_name Only show Composition Hooks with friendly name - # that match this case-insensitive string, of up to 100 characters in length. - # Filtering by partial friendly names is allowed, using wildcards (e.g. - # `*my*hook*`). + # @param [Boolean] enabled Read only CompositionHook resources with an `enabled` + # value that matches this parameter. + # @param [Time] date_created_after Read only CompositionHook resources created on + # or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with + # time zone. + # @param [Time] date_created_before Read only CompositionHook resources created + # before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with + # time zone. + # @param [String] friendly_name Read only CompositionHook resources with friendly + # names that match this string. The match is not case sensitive and can include + # asterisk `*` characters as wildcard match. # @param [Integer] limit Upper limit for the number of records to return. stream() # guarantees to never return more than limit. Default is no limit # @param [Integer] page_size Number of records to fetch per request, when # not set will use the default value of 50 records. If no page_size is defined # but a limit is defined, stream() will attempt to read the limit with the most @@ -61,22 +60,21 @@ ## # Streams CompositionHookInstance records from the API as an Enumerable. # This operation lazily loads records as efficiently as possible until the limit # is reached. - # @param [Boolean] enabled Only show Composition Hooks that are enabled or - # disabled. - # @param [Time] date_created_after Only show Composition Hooks created on or after - # this ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or - # `YYYY-MM-DDThh:mm:ssZ`. - # @param [Time] date_created_before Only show Composition Hooks created before - # this ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or - # `YYYY-MM-DDThh:mm:ssZ`. - # @param [String] friendly_name Only show Composition Hooks with friendly name - # that match this case-insensitive string, of up to 100 characters in length. - # Filtering by partial friendly names is allowed, using wildcards (e.g. - # `*my*hook*`). + # @param [Boolean] enabled Read only CompositionHook resources with an `enabled` + # value that matches this parameter. + # @param [Time] date_created_after Read only CompositionHook resources created on + # or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with + # time zone. + # @param [Time] date_created_before Read only CompositionHook resources created + # before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with + # time zone. + # @param [String] friendly_name Read only CompositionHook resources with friendly + # names that match this string. The match is not case sensitive and can include + # asterisk `*` characters as wildcard match. # @param [Integer] limit Upper limit for the number of records to return. stream() # guarantees to never return more than limit. Default is no limit. # @param [Integer] page_size Number of records to fetch per request, when # not set will use the default value of 50 records. If no page_size is defined # but a limit is defined, stream() will attempt to read the limit with the most @@ -111,22 +109,21 @@ end ## # Retrieve a single page of CompositionHookInstance records from the API. # Request is executed immediately. - # @param [Boolean] enabled Only show Composition Hooks that are enabled or - # disabled. - # @param [Time] date_created_after Only show Composition Hooks created on or after - # this ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or - # `YYYY-MM-DDThh:mm:ssZ`. - # @param [Time] date_created_before Only show Composition Hooks created before - # this ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or - # `YYYY-MM-DDThh:mm:ssZ`. - # @param [String] friendly_name Only show Composition Hooks with friendly name - # that match this case-insensitive string, of up to 100 characters in length. - # Filtering by partial friendly names is allowed, using wildcards (e.g. - # `*my*hook*`). + # @param [Boolean] enabled Read only CompositionHook resources with an `enabled` + # value that matches this parameter. + # @param [Time] date_created_after Read only CompositionHook resources created on + # or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with + # time zone. + # @param [Time] date_created_before Read only CompositionHook resources created + # before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with + # time zone. + # @param [String] friendly_name Read only CompositionHook resources with friendly + # names that match this string. The match is not case sensitive and can include + # asterisk `*` characters as wildcard match. # @param [String] page_token PageToken provided by the API # @param [Integer] page_number Page Number, this value is simply for client state # @param [Integer] page_size Number of records to return, defaults to 50 # @return [Page] Page of CompositionHookInstance def page(enabled: :unset, date_created_after: :unset, date_created_before: :unset, friendly_name: :unset, page_token: :unset, page_number: :unset, page_size: :unset) @@ -161,67 +158,71 @@ end ## # Retrieve a single page of CompositionHookInstance records from the API. # Request is executed immediately. - # @param [String] friendly_name Friendly name of the Composition Hook to be shown - # in the console, must be unique per account and up to 100 characters. - # @param [Boolean] enabled Boolean flag indicating if the Composition Hook is - # active. Possible values are `true` or `false`. When `true`, the Composition Hook - # will be triggered for every completed Group Room on this account. When `false`, - # the Composition Hook never triggers. - # @param [Hash] video_layout A JSON object defining the video layout of the - # Composition Hook in terms of regions. See the section [Specifying Video - # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for further information. - # @param [String] audio_sources An array of audio sources to merge. All the - # specified sources must belong to the same Group Room. It can include zero or - # more Track names. These can be specified using wildcards (e.g. `student*`). The - # use of `[*]` has semantics "all if any" meaning zero or more (i.e. all) - # depending on whether the Group Room had audio tracks. - # @param [String] audio_sources_excluded An array of audio sources to exclude from - # the Composition Hook. Any new Composition triggered by the Composition Hook - # shall include all audio sources specified in `AudioSources` except for the ones - # specified in `AudioSourcesExcluded`. This parameter may include zero or more - # Track names. These can be specified using wildcards (e.g. `student*`). - # @param [String] resolution A string representing the number of pixels for rows - # (width) and columns (height) of the generated composed video. This string must - # have the format `{width}x{height}`. This parameter must comply with the - # following constraints: + # @param [String] friendly_name A descriptive string that you create to describe + # the resource. It can be up to 100 characters long and it must be unique within + # the account. + # @param [Boolean] enabled Whether the composition hook is active. When `true`, + # the composition hook will be triggered for every completed Group Room in the + # account. When `false`, the composition hook will never be triggered. + # @param [Hash] video_layout An object that describes the video layout of the + # composition hook in terms of regions. See [Specifying Video + # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info. + # @param [String] audio_sources An array of track names from the same group room + # to merge into the compositions created by the composition hook. Can include zero + # or more track names. A composition triggered by the composition hook includes + # all audio sources specified in `audio_sources` except those specified in + # `audio_sources_excluded`. The track names in this parameter can include an + # asterisk as a wild card character, which matches zero or more characters in a + # track name. For example, `student*` includes tracks named `student` as well as + # `studentTeam`. + # @param [String] audio_sources_excluded An array of track names to exclude. A + # composition triggered by the composition hook includes all audio sources + # specified in `audio_sources` except for those specified in + # `audio_sources_excluded`. The track names in this parameter can include an + # asterisk as a wild card character, which matches zero or more characters in a + # track name. For example, `student*` excludes `student` as well as `studentTeam`. + # This parameter can also be empty. + # @param [String] resolution A string that describes the columns (width) and rows + # (height) of the generated composed video in pixels. Defaults to `640x480`. + # The string's format is `{width}x{height}` where: # - # * `width >= 16 && width <= 1280` - # * `height >= 16 && height <= 1280` - # * `width * height <= 921,600` + # * 16 <= `{width}` <= 1280 + # * 16 <= `{height}` <= 1280 + # * `{width}` * `{height}` <= 921,600 # # Typical values are: # # * HD = `1280x720` # * PAL = `1024x576` # * VGA = `640x480` # * CIF = `320x240` # - # Note that the `Resolution` implicitly imposes an aspect ratio to the resulting - # composition. When the original video tracks get constrained by this aspect ratio - # they are scaled-down to fit. You can find detailed information in the - # [Specifying Video - # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) section. Defaults to `640x480`. - # @param [composition_hook.Format] format Container format of the Composition - # media files created by the Composition Hook. Can be any of the following: `mp4`, - # `webm`. The use of `mp4` or `webm` makes mandatory the specification of - # `AudioSources` and/or one `VideoLayout` element containing a valid - # `video_sources` list, otherwise an error is fired. Defaults to `webm`. - # @param [String] status_callback A URL that Twilio sends asynchronous webhook - # requests to on every composition event. If not provided, status callback events - # will not be dispatched. - # @param [String] status_callback_method HTTP method Twilio should use when - # requesting the above URL. Defaults to `POST`. - # @param [Boolean] trim When activated, clips all the intervals where there is no - # active media in the Compositions triggered by the Composition Hook. This results - # in shorter compositions in cases when the Room was created but no Participant - # joined for some time, or if all the Participants left the room and joined at a - # later stage, as those gaps will be removed. You can find further information in - # the [Specifying Video - # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) section. Defaults to `true`. + # Note that the `resolution` imposes an aspect ratio to the resulting composition. + # When the original video tracks are constrained by the aspect ratio, they are + # scaled to fit. See [Specifying Video + # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info. + # @param [composition_hook.Format] format The container format of the media files + # used by the compositions created by the composition hook. Can be: `mp4` or + # `webm` and the default is `webm`. If `mp4` or `webm`, `audio_sources` must have + # one or more tracks and/or a `video_layout` element must contain a valid + # `video_sources` list, otherwise an error occurs. + # @param [String] status_callback The URL we should call using the + # `status_callback_method` to send status information to your application on every + # composition event. If not provided, status callback events will not be + # dispatched. + # @param [String] status_callback_method The HTTP method we should use to call + # `status_callback`. Can be: `POST` or `GET` and the default is `POST`. + # @param [Boolean] trim Whether to clip the intervals where there is no active + # media in the Compositions triggered by the composition hook. The default is + # `true`. Compositions with `trim` enabled are shorter when the Room is created + # and no Participant joins for a while as well as if all the Participants leave + # the room and join later, because those gaps will be removed. See [Specifying + # Video + # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info. # @return [CompositionHookInstance] Newly created CompositionHookInstance 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) data = Twilio::Values.of({ 'FriendlyName' => friendly_name, 'Enabled' => enabled, @@ -286,12 +287,11 @@ # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com. class CompositionHookContext < InstanceContext ## # Initialize the CompositionHookContext # @param [Version] version Version that contains the resource - # @param [String] sid The Composition Hook Sid that uniquely identifies the - # Composition Hook to fetch. + # @param [String] sid The SID of the CompositionHook resource to fetch. # @return [CompositionHookContext] CompositionHookContext def initialize(version, sid) super(version) # Path Solution @@ -321,56 +321,71 @@ @version.delete('delete', @uri) end ## # Update the CompositionHookInstance - # @param [String] friendly_name Friendly name of the Composition Hook to be shown - # in the console, must be unique per account and up to 100 characters. - # @param [Boolean] enabled Boolean flag indicating if the Composition Hook is - # active. Possible values are `true` or `false`. When `true`, the Composition Hook - # will be triggered for every completed Group Room on this account. When `false`, - # the Composition Hook never triggers. - # @param [Hash] video_layout A JSON object defining the video layout of the - # Composition Hook in terms of regions. See the section [Specifying Video - # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for further information. - # @param [String] audio_sources An array of audio sources to merge. All the - # specified sources must belong to the same Group Room. It can include zero or - # more Track names. These can be specified using wildcards (e.g. `student*`). The - # use of `[*]` has semantics "all if any" meaning zero or more (i.e. all) - # depending on whether the Group Room had audio tracks. - # @param [String] audio_sources_excluded An array of audio sources to exclude from - # the Composition Hook. Any new Composition triggered by the Composition Hook - # shall include all audio sources specified in `AudioSources` except for the ones - # specified in `AudioSourcesExcluded`. This parameter may include zero or more - # Track names. These can be specified using wildcards (e.g. `student*`). - # @param [Boolean] trim When activated, clips all the intervals where there is no - # active media in the Compositions triggered by the Composition Hook. This results - # in shorter compositions in cases when the Room was created but no Participant - # joined for some time, or if all the Participants left the room and joined at a - # later stage, as those gaps will be removed. You can find further information in - # the [Specifying Video - # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) section. Defaults to `true`. - # @param [composition_hook.Format] format Container format of the Composition - # media files created by the Composition Hook. Can be any of the following: `mp4`, - # `webm`. The use of `mp4` or `webm` makes mandatory the specification of - # `AudioSources` and/or one `VideoLayout` element containing a valid - # `video_sources` list, otherwise an error is fired. Defaults to `webm`. - # @param [String] resolution A string representing the number of pixels for rows - # (width) and columns (height) of the generated composed video. This string must - # have the format `{width}x{height}`. This parameter must comply with the - # following constraints: `width >= 16 && width <= 1280`, `height >= 16 && height - # <= 1280`, `width * height <= 921,600`. Typical values are: HD = `1280x720`, PAL - # = `1024x576`, VGA = `640x480`, CIF = `320x240`. Note that the `Resolution` - # implicitly imposes an aspect ratio to the resulting composition. When the - # original video tracks get constrained by this aspect ratio they are scaled-down - # to fit. You can find detailed information in the [Specifying Video - # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) section. Defaults to `640x480`. - # @param [String] status_callback A URL that Twilio sends asynchronous webhook - # requests to on every composition event. If not provided, status callback events - # will not be dispatched. - # @param [String] status_callback_method HTTP method Twilio should use when - # requesting the above URL. Defaults to `POST`. + # @param [String] friendly_name A descriptive string that you create to describe + # the resource. It can be up to 100 characters long and it must be unique within + # the account. + # @param [Boolean] enabled Whether the composition hook is active. When `true`, + # the composition hook will be triggered for every completed Group Room in the + # account. When `false`, the composition hook never triggers. + # @param [Hash] video_layout A JSON object that describes the video layout of the + # composition hook in terms of regions. See [Specifying Video + # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info. + # @param [String] audio_sources An array of track names from the same group room + # to merge into the compositions created by the composition hook. Can include zero + # or more track names. A composition triggered by the composition hook includes + # all audio sources specified in `audio_sources` except those specified in + # `audio_sources_excluded`. The track names in this parameter can include an + # asterisk as a wild card character, which matches zero or more characters in a + # track name. For example, `student*` includes tracks named `student` as well as + # `studentTeam`. + # @param [String] audio_sources_excluded An array of track names to exclude. A + # composition triggered by the composition hook includes all audio sources + # specified in `audio_sources` except for those specified in + # `audio_sources_excluded`. The track names in this parameter can include an + # asterisk as a wild card character, which matches zero or more characters in a + # track name. For example, `student*` excludes `student` as well as `studentTeam`. + # This parameter can also be empty. + # @param [Boolean] trim Whether to clip the intervals where there is no active + # media in the compositions triggered by the composition hook. The default is + # `true`. Compositions with `trim` enabled are shorter when the Room is created + # and no Participant joins for a while as well as if all the Participants leave + # the room and join later, because those gaps will be removed. See [Specifying + # Video + # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info. + # @param [composition_hook.Format] format The container format of the media files + # used by the compositions created by the composition hook. Can be: `mp4` or + # `webm` and the default is `webm`. If `mp4` or `webm`, `audio_sources` must have + # one or more tracks and/or a `video_layout` element must contain a valid + # `video_sources` list, otherwise an error occurs. + # @param [String] resolution A string that describes the columns (width) and rows + # (height) of the generated composed video in pixels. Defaults to `640x480`. + # The string's format is `{width}x{height}` where: + # + # * 16 <= `{width}` <= 1280 + # * 16 <= `{height}` <= 1280 + # * `{width}` * `{height}` <= 921,600 + # + # Typical values are: + # + # * HD = `1280x720` + # * PAL = `1024x576` + # * VGA = `640x480` + # * CIF = `320x240` + # + # Note that the `resolution` imposes an aspect ratio to the resulting composition. + # When the original video tracks are constrained by the aspect ratio, they are + # scaled to fit. See [Specifying Video + # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info. + # @param [String] status_callback The URL we should call using the + # `status_callback_method` to send status information to your application on every + # composition event. If not provided, status callback events will not be + # dispatched. + # @param [String] status_callback_method The HTTP method we should use to call + # `status_callback`. Can be: `POST` or `GET` and the default is `POST`. # @return [CompositionHookInstance] Updated CompositionHookInstance 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) data = Twilio::Values.of({ 'FriendlyName' => friendly_name, 'Enabled' => enabled, @@ -413,12 +428,11 @@ class CompositionHookInstance < InstanceResource ## # Initialize the CompositionHookInstance # @param [Version] version Version that contains the resource # @param [Hash] payload payload that contains response from Twilio - # @param [String] sid The Composition Hook Sid that uniquely identifies the - # Composition Hook to fetch. + # @param [String] sid The SID of the CompositionHook resource to fetch. # @return [CompositionHookInstance] CompositionHookInstance def initialize(version, payload, sid: nil) super(version) # Marshaled Properties @@ -455,95 +469,95 @@ end @instance_context end ## - # @return [String] Twilio Account SID. + # @return [String] The SID of the Account that created the resource def account_sid @properties['account_sid'] end ## - # @return [String] Friendly name of the Composition Hook to be shown in the console. + # @return [String] The string that you assigned to describe the resource def friendly_name @properties['friendly_name'] end ## - # @return [Boolean] Boolean flag indicating if the Composition Hook is active. + # @return [Boolean] Whether the CompositionHook is active def enabled @properties['enabled'] end ## - # @return [Time] Date when the Composition Hook Resource was created. + # @return [Time] The ISO 8601 date and time in GMT when the resource was created def date_created @properties['date_created'] end ## - # @return [String] Date when the Composition Hook was last updated. + # @return [String] The ISO 8601 date and time in GMT when the resource was last updated def date_updated @properties['date_updated'] end ## - # @return [String] A 34-character string that uniquely identifies this Composition Hook. + # @return [String] The unique string that identifies the resource def sid @properties['sid'] end ## - # @return [String] A list of audio sources related to this Composition Hook. + # @return [String] The array of track names to include in the compositions created by the composition hook def audio_sources @properties['audio_sources'] end ## - # @return [String] A list of audio sources excluded related to this Composition Hook. + # @return [String] The array of track names to exclude from the compositions created by the composition hook def audio_sources_excluded @properties['audio_sources_excluded'] end ## - # @return [Hash] The JSON video layout description. + # @return [Hash] A JSON object that describes the video layout of the Composition def video_layout @properties['video_layout'] end ## - # @return [String] Pixel resolution of the composed video. + # @return [String] The dimensions of the video image in pixels expressed as columns (width) and rows (height) def resolution @properties['resolution'] end ## - # @return [Boolean] Boolean flag for clipping intervals that have no media. + # @return [Boolean] Whether intervals with no media are clipped def trim @properties['trim'] end ## - # @return [composition_hook.Format] The file format for the Compositions triggered by the Composition Hook. + # @return [composition_hook.Format] The container format of the media files used by the compositions created by the composition hook def format @properties['format'] end ## - # @return [String] A URL that Twilio sends asynchronous webhook requests to on every composition event. + # @return [String] The URL to send status information to your application def status_callback @properties['status_callback'] end ## - # @return [String] HTTP method Twilio should use when requesting the above URL. + # @return [String] The HTTP method we should use to call status_callback def status_callback_method @properties['status_callback_method'] end ## - # @return [String] The absolute URL for this resource. + # @return [String] The absolute URL of the resource def url @properties['url'] end ## @@ -560,55 +574,70 @@ context.delete end ## # Update the CompositionHookInstance - # @param [String] friendly_name Friendly name of the Composition Hook to be shown - # in the console, must be unique per account and up to 100 characters. - # @param [Boolean] enabled Boolean flag indicating if the Composition Hook is - # active. Possible values are `true` or `false`. When `true`, the Composition Hook - # will be triggered for every completed Group Room on this account. When `false`, - # the Composition Hook never triggers. - # @param [Hash] video_layout A JSON object defining the video layout of the - # Composition Hook in terms of regions. See the section [Specifying Video - # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for further information. - # @param [String] audio_sources An array of audio sources to merge. All the - # specified sources must belong to the same Group Room. It can include zero or - # more Track names. These can be specified using wildcards (e.g. `student*`). The - # use of `[*]` has semantics "all if any" meaning zero or more (i.e. all) - # depending on whether the Group Room had audio tracks. - # @param [String] audio_sources_excluded An array of audio sources to exclude from - # the Composition Hook. Any new Composition triggered by the Composition Hook - # shall include all audio sources specified in `AudioSources` except for the ones - # specified in `AudioSourcesExcluded`. This parameter may include zero or more - # Track names. These can be specified using wildcards (e.g. `student*`). - # @param [Boolean] trim When activated, clips all the intervals where there is no - # active media in the Compositions triggered by the Composition Hook. This results - # in shorter compositions in cases when the Room was created but no Participant - # joined for some time, or if all the Participants left the room and joined at a - # later stage, as those gaps will be removed. You can find further information in - # the [Specifying Video - # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) section. Defaults to `true`. - # @param [composition_hook.Format] format Container format of the Composition - # media files created by the Composition Hook. Can be any of the following: `mp4`, - # `webm`. The use of `mp4` or `webm` makes mandatory the specification of - # `AudioSources` and/or one `VideoLayout` element containing a valid - # `video_sources` list, otherwise an error is fired. Defaults to `webm`. - # @param [String] resolution A string representing the number of pixels for rows - # (width) and columns (height) of the generated composed video. This string must - # have the format `{width}x{height}`. This parameter must comply with the - # following constraints: `width >= 16 && width <= 1280`, `height >= 16 && height - # <= 1280`, `width * height <= 921,600`. Typical values are: HD = `1280x720`, PAL - # = `1024x576`, VGA = `640x480`, CIF = `320x240`. Note that the `Resolution` - # implicitly imposes an aspect ratio to the resulting composition. When the - # original video tracks get constrained by this aspect ratio they are scaled-down - # to fit. You can find detailed information in the [Specifying Video - # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) section. Defaults to `640x480`. - # @param [String] status_callback A URL that Twilio sends asynchronous webhook - # requests to on every composition event. If not provided, status callback events - # will not be dispatched. - # @param [String] status_callback_method HTTP method Twilio should use when - # requesting the above URL. Defaults to `POST`. + # @param [String] friendly_name A descriptive string that you create to describe + # the resource. It can be up to 100 characters long and it must be unique within + # the account. + # @param [Boolean] enabled Whether the composition hook is active. When `true`, + # the composition hook will be triggered for every completed Group Room in the + # account. When `false`, the composition hook never triggers. + # @param [Hash] video_layout A JSON object that describes the video layout of the + # composition hook in terms of regions. See [Specifying Video + # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info. + # @param [String] audio_sources An array of track names from the same group room + # to merge into the compositions created by the composition hook. Can include zero + # or more track names. A composition triggered by the composition hook includes + # all audio sources specified in `audio_sources` except those specified in + # `audio_sources_excluded`. The track names in this parameter can include an + # asterisk as a wild card character, which matches zero or more characters in a + # track name. For example, `student*` includes tracks named `student` as well as + # `studentTeam`. + # @param [String] audio_sources_excluded An array of track names to exclude. A + # composition triggered by the composition hook includes all audio sources + # specified in `audio_sources` except for those specified in + # `audio_sources_excluded`. The track names in this parameter can include an + # asterisk as a wild card character, which matches zero or more characters in a + # track name. For example, `student*` excludes `student` as well as `studentTeam`. + # This parameter can also be empty. + # @param [Boolean] trim Whether to clip the intervals where there is no active + # media in the compositions triggered by the composition hook. The default is + # `true`. Compositions with `trim` enabled are shorter when the Room is created + # and no Participant joins for a while as well as if all the Participants leave + # the room and join later, because those gaps will be removed. See [Specifying + # Video + # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info. + # @param [composition_hook.Format] format The container format of the media files + # used by the compositions created by the composition hook. Can be: `mp4` or + # `webm` and the default is `webm`. If `mp4` or `webm`, `audio_sources` must have + # one or more tracks and/or a `video_layout` element must contain a valid + # `video_sources` list, otherwise an error occurs. + # @param [String] resolution A string that describes the columns (width) and rows + # (height) of the generated composed video in pixels. Defaults to `640x480`. + # The string's format is `{width}x{height}` where: + # + # * 16 <= `{width}` <= 1280 + # * 16 <= `{height}` <= 1280 + # * `{width}` * `{height}` <= 921,600 + # + # Typical values are: + # + # * HD = `1280x720` + # * PAL = `1024x576` + # * VGA = `640x480` + # * CIF = `320x240` + # + # Note that the `resolution` imposes an aspect ratio to the resulting composition. + # When the original video tracks are constrained by the aspect ratio, they are + # scaled to fit. See [Specifying Video + # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info. + # @param [String] status_callback The URL we should call using the + # `status_callback_method` to send status information to your application on every + # composition event. If not provided, status callback events will not be + # dispatched. + # @param [String] status_callback_method The HTTP method we should use to call + # `status_callback`. Can be: `POST` or `GET` and the default is `POST`. # @return [CompositionHookInstance] Updated CompositionHookInstance 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) context.update( friendly_name: friendly_name, enabled: enabled, \ No newline at end of file