
    piC9                         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  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)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ddZd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      k/opt/services/ai/voice_agent/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._proxy1   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    r/   z(CompositionSettingsInstance.create_async]   s@     * [[-- 31! 31 . 
 
 	
 
s   %.,.c                 6    | j                   j                         S )s
        Fetch the CompositionSettingsInstance


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


        :returns: The fetched CompositionSettingsInstance
        N)r'   fetch_asyncr&   s    r    r5   z'CompositionSettingsInstance.fetch_async   s!      [[,,....s   '%'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+   r/   r2   r5   r9   __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
 "$,/
 
'
<#/?# ?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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           
      B   t        j                  ||||t        j                  |      t        j                  |      d      }t        j                  i       }d|d<   d|d<   | j                  j                  d| j                  ||      }	t        | j                  |	      S )r)   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%   r+   rG   r   
r   r   r   r   r   r   r   rY   rZ   r   s
             r    r+   z!CompositionSettingsContext.create   s    , yy -%8$6&%.%@%@AT%U%.%@%@AS%T	
 ))B-"E.--&&tyytW ' 
 +4=='BBr!   c           
      ^  K   t        j                  ||||t        j                  |      t        j                  |      d      }t        j                  i       }d|d<   d|d<   | j                  j                  d| j                  ||       d{   }	t        | j                  |	      S 7 w)	r.   rJ   rQ   rR   rS   rT   rU   rV   N)r   r[   r   r\   r%   r/   rG   r   r]   s
             r    r/   z'CompositionSettingsContext.create_async   s     , yy -%8$6&%.%@%@AT%U%.%@%@AS%T	
 ))B-"E.22tyytW 3 
 
 +4=='BB	
s   BB-B+B-c                     t        j                  i       }d|d<   | j                  j                  d| j                  |      }t        | j                  |      S )r1   rS   rT   GETrW   rX   rZ   )r   r[   r%   r2   rG   r   r   rZ   r   s      r    r2   z CompositionSettingsContext.fetch   sQ     ))B-.--%%U		7%S*MM
 	
r!   c                    K   t        j                  i       }d|d<   | j                  j                  d| j                  |       d{   }t        | j                  |      S 7 w)r4   rS   rT   r`   ra   N)r   r[   r%   r5   rG   r   rb   s      r    r5   z&CompositionSettingsContext.fetch_async  sf      ))B-.11dii 2 
 
 +MM
 	
	
s   AA%A#	A%c                      y)r7   z,<Twilio.Video.V1.CompositionSettingsContext>r8   r&   s    r    r9   z#CompositionSettingsContext.__repr__#  s     >r!   )r:   r;   r<   r   r   r   r@   r>   r   rA   rB   r   r+   r/   r2   r5   r9   rC   rD   s   @r    r$   r$      s}   3 3 39,,17)/39<<28,,*C*C #3;/*C "#v+.	*C
 #v+&*C #4<0*C "$,/*C 
%*C^ 39,,17)/39<<28,,*C*C #3;/*C "#v+.	*C
 #v+&*C #4<0*C "$,/*C 
%*CX
2 
&
#> 
*># >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   rH   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.get8      
 *$--88r!   c                 ,    t        | j                        S ri   rj   r&   s    r    __call__z CompositionSettingsList.__call__?  rk   r!   c                      y)r7   z)<Twilio.Video.V1.CompositionSettingsList>r8   r&   s    r    r9   z CompositionSettingsList.__repr__F  s     ;r!   )r:   r;   r<   r   r   r$   r   rm   r>   r9   rC   rD   s   @r    rf   rf   -  s5    " "9/ 994 9;# ;r!   rf   N)r=   typingr   r   r   r   twilio.baser   r   twilio.base.instance_contextr	   twilio.base.instance_resourcer
   twilio.base.list_resourcer   twilio.base.versionr   r   r$   rf   r8   r!   r    <module>ru      sL    . - ) 8 : 2 '}?"2 }?@S> S>l;l ;r!   