
    d{ig                         d Z ddlmZmZmZmZ ddlmZmZ ddl	m
Z
 ddlmZ ddlmZ ddlmZ ddlmZ  G d	 d
e      Z G d de      Z G d de      Zy)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.
    )AnyDictOptionalUnion)	serializevalues)ApiResponse)InstanceContext)InstanceResource)ListResource)Versionc                       e Zd ZdZdedeeef   f fdZe	dd       Z
ej                  ej                  ej                  ej                  ej                  fdedeeef   d	eeef   d
eeef   deeef   deeef   dd fdZej                  ej                  ej                  ej                  ej                  fdedeeef   d	eeef   d
eeef   deeef   deeef   dd fdZej                  ej                  ej                  ej                  ej                  fdedeeef   d	eeef   d
eeef   deeef   deeef   defdZej                  ej                  ej                  ej                  ej                  fdedeeef   d	eeef   d
eeef   deeef   deeef   defdZddZddZdefdZdefdZdefdZ xZS )CompositionSettingsInstancea_  
    :ivar account_sid: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the CompositionSettings resource.
    :ivar friendly_name: The string that you assigned to describe the resource and that will be shown in the console
    :ivar aws_credentials_sid: The SID of the stored Credential resource.
    :ivar aws_s3_url: The URL of the AWS S3 bucket where the compositions are stored. We only support DNS-compliant URLs like `https://documentation-example-twilio-bucket/compositions`, where `compositions` is the path in which you want the compositions to be stored. This URL accepts only URI-valid characters, as described in the [RFC 3986](https://tools.ietf.org/html/rfc3986#section-2).
    :ivar aws_storage_enabled: Whether all compositions are written to the `aws_s3_url`. When `false`, all compositions are stored in our cloud.
    :ivar encryption_key_sid: The SID of the Public Key resource used for encryption.
    :ivar encryption_enabled: Whether all compositions are stored in an encrypted form. The default is `false`.
    :ivar url: The absolute URL of the resource.
    versionpayloadc                    t         |   |       |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _	        |j                  d      | _
        d | _        y )	Naccount_sidfriendly_nameaws_credentials_sid
aws_s3_urlaws_storage_enabledencryption_key_sidencryption_enabledurl)super__init__getr   r   r   r   r   r   r   r   _context)selfr   r   	__class__s      g/home/sas/my/fyp/ringai/.venv/lib/python3.12/site-packages/twilio/rest/video/v1/composition_settings.pyr   z$CompositionSettingsInstance.__init__$   s    !*1++m*D,3KK,H29++>S2T )0\)B3:;;?T3U 18=Q1R29++>R2S")++e"4>B    returnc                 f    | j                   t        | j                        | _         | j                   S )a  
        Generate an instance context for the instance, the context is capable of
        performing various actions. All instance actions are proxied to the context

        :returns: CompositionSettingsContext for this CompositionSettingsInstance
        )r   CompositionSettingsContext_versionr   s    r!   _proxyz"CompositionSettingsInstance._proxy2   s-     == 6DM }}r"   r   r   r   r   r   r   c                 D    | j                   j                  ||||||      S )I  
        Create the CompositionSettingsInstance

        :param friendly_name: A descriptive string that you create to describe the resource and show to the user in the console
        :param aws_credentials_sid: The SID of the stored Credential resource.
        :param encryption_key_sid: The SID of the Public Key resource to use for encryption.
        :param aws_s3_url: The URL of the AWS S3 bucket where the compositions should be stored. We only support DNS-compliant URLs like `https://documentation-example-twilio-bucket/compositions`, where `compositions` is the path in which you want the compositions to be stored. This URL accepts only URI-valid characters, as described in the [RFC 3986](https://tools.ietf.org/html/rfc3986#section-2).
        :param aws_storage_enabled: Whether all compositions should be written to the `aws_s3_url`. When `false`, all compositions are stored in our cloud.
        :param encryption_enabled: Whether all compositions should be stored in an encrypted form. The default is `false`.

        :returns: The created CompositionSettingsInstance
        r   r   r   r   r   )r(   creater   r   r   r   r   r   r   s          r!   r,   z"CompositionSettingsInstance.create@   s2    * {{!! 31! 31 " 
 	
r"   c                 `   K   | j                   j                  ||||||       d{   S 7 w)c  
        Asynchronous coroutine to create the CompositionSettingsInstance

        :param friendly_name: A descriptive string that you create to describe the resource and show to the user in the console
        :param aws_credentials_sid: The SID of the stored Credential resource.
        :param encryption_key_sid: The SID of the Public Key resource to use for encryption.
        :param aws_s3_url: The URL of the AWS S3 bucket where the compositions should be stored. We only support DNS-compliant URLs like `https://documentation-example-twilio-bucket/compositions`, where `compositions` is the path in which you want the compositions to be stored. This URL accepts only URI-valid characters, as described in the [RFC 3986](https://tools.ietf.org/html/rfc3986#section-2).
        :param aws_storage_enabled: Whether all compositions should be written to the `aws_s3_url`. When `false`, all compositions are stored in our cloud.
        :param encryption_enabled: Whether all compositions should be stored in an encrypted form. The default is `false`.

        :returns: The created CompositionSettingsInstance
        r+   N)r(   create_asyncr-   s          r!   r0   z(CompositionSettingsInstance.create_async^   s@     * [[-- 31! 31 . 
 
 	
 
   %.,.c                 D    | j                   j                  ||||||      S )ad  
        Create the CompositionSettingsInstance with HTTP info

        :param friendly_name: A descriptive string that you create to describe the resource and show to the user in the console
        :param aws_credentials_sid: The SID of the stored Credential resource.
        :param encryption_key_sid: The SID of the Public Key resource to use for encryption.
        :param aws_s3_url: The URL of the AWS S3 bucket where the compositions should be stored. We only support DNS-compliant URLs like `https://documentation-example-twilio-bucket/compositions`, where `compositions` is the path in which you want the compositions to be stored. This URL accepts only URI-valid characters, as described in the [RFC 3986](https://tools.ietf.org/html/rfc3986#section-2).
        :param aws_storage_enabled: Whether all compositions should be written to the `aws_s3_url`. When `false`, all compositions are stored in our cloud.
        :param encryption_enabled: Whether all compositions should be stored in an encrypted form. The default is `false`.

        :returns: ApiResponse with instance, status code, and headers
        r+   )r(   create_with_http_infor-   s          r!   r3   z1CompositionSettingsInstance.create_with_http_info|   s2    * {{00 31! 31 1 
 	
r"   c                 `   K   | j                   j                  ||||||       d{   S 7 w)a~  
        Asynchronous coroutine to create the CompositionSettingsInstance with HTTP info

        :param friendly_name: A descriptive string that you create to describe the resource and show to the user in the console
        :param aws_credentials_sid: The SID of the stored Credential resource.
        :param encryption_key_sid: The SID of the Public Key resource to use for encryption.
        :param aws_s3_url: The URL of the AWS S3 bucket where the compositions should be stored. We only support DNS-compliant URLs like `https://documentation-example-twilio-bucket/compositions`, where `compositions` is the path in which you want the compositions to be stored. This URL accepts only URI-valid characters, as described in the [RFC 3986](https://tools.ietf.org/html/rfc3986#section-2).
        :param aws_storage_enabled: Whether all compositions should be written to the `aws_s3_url`. When `false`, all compositions are stored in our cloud.
        :param encryption_enabled: Whether all compositions should be stored in an encrypted form. The default is `false`.

        :returns: ApiResponse with instance, status code, and headers
        r+   N)r(   create_with_http_info_asyncr-   s          r!   r5   z7CompositionSettingsInstance.create_with_http_info_async   s@     * [[<< 31! 31 = 
 
 	
 
r1   c                 6    | j                   j                         S zs
        Fetch the CompositionSettingsInstance


        :returns: The fetched CompositionSettingsInstance
        )r(   fetchr'   s    r!   r8   z!CompositionSettingsInstance.fetch   s     {{  ""r"   c                 R   K   | j                   j                          d{   S 7 wz
        Asynchronous coroutine to fetch the CompositionSettingsInstance


        :returns: The fetched CompositionSettingsInstance
        N)r(   fetch_asyncr'   s    r!   r;   z'CompositionSettingsInstance.fetch_async   s!      [[,,....   '%'c                 6    | j                   j                         S )z
        Fetch the CompositionSettingsInstance with HTTP info


        :returns: ApiResponse with instance, status code, and headers
        )r(   fetch_with_http_infor'   s    r!   r>   z0CompositionSettingsInstance.fetch_with_http_info   s     {{//11r"   c                 R   K   | j                   j                          d{   S 7 w)z
        Asynchronous coroutine to fetch the CompositionSettingsInstance with HTTP info


        :returns: ApiResponse with instance, status code, and headers
        N)r(   fetch_with_http_info_asyncr'   s    r!   r@   z6CompositionSettingsInstance.fetch_with_http_info_async   s!      [[;;====r<   c                      y)f
        Provide a friendly representation

        :returns: Machine friendly representation
        z-<Twilio.Video.V1.CompositionSettingsInstance> r'   s    r!   __repr__z$CompositionSettingsInstance.__repr__   s     ?r"   )r#   r%   )r#   r   )__name__
__module____qualname____doc__r   r   strr   r   propertyr(   r   unsetr   objectboolr,   r0   r	   r3   r5   r8   r;   r>   r@   rD   __classcell__r    s   @r!   r   r      s   	C C$sCx. C    39,,17)/39<<28,,

 #3;/
 "#v+.	

 #v+&
 #4<0
 "$,/
 
'
B 39,,17)/39<<28,,

 #3;/
 "#v+.	

 #v+&
 #4<0
 "$,/
 
'
B 39,,17)/39<<28,,

 #3;/
 "#v+.	

 #v+&
 #4<0
 "$,/
 

B 39,,17)/39<<28,,

 #3;/
 "#v+.	

 #v+&
 #4<0
 "$,/
 

<#/2k 2>+ >?# ?r"   r   c                       e Zd Zdef fdZej                  ej                  ej                  ej                  ej                  fdedeee	f   deee	f   deee	f   dee
e	f   dee
e	f   d	efd
Zej                  ej                  ej                  ej                  ej                  fdedeee	f   deee	f   deee	f   dee
e	f   dee
e	f   d	efdZej                  ej                  ej                  ej                  ej                  fdedeee	f   deee	f   deee	f   dee
e	f   dee
e	f   d	efdZej                  ej                  ej                  ej                  ej                  fdedeee	f   deee	f   deee	f   dee
e	f   dee
e	f   d	efdZej                  ej                  ej                  ej                  ej                  fdedeee	f   deee	f   deee	f   dee
e	f   dee
e	f   d	efdZej                  ej                  ej                  ej                  ej                  fdedeee	f   deee	f   deee	f   dee
e	f   dee
e	f   d	efdZd	efdZd	efdZd	efdZd	efdZd	efdZd	efdZd	efdZ xZS )r%   r   c                 2    t         |   |       d| _        y)zw
        Initialize the CompositionSettingsContext

        :param version: Version that contains the resource
        z/CompositionSettings/DefaultN)r   r   _urir   r   r    s     r!   r   z#CompositionSettingsContext.__init__   s     	!2	r"   r   r   r   r   r   r   r#   c           
         t        j                  ||||t        j                  |      t        j                  |      d      }t        j                  i       }d|d<   d|d<   | j                  j                  d| j                  ||      S )z{
        Internal helper for create operation

        Returns:
            tuple: (payload, status_code, headers)
        FriendlyNameAwsCredentialsSidEncryptionKeySidAwsS3UrlAwsStorageEnabledEncryptionEnabled!application/x-www-form-urlencodedContent-Typeapplication/jsonAcceptPOSTmethoduridataheaders)r   ofr   boolean_to_stringr&   create_with_response_inforR   	r   r   r   r   r   r   r   rd   re   s	            r!   _createz"CompositionSettingsContext._create   s      yy -%8$6&%.%@%@AT%U%.%@%@AS%T	
 ))B-"E.}}66tyytW 7 
 	
r"   c                 d    | j                  ||||||      \  }}}t        | j                  |      S )r*   r   r   r   r   r   r   )rj   r   r&   	r   r   r   r   r   r   r   r   _s	            r!   r,   z!CompositionSettingsContext.create  sB    * ' 31! 31 % 
A +4=='BBr"   c                     | j                  ||||||      \  }}}	t        | j                  |      }
t        |
||	      S )ar  
        Create the CompositionSettingsInstance and return response metadata

        :param friendly_name: A descriptive string that you create to describe the resource and show to the user in the console
        :param aws_credentials_sid: The SID of the stored Credential resource.
        :param encryption_key_sid: The SID of the Public Key resource to use for encryption.
        :param aws_s3_url: The URL of the AWS S3 bucket where the compositions should be stored. We only support DNS-compliant URLs like `https://documentation-example-twilio-bucket/compositions`, where `compositions` is the path in which you want the compositions to be stored. This URL accepts only URI-valid characters, as described in the [RFC 3986](https://tools.ietf.org/html/rfc3986#section-2).
        :param aws_storage_enabled: Whether all compositions should be written to the `aws_s3_url`. When `false`, all compositions are stored in our cloud.
        :param encryption_enabled: Whether all compositions should be stored in an encrypted form. The default is `false`.

        :returns: ApiResponse with instance, status code, and headers
        rl   rd   status_codere   )rj   r   r&   r	   r   r   r   r   r   r   r   r   rq   re   instances              r!   r3   z0CompositionSettingsContext.create_with_http_info5  sQ    * )-' 31! 31 )5 )
%g /t}}gFk7SSr"   c           
      2  K   t        j                  ||||t        j                  |      t        j                  |      d      }t        j                  i       }d|d<   d|d<   | j                  j                  d| j                  ||       d{   S 7 w)	z
        Internal async helper for create operation

        Returns:
            tuple: (payload, status_code, headers)
        rU   r\   r]   r^   r_   r`   ra   N)r   rf   r   rg   r&   create_with_response_info_asyncrR   ri   s	            r!   _create_asyncz(CompositionSettingsContext._create_asyncU  s       yy -%8$6&%.%@%@AT%U%.%@%@AS%T	
 ))B-"E.]]BBtyytW C 
 
 	
 
s   BBBBc                    K   | j                  ||||||       d{   \  }}}t        | j                  |      S 7 w)r/   rl   N)rv   r   r&   rm   s	            r!   r0   z'CompositionSettingsContext.create_asyncy  sR     * #00' 31! 31 1 
 
A +4=='BB
s   ><>c                    K   | j                  ||||||       d{   \  }}}	t        | j                  |      }
t        |
||	      S 7 ,w)a  
        Asynchronous coroutine to create the CompositionSettingsInstance and return response metadata

        :param friendly_name: A descriptive string that you create to describe the resource and show to the user in the console
        :param aws_credentials_sid: The SID of the stored Credential resource.
        :param encryption_key_sid: The SID of the Public Key resource to use for encryption.
        :param aws_s3_url: The URL of the AWS S3 bucket where the compositions should be stored. We only support DNS-compliant URLs like `https://documentation-example-twilio-bucket/compositions`, where `compositions` is the path in which you want the compositions to be stored. This URL accepts only URI-valid characters, as described in the [RFC 3986](https://tools.ietf.org/html/rfc3986#section-2).
        :param aws_storage_enabled: Whether all compositions should be written to the `aws_s3_url`. When `false`, all compositions are stored in our cloud.
        :param encryption_enabled: Whether all compositions should be stored in an encrypted form. The default is `false`.

        :returns: ApiResponse with instance, status code, and headers
        rl   Nrp   )rv   r   r&   r	   rr   s              r!   r5   z6CompositionSettingsContext.create_with_http_info_async  sb     * /3.@.@' 31! 31 /A /
 )
%g /t}}gFk7SS)
s   AA
-Ac                     t        j                  i       }d|d<   | j                  j                  d| j                  |      S )zz
        Internal helper for fetch operation

        Returns:
            tuple: (payload, status_code, headers)
        r^   r_   GETrb   rc   re   )r   rf   r&   fetch_with_response_inforR   r   re   s     r!   _fetchz!CompositionSettingsContext._fetch  sB     ))B-.}}55dii 6 
 	
r"   c                 V    | j                         \  }}}t        | j                  |      S r7   )r~   r   r&   r   r   rn   s      r!   r8   z CompositionSettingsContext.fetch  s,     A*MM
 	
r"   c                 r    | j                         \  }}}t        | j                  |      }t        |||      S )z
        Fetch the CompositionSettingsInstance and return response metadata


        :returns: ApiResponse with instance, status code, and headers
        rp   )r~   r   r&   r	   r   r   rq   re   rs   s        r!   r>   z/CompositionSettingsContext.fetch_with_http_info  s;     )-%g.MM
 k7SSr"   c                    K   t        j                  i       }d|d<   | j                  j                  d| j                  |       d{   S 7 w)z
        Internal async helper for fetch operation

        Returns:
            tuple: (payload, status_code, headers)
        r^   r_   rz   r{   N)r   rf   r&   fetch_with_response_info_asyncrR   r}   s     r!   _fetch_asyncz'CompositionSettingsContext._fetch_async  sQ      ))B-.]]AAdii B 
 
 	
 
s   AAA	Ac                 r   K   | j                          d{   \  }}}t        | j                  |      S 7 wr:   )r   r   r&   r   s      r!   r;   z&CompositionSettingsContext.fetch_async  s;      #//11A*MM
 	
 2s   757c                    K   | j                          d{   \  }}}t        | j                  |      }t        |||      S 7 ,w)z
        Asynchronous coroutine to fetch the CompositionSettingsInstance and return response metadata


        :returns: ApiResponse with instance, status code, and headers
        Nrp   )r   r   r&   r	   r   s        r!   r@   z5CompositionSettingsContext.fetch_with_http_info_async   sK      /3.?.?.A(A%g.MM
 k7SS )Bs   AA-Ac                      y)rB   z,<Twilio.Video.V1.CompositionSettingsContext>rC   r'   s    r!   rD   z#CompositionSettingsContext.__repr__  s     >r"   )rE   rF   rG   r   r   r   rK   rI   r   rL   rM   tuplerj   r   r,   r	   r3   rv   r0   r5   r~   r8   r>   r   r;   r@   rD   rN   rO   s   @r!   r%   r%      s1   3 3 39,,17)/39<<28,,"
"
 #3;/"
 "#v+.	"

 #v+&"
 #4<0"
 "$,/"
 
"
N 39,,17)/39<<28,,CC #3;/C "#v+.	C
 #v+&C #4<0C "$,/C 
%CD 39,,17)/39<<28,,TT #3;/T "#v+.	T
 #v+&T #4<0T "$,/T 
TF 39,,17)/39<<28,,"
"
 #3;/"
 "#v+.	"

 #v+&"
 #4<0"
 "$,/"
 
"
N 39,,17)/39<<28,,CC #3;/C "#v+.	C
 #v+&C #4<0C "$,/C 
%CD 39,,17)/39<<28,,TT #3;/T "#v+.	T
 #v+&T #4<0T "$,/T 
T@
 
 
2 
Tk T
E 
 
#> 
T+ T># >r"   r%   c                   H     e Zd Zdef fdZdefdZdefdZdefdZ	 xZ
S )CompositionSettingsListr   c                 $    t         |   |       y)zu
        Initialize the CompositionSettingsList

        :param version: Version that contains the resource

        N)r   r   rS   s     r!   r   z CompositionSettingsList.__init__  s     	!r"   r#   c                 ,    t        | j                        S z:
        Constructs a CompositionSettingsContext

        r%   r&   r'   s    r!   r   zCompositionSettingsList.get#      
 *$--88r"   c                 ,    t        | j                        S r   r   r'   s    r!   __call__z CompositionSettingsList.__call__*  r   r"   c                      y)rB   z)<Twilio.Video.V1.CompositionSettingsList>rC   r'   s    r!   rD   z CompositionSettingsList.__repr__1  s     ;r"   )rE   rF   rG   r   r   r%   r   r   rI   rD   rN   rO   s   @r!   r   r     s5    " "9/ 994 9;# ;r"   r   N)rH   typingr   r   r   r   twilio.baser   r   twilio.base.api_responser	   twilio.base.instance_contextr
   twilio.base.instance_resourcer   twilio.base.list_resourcer   twilio.base.versionr   r   r%   r   rC   r"   r!   <module>r      sO    . - ) 0 8 : 2 'K?"2 K?\o> o>d	;l ;r"   