
    g                         S r SSKJr  SSKJrJrJrJrJrJrJ	r	  SSK
JrJrJr  SSKJr  SSKJr  SSKJr  SSKJr  SS	KJr   " S
 S\5      r " S S\5      r " S S\5      r " S S\5      rg)a  
 This code was generated by
___ _ _ _ _ _    _ ____    ____ ____ _    ____ ____ _  _ ____ ____ ____ ___ __   __
 |  | | | | |    | |  | __ |  | |__| | __ | __ |___ |\ | |___ |__/ |__|  | |  | |__/
 |  |_|_| | |___ | |__|    |__| |  | |    |__] |___ | \| |___ |  \ |  |  | |__| |  \

 Twilio - Video
 This is the public Twilio REST API.

 NOTE: This class is auto generated by OpenAPI Generator.
 https://openapi-generator.tech
 Do not edit the class manually.
    )datetime)AnyDictListOptionalUnionIteratorAsyncIterator)deserialize	serializevalues)InstanceContext)InstanceResource)ListResource)Version)Pagec                     ^  \ rS rSr " S S\5      r  SS\S\\\	4   S\
\   4U 4S jjjr\SS	 j5       rS\4S
 jrS\4S jrSS jrSS jr\R(                  \R(                  \R(                  \R(                  \R(                  \R(                  \R(                  \R(                  \R(                  4	S\S\\\4   S\\\4   S\\\   \4   S\\\   \4   S\\\4   S\S\4   S\\\4   S\\\4   S\\\4   SS 4S jjr\R(                  \R(                  \R(                  \R(                  \R(                  \R(                  \R(                  \R(                  \R(                  4	S\S\\\4   S\\\4   S\\\   \4   S\\\   \4   S\\\4   S\S\4   S\\\4   S\\\4   S\\\4   SS 4S jjrS\4S jrSrU =r$ ) CompositionHookInstance   c                       \ rS rSrSrSrSrg)CompositionHookInstance.Format   mp4webm N)__name__
__module____qualname____firstlineno__MP4WEBM__static_attributes__r       m/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/twilio/rest/video/v1/composition_hook.pyFormatr      s    r#   r%   versionpayloadsidc                 N  > [         TU ]  U5        UR                  S5      U l        UR                  S5      U l        UR                  S5      U l        [        R                  " UR                  S5      5      U l        [        R                  " UR                  S5      5      U l	        UR                  S5      U l
        UR                  S5      U l        UR                  S5      U l        UR                  S	5      U l        UR                  S
5      U l        UR                  S5      U l        UR                  S5      U l        UR                  S5      U l        UR                  S5      U l        UR                  S5      U l        SU=(       d    U R                  0U l        S U l        g )Naccount_sidfriendly_nameenableddate_createddate_updatedr(   audio_sourcesaudio_sources_excludedvideo_layout
resolutiontrimformatstatus_callbackstatus_callback_methodurl)super__init__getr*   r+   r,   r   iso8601_datetimer-   r.   r(   r/   r0   r1   r2   r3   r4   r5   r6   r7   	_solution_context)selfr&   r'   r(   	__class__s       r$   r9    CompositionHookInstance.__init__1   sX    	!*1++m*D,3KK,H'.{{9'=0;0L0LKK'1
 1<0L0LKK'1
 #*++e"429++o2N;B;;$<
# :A^9T)0\)B$+KK$7	BI++hBW.5kk:K.L5<[[$6
# #*++e"4 3?$((
 ;?r#   returnc                     U R                   c&  [        U R                  U R                  S   S9U l         U R                   $ )z
Generate an instance context for the instance, the context is capable of
performing various actions. All instance actions are proxied to the context

:returns: CompositionHookContext for this CompositionHookInstance
r(   r(   )r=   CompositionHookContext_versionr<   r>   s    r$   _proxyCompositionHookInstance._proxyS   s9     == 2NN5)DM }}r#   c                 6    U R                   R                  5       $ )Z
Deletes the CompositionHookInstance


:returns: True if delete succeeds, False otherwise
)rG   deleterF   s    r$   rK   CompositionHookInstance.deleteb   s     {{!!##r#   c                 R   #    U R                   R                  5       I Sh  vN $  N7f)v
Asynchronous coroutine that deletes the CompositionHookInstance


:returns: True if delete succeeds, False otherwise
N)rG   delete_asyncrF   s    r$   rO   $CompositionHookInstance.delete_asynck   s       [[--////   '%'c                 6    U R                   R                  5       $ )S
Fetch the CompositionHookInstance


:returns: The fetched CompositionHookInstance
)rG   fetchrF   s    r$   rT   CompositionHookInstance.fetcht   s     {{  ""r#   c                 R   #    U R                   R                  5       I Sh  vN $  N7f)m
Asynchronous coroutine to fetch the CompositionHookInstance


:returns: The fetched CompositionHookInstance
N)rG   fetch_asyncrF   s    r$   rX   #CompositionHookInstance.fetch_async}   s       [[,,....rQ   r+   r,   r1   r/   r0   r3   r4   r   r2   r5   r6   c                 F    U R                   R                  UUUUUUUUU	U
S9
$ )  
Update the CompositionHookInstance

:param 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 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 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 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 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 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 format:
:param 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 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 status_callback_method: The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.

:returns: The updated CompositionHookInstance

r+   r,   r1   r/   r0   r3   r4   r2   r5   r6   )rG   updater>   r+   r,   r1   r/   r0   r3   r4   r2   r5   r6   s              r$   r]   CompositionHookInstance.update   s>    : {{!!'%'#9!+#9 " 
 	
r#   c                 b   #    U R                   R                  UUUUUUUUU	U
S9
I Sh  vN $  N7f)  
Asynchronous coroutine to update the CompositionHookInstance

:param 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 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 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 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 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 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 format:
:param 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 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 status_callback_method: The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.

:returns: The updated CompositionHookInstance
r\   N)rG   update_asyncr^   s              r$   rb   $CompositionHookInstance.update_async   sK     : [[--'%'#9!+#9 . 
 
 	
 
s   &/-/c                     SR                  S U R                  R                  5        5       5      nSR                  U5      $ )N
Provide a friendly representation

:returns: Machine friendly representation
 c              3   H   #    U  H  u  pS R                  X5      v   M     g7fz{}={}Nr4   .0kvs      r$   	<genexpr>3CompositionHookInstance.__repr__.<locals>.<genexpr>         S<RDA7>>!//<R    "z,<Twilio.Video.V1.CompositionHookInstance {}>joinr<   itemsr4   r>   contexts     r$   __repr__ CompositionHookInstance.__repr__   s6     ((SDNN<P<P<RSS=DDWMMr#   )r=   r<   r*   r/   r0   r-   r.   r,   r4   r+   r2   r(   r5   r6   r3   r7   r1   N)rA   rD   )rA   r   )r   r   r   r   objectr%   r   r   strr   r   r9   propertyrG   boolrK   rO   rT   rX   r   unsetr   r   r]   rb   rw   r"   __classcell__r?   s   @r$   r   r      s    & OS ? ?)-c3h ?>Fsm ?  ?D  $ $0D 0#/ (.||.4ll28,,;A<<$*LLBH,,)/.4ll5;\\(
(
 tV|$(
 FFN+	(

 T#Y./(
 !&d3i&7 8(
 D&L!(
 6>?(
 #v+&(
 sF{+(
 !&c6k 2(
 
#(
Z (.||.4ll28,,;A<<$*LLBH,,)/.4ll5;\\(
(
 tV|$(
 FFN+	(

 T#Y./(
 !&d3i&7 8(
 D&L!(
 6>?(
 #v+&(
 sF{+(
 !&c6k 2(
 
#(
TN# N Nr#   r   c                   F  ^  \ rS rSrS\S\4U 4S jjrS\4S jrS\4S jr	S\
4S jrS\
4S	 jr\R                  \R                  \R                  \R                  \R                  \R                  \R                  \R                  \R                  4	S
\S\\\4   S\\\4   S\\\   \4   S\\\   \4   S\\\4   S\S\4   S\\\4   S\\\4   S\\\4   S\
4S jjr\R                  \R                  \R                  \R                  \R                  \R                  \R                  \R                  \R                  4	S
\S\\\4   S\\\4   S\\\   \4   S\\\   \4   S\\\4   S\S\4   S\\\4   S\\\4   S\\\4   S\
4S jjrS\4S jrSrU =r$ )rD      r&   r(   c                 x   > [         TU ]  U5        SU0U l        SR                  " S0 U R                  D6U l        g)z
Initialize the CompositionHookContext

:param version: Version that contains the resource
:param sid: The SID of the CompositionHook resource to update.
r(   z/CompositionHooks/{sid}Nr   )r8   r9   r<   r4   _uri)r>   r&   r(   r?   s      r$   r9   CompositionHookContext.__init__   s=     	! 3
 .44Ft~~F	r#   rA   c                 x    [         R                  " 0 5      nU R                  R                  SU R                  US9$ )rJ   DELETEmethoduriheaders)r   ofrE   rK   r   r>   r   s     r$   rK   CompositionHookContext.delete   s1     ))B-}}##8G#TTr#   c                    #    [         R                  " 0 5      nU R                  R                  SU R                  US9I Sh  vN $  N7f)rN   r   r   N)r   r   rE   rO   r   r   s     r$   rO   #CompositionHookContext.delete_async  sE      ))B-]]//G 0 
 
 	
 
s   ?AAAc                     [         R                  " 0 5      nSUS'   U R                  R                  SU R                  US9n[        U R                  UU R                  S   S9$ )rS   application/jsonAcceptGETr   r(   rC   )r   r   rE   rT   r   r   r<   r>   r   r'   s      r$   rT   CompositionHookContext.fetch  s]     ))B-.--%%U		7%S&MMu%
 	
r#   c                    #    [         R                  " 0 5      nSUS'   U R                  R                  SU R                  US9I Sh  vN n[        U R                  UU R                  S   S9$  N&7f)rW   r   r   r   r   Nr(   rC   )r   r   rE   rX   r   r   r<   r   s      r$   rX   "CompositionHookContext.fetch_async#  sq      ))B-.11dii 2 
 
 'MMu%
 	
	
s   AA/A-'A/r+   r,   r1   r/   r0   r3   r4   r   r2   r5   r6   c                    [         R                  " U[        R                  " U5      [        R                  " U5      [        R
                  " US 5      [        R
                  " US 5      [        R                  " U5      UUU	U
S.
5      n[         R                  " 0 5      nSUS'   SUS'   U R                  R                  SU R                  XS	9n[        U R                  XR                  S
   S9$ )r[   c                     U $ ry   r   es    r$   <lambda>/CompositionHookContext.update.<locals>.<lambda>\      qr#   c                     U $ ry   r   r   s    r$   r   r   ^      ar#   
FriendlyNameEnabledVideoLayoutAudioSourcesAudioSourcesExcludedTrimr%   
ResolutionStatusCallbackStatusCallbackMethod!application/x-www-form-urlencodedContent-Typer   r   POSTr   r   datar   r(   rC   )r   r   r   boolean_to_stringrz   maprE   r]   r   r   r<   r>   r+   r,   r1   r/   r0   r3   r4   r2   r5   r6   r   r   r'   s                 r$   r]   CompositionHookContext.update9  s    < yy -$66w?(//= )m[ I(1*K) "33D9 ("1(>
  ))B-"E.--&&tyyt ' 
 'MM7u(=
 	
r#   c                   #    [         R                  " U[        R                  " U5      [        R                  " U5      [        R
                  " US 5      [        R
                  " US 5      [        R                  " U5      UUU	U
S.
5      n[         R                  " 0 5      nSUS'   SUS'   U R                  R                  SU R                  XS	9I S
h  vN n[        U R                  XR                  S   S9$  N%7f)ra   c                     U $ ry   r   r   s    r$   r   5CompositionHookContext.update_async.<locals>.<lambda>  r   r#   c                     U $ ry   r   r   s    r$   r   r     r   r#   r   r   r   r   r   r   r   Nr(   rC   )r   r   r   r   rz   r   rE   rb   r   r   r<   r   s                 r$   rb   #CompositionHookContext.update_asyncu  s     < yy -$66w?(//= )m[ I(1*K) "33D9 ("1(>
  ))B-"E.22tyyt 3 
 
 'MM7u(=
 	
	
s   CC<C:&C<c                     SR                  S U R                  R                  5        5       5      nSR                  U5      $ )re   rf   c              3   H   #    U  H  u  pS R                  X5      v   M     g7frh   ri   rj   s      r$   rn   2CompositionHookContext.__repr__.<locals>.<genexpr>  rp   rq   z+<Twilio.Video.V1.CompositionHookContext {}>rr   ru   s     r$   rw   CompositionHookContext.__repr__  s6     ((SDNN<P<P<RSS<CCGLLr#   )r<   r   )r   r   r   r   r   r{   r9   r}   rK   rO   r   rT   rX   r   r~   r   rz   r   r]   rb   rw   r"   r   r   s   @r$   rD   rD      s   G Gc G
U 
U
D 

. 
(
#: 
2 (.||.4ll28,,;A<<$*LLBH,,)/.4ll5;\\:
:
 tV|$:
 FFN+	:

 T#Y./:
 !&d3i&7 8:
 D&L!:
 6>?:
 #v+&:
 sF{+:
 !&c6k 2:
 
!:
~ (.||.4ll28,,;A<<$*LLBH,,)/.4ll5;\\:
:
 tV|$:
 FFN+	:

 T#Y./:
 !&d3i&7 8:
 D&L!:
 6>?:
 #v+&:
 sF{+:
 !&c6k 2:
 
!:
xM# M Mr#   rD   c                   >    \ rS rSrS\\\4   S\4S jrS\4S jr	Sr
g)CompositionHookPagei  r'   rA   c                 .    [        U R                  U5      $ )z]
Build an instance of CompositionHookInstance

:param payload: Payload response from the API
)r   rE   )r>   r'   s     r$   get_instance CompositionHookPage.get_instance  s     't}}g>>r#   c                     g)re   z%<Twilio.Video.V1.CompositionHookPage>r   rF   s    r$   rw   CompositionHookPage.__repr__       7r#   r   N)r   r   r   r   r   r{   r   r   r   rw   r"   r   r#   r$   r   r     s*    ?DcN ?7N ?7# 7r#   r   c                   n  ^  \ rS rSrS\4U 4S jjr\R                  \R                  \R                  \R                  \R                  \R                  \R                  \R                  \R                  4	S\S\	\
\4   S\	\\4   S\	\\   \4   S\	\\   \4   S	\	\\4   S
\	S\4   S\	\\4   S\	\\4   S\	\
\4   S\4S jjr\R                  \R                  \R                  \R                  \R                  \R                  \R                  \R                  \R                  4	S\S\	\
\4   S\	\\4   S\	\\   \4   S\	\\   \4   S	\	\\4   S
\	S\4   S\	\\4   S\	\\4   S\	\
\4   S\4S jjr\R                  \R                  \R                  \R                  SS4S\	\
\4   S\	\\4   S\	\\4   S\	\\4   S\\   S\\   S\\   4S jjr\R                  \R                  \R                  \R                  SS4S\	\
\4   S\	\\4   S\	\\4   S\	\\4   S\\   S\\   S\\   4S jjr\R                  \R                  \R                  \R                  SS4S\	\
\4   S\	\\4   S\	\\4   S\	\\4   S\\   S\\   S\\   4S jjr\R                  \R                  \R                  \R                  SS4S\	\
\4   S\	\\4   S\	\\4   S\	\\4   S\\   S\\   S\\   4S jjr\R                  \R                  \R                  \R                  \R                  \R                  \R                  4S\	\
\4   S\	\\4   S\	\\4   S\	\\4   S\	\\4   S\	\\4   S\	\\4   S\4S jjr\R                  \R                  \R                  \R                  \R                  \R                  \R                  4S\	\
\4   S\	\\4   S\	\\4   S\	\\4   S\	\\4   S\	\\4   S\	\\4   S\4S jjrS\S\4S  jrS\S\4S! jrS"\S\4S# jrS"\S\4S$ jr S\4S% jr!S&r"U =r#$ )'CompositionHookListi  r&   c                 2   > [         TU ]  U5        SU l        g)zY
Initialize the CompositionHookList

:param version: Version that contains the resource

z/CompositionHooksN)r8   r9   r   )r>   r&   r?   s     r$   r9   CompositionHookList.__init__  s     	!'	r#   r+   r,   r1   r/   r0   r2   r4   r   r5   r6   r3   rA   c                    [         R                  " U[        R                  " U5      [        R                  " U5      [        R
                  " US 5      [        R
                  " US 5      UUUU	[        R                  " U
5      S.
5      n[         R                  " SS05      nSUS'   SUS'   U R                  R                  SU R                  XS	9n[        U R                  U5      $ )
a  
Create the CompositionHookInstance

:param 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 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 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 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 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 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 format:
:param 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 status_callback_method: The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
:param 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.

:returns: The created CompositionHookInstance
c                     U $ ry   r   r   s    r$   r   ,CompositionHookList.create.<locals>.<lambda>  r   r#   c                     U $ ry   r   r   s    r$   r   r      r   r#   
r   r   r   r   r   r   r%   r   r   r   r   r   r   r   r   r   )
r   r   r   r   rz   r   rE   creater   r   r>   r+   r,   r1   r/   r0   r2   r4   r5   r6   r3   r   r   r'   s                 r$   r   CompositionHookList.create  s    < yy -$66w?(//= )m[ I(1*K) ) "1(>!33D9
  ))^-PQR"E.--&&tyyt ' 
 't}}g>>r#   c                   #    [         R                  " U[        R                  " U5      [        R                  " U5      [        R
                  " US 5      [        R
                  " US 5      UUUU	[        R                  " U
5      S.
5      n[         R                  " SS05      nSUS'   SUS'   U R                  R                  SU R                  XS	9I S
h  vN n[        U R                  U5      $  N7f)a  
Asynchronously create the CompositionHookInstance

:param 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 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 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 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 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 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 format:
:param 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 status_callback_method: The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
:param 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.

:returns: The created CompositionHookInstance
c                     U $ ry   r   r   s    r$   r   2CompositionHookList.create_async.<locals>.<lambda>8  r   r#   c                     U $ ry   r   r   s    r$   r   r   :  r   r#   r   r   r   r   r   r   r   N)
r   r   r   r   rz   r   rE   create_asyncr   r   r   s                 r$   r    CompositionHookList.create_async  s     < yy -$66w?(//= )m[ I(1*K) ) "1(>!33D9
  ))^-PQR"E.22tyyt 3 
 
 't}}g>>	
s   CC3C1C3Ndate_created_afterdate_created_beforelimit	page_sizec                     U R                   R                  XV5      nU R                  UUUUUS   S9nU R                   R                  XS   5      $ )a  
Streams CompositionHookInstance records from the API as a generator stream.
This operation lazily loads records as efficiently as possible until the limit
is reached.
The results are returned as a generator, so this operation is memory efficient.

:param bool enabled: Read only CompositionHook resources with an `enabled` value that matches this parameter.
:param datetime 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 datetime date_created_before: Read only CompositionHook resources created before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone.
:param str 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 limit: Upper limit for the number of records to return. stream()
              guarantees to never return more than limit.  Default is no limit
:param 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 efficient page size, i.e. min(limit, 1000)

:returns: Generator that will yield up to limit results
r   r,   r   r   r+   r   r   )rE   read_limitspagestream	r>   r,   r   r   r+   r   r   limitsr   s	            r$   r   CompositionHookList.streamO  sZ    8 **5<yy1 3'[)  
 }}##D/::r#   c                    #    U R                   R                  XV5      nU R                  UUUUUS   S9I Sh  vN nU R                   R                  XS   5      $  N"7f)a  
Asynchronously streams CompositionHookInstance records from the API as a generator stream.
This operation lazily loads records as efficiently as possible until the limit
is reached.
The results are returned as a generator, so this operation is memory efficient.

:param bool enabled: Read only CompositionHook resources with an `enabled` value that matches this parameter.
:param datetime 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 datetime date_created_before: Read only CompositionHook resources created before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone.
:param str 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 limit: Upper limit for the number of records to return. stream()
              guarantees to never return more than limit.  Default is no limit
:param 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 efficient page size, i.e. min(limit, 1000)

:returns: Generator that will yield up to limit results
r   r   Nr   )rE   r   
page_asyncstream_asyncr   s	            r$   r    CompositionHookList.stream_asyncv  sg     8 **5<__1 3'[) % 
 
 }}))$w@@
s   5AA#Ac                 <    [        U R                  UUUUUUS95      $ )a3  
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 bool enabled: Read only CompositionHook resources with an `enabled` value that matches this parameter.
:param datetime 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 datetime date_created_before: Read only CompositionHook resources created before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone.
:param str 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 limit: Upper limit for the number of records to return. list() guarantees
              never to return more than limit.  Default is no limit
:param 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, list() will attempt to read the limit
                  with the most efficient page size, i.e. min(limit, 1000)

:returns: list that will contain up to limit results
r,   r   r   r+   r   r   )listr   )r>   r,   r   r   r+   r   r   s          r$   r   CompositionHookList.list  s4    6 KK#5$7+#  	
 		
r#   c           	      ~   #    U R                  UUUUUUS9I Sh  vN  Vs/ s Sh  vN nUPM   N N

 sn$ s  snf 7f)aB  
Asynchronously 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 bool enabled: Read only CompositionHook resources with an `enabled` value that matches this parameter.
:param datetime 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 datetime date_created_before: Read only CompositionHook resources created before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone.
:param str 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 limit: Upper limit for the number of records to return. list() guarantees
              never to return more than limit.  Default is no limit
:param 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, list() will attempt to read the limit
                  with the most efficient page size, i.e. min(limit, 1000)

:returns: list that will contain up to limit results
r   N)r   )r>   r,   r   r   r+   r   r   records           r$   
list_asyncCompositionHookList.list_async  s]     : '+&7&7#5$7+# '8 ' ! !

 

 !

 
	
 

s0   =0=842
48=48=
page_tokenpage_numberc           
      f   [         R                  " [        R                  " U5      [        R                  " U5      [        R                  " U5      UUUUS.5      n[         R                  " SS05      n	SU	S'   U R
                  R                  SU R                  XS9n
[        U R
                  U
5      $ )a  
Retrieve a single page of CompositionHookInstance records from the API.
Request is executed immediately

:param enabled: Read only CompositionHook resources with an `enabled` value that matches this parameter.
:param 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 date_created_before: Read only CompositionHook resources created before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone.
:param 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 page_token: PageToken provided by the API
:param page_number: Page Number, this value is simply for client state
:param page_size: Number of records to return, defaults to 50

:returns: Page of CompositionHookInstance
r   DateCreatedAfterDateCreatedBeforer   	PageTokenr   PageSizer   r   r   r   r   r   r   paramsr   )	r   r   r   r   r;   rE   r   r   r   r>   r,   r   r   r+   r   r   r   r   r   responses              r$   r   CompositionHookList.page  s    0 yy$66w?$-$>$>?Q$R%.%?%?@S%T -'#%

 ))^-PQR.==%%dii & 
 #4==(;;r#   c           
        #    [         R                  " [        R                  " U5      [        R                  " U5      [        R                  " U5      UUUUS.5      n[         R                  " SS05      n	SU	S'   U R
                  R                  SU R                  XS9I Sh  vN n
[        U R
                  U
5      $  N7f)	a  
Asynchronously retrieve a single page of CompositionHookInstance records from the API.
Request is executed immediately

:param enabled: Read only CompositionHook resources with an `enabled` value that matches this parameter.
:param 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 date_created_before: Read only CompositionHook resources created before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone.
:param 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 page_token: PageToken provided by the API
:param page_number: Page Number, this value is simply for client state
:param page_size: Number of records to return, defaults to 50

:returns: Page of CompositionHookInstance
r   r   r   r   r   r   r   N)	r   r   r   r   r;   rE   r   r   r   r   s              r$   r   CompositionHookList.page_async  s     0 yy$66w?$-$>$>?Q$R%.%?%?@S%T -'#%

 ))^-PQR.11dii 2 
 
 #4==(;;
s   B B?"B=#B?
target_urlc                     U R                   R                  R                  R                  SU5      n[	        U R                   U5      $ )z
Retrieve a specific page of CompositionHookInstance records from the API.
Request is executed immediately

:param target_url: API-generated URL for the requested results page

:returns: Page of CompositionHookInstance
r   )rE   domaintwiliorequestr   r>   r   r   s      r$   get_pageCompositionHookList.get_pageD  s7     ==''..66ujI"4==(;;r#   c                    #    U R                   R                  R                  R                  SU5      I Sh  vN n[	        U R                   U5      $  N7f)z
Asynchronously retrieve a specific page of CompositionHookInstance records from the API.
Request is executed immediately

:param target_url: API-generated URL for the requested results page

:returns: Page of CompositionHookInstance
r   N)rE   r  r  request_asyncr   r  s      r$   get_page_async"CompositionHookList.get_page_asyncP  sC      --44BB5*UU"4==(;; Vs   4AAAr(   c                 *    [        U R                  US9$ ze
Constructs a CompositionHookContext

:param sid: The SID of the CompositionHook resource to update.
rC   rD   rE   r>   r(   s     r$   r:   CompositionHookList.get\       &dmm==r#   c                 *    [        U R                  US9$ r  r  r  s     r$   __call__CompositionHookList.__call__d  r  r#   c                     g)re   z%<Twilio.Video.V1.CompositionHookList>r   rF   s    r$   rw   CompositionHookList.__repr__l  r   r#   )r   )$r   r   r   r   r   r9   r   r~   r{   r   r}   rz   r   r   r   r   r   r   intr	   r   r
   r   r   r   r   r   r   r  r	  rD   r:   r  rw   r"   r   r   s   @r$   r   r     s   	( 	( (.||.4ll28,,;A<<)/BH,,.4ll5;\\$*LL8?8? tV|$8? FFN+	8?
 T#Y./8? !&d3i&7 88? #v+&8? 6>?8? sF{+8? !&c6k 28? D&L!8? 
!8?z (.||.4ll28,,;A<<)/BH,,.4ll5;\\$*LL8?8? tV|$8? FFN+	8?
 T#Y./8? !&d3i&7 88? #v+&8? 6>?8? sF{+8? !&c6k 28? D&L!8? 
!8?x (.||6<ll7=||,2LL##'%;tV|$%; "(F"23%; #8V#34	%;
 S&[)%; }%; C=%; 
)	*%;R (.||6<ll7=||,2LL##'%AtV|$%A "(F"23%A #8V#34	%A
 S&[)%A }%A C=%A 
.	/%AR (.||6<ll7=||,2LL##'$
tV|$$
 "(F"23$
 #8V#34	$

 S&[)$
 }$
 C=$
 
%	&$
P (.||6<ll7=||,2LL##'%
tV|$%
 "(F"23%
 #8V#34	%

 S&[)%
 }%
 C=%
 
%	&%
R (.||6<ll7=||,2LL)/*0,,(.+<tV|$+< "(F"23+< #8V#34	+<
 S&[)+< #v+&+< 3;'+< f%+< 
+<^ (.||6<ll7=||,2LL)/*0,,(.+<tV|$+< "(F"23+< #8V#34	+<
 S&[)+< #v+&+< 3;'+< f%+< 
+<Z
<3 
<+> 
<
<s 
<7J 
<>s >5 >>C >$: >7# 7 7r#   r   N)__doc__r   typingr   r   r   r   r   r	   r
   twilio.baser   r   r   twilio.base.instance_contextr   twilio.base.instance_resourcer   twilio.base.list_resourcer   twilio.base.versionr   twilio.base.pager   r   rD   r   r   r   r#   r$   <module>r     sj     L L L 6 6 8 : 2 ' !HN. HNVTM_ TMn7$ 7&d7, d7r#   