B
    `*                 @   s   d 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 deZG d	d
 d
e
ZG dd deZG dd deZdS )za
This code was generated by
\ / _    _  _|   _  _
 | (_)\/(_)(_|\/| |(/_  v1.0.0
      /       /
    )values)InstanceContext)InstanceResource)ListResource)Pagec                   s4   e Zd Z fddZdd Zdd Zdd Z  ZS )	CompositionSettingsListc                s   t t| | i | _dS )a#  
        Initialize the CompositionSettingsList

        :param Version version: Version that contains the resource

        :returns: twilio.rest.video.v1.composition_settings.CompositionSettingsList
        :rtype: twilio.rest.video.v1.composition_settings.CompositionSettingsList
        N)superr   __init__	_solution)selfversion)	__class__ X/home/dcms/DCMS/lib/python3.7/site-packages/twilio/rest/video/v1/composition_settings.pyr	      s    	z CompositionSettingsList.__init__c             C   s
   t | jS )z
        Constructs a CompositionSettingsContext

        :returns: twilio.rest.video.v1.composition_settings.CompositionSettingsContext
        :rtype: twilio.rest.video.v1.composition_settings.CompositionSettingsContext
        )CompositionSettingsContext_version)r   r   r   r   get    s    zCompositionSettingsList.getc             C   s
   t | jS )z
        Constructs a CompositionSettingsContext

        :returns: twilio.rest.video.v1.composition_settings.CompositionSettingsContext
        :rtype: twilio.rest.video.v1.composition_settings.CompositionSettingsContext
        )r   r   )r   r   r   r   __call__)   s    z CompositionSettingsList.__call__c             C   s   dS )zz
        Provide a friendly representation

        :returns: Machine friendly representation
        :rtype: str
        z)<Twilio.Video.V1.CompositionSettingsList>r   )r   r   r   r   __repr__2   s    z CompositionSettingsList.__repr__)__name__
__module____qualname__r	   r   r   r   __classcell__r   r   )r   r   r      s   		r   c                   s,   e Zd Z fddZdd Zdd Z  ZS )CompositionSettingsPagec                s   t t| || || _dS )a[  
        Initialize the CompositionSettingsPage

        :param Version version: Version that contains the resource
        :param Response response: Response from the API

        :returns: twilio.rest.video.v1.composition_settings.CompositionSettingsPage
        :rtype: twilio.rest.video.v1.composition_settings.CompositionSettingsPage
        N)r   r   r	   r
   )r   r   responseZsolution)r   r   r   r	   >   s    
z CompositionSettingsPage.__init__c             C   s   t | j|S )a-  
        Build an instance of CompositionSettingsInstance

        :param dict payload: Payload response from the API

        :returns: twilio.rest.video.v1.composition_settings.CompositionSettingsInstance
        :rtype: twilio.rest.video.v1.composition_settings.CompositionSettingsInstance
        )CompositionSettingsInstancer   )r   payloadr   r   r   get_instanceM   s    	z$CompositionSettingsPage.get_instancec             C   s   dS )zz
        Provide a friendly representation

        :returns: Machine friendly representation
        :rtype: str
        z)<Twilio.Video.V1.CompositionSettingsPage>r   )r   r   r   r   r   X   s    z CompositionSettingsPage.__repr__)r   r   r   r	   r   r   r   r   r   )r   r   r   <   s   r   c                   sJ   e Zd Z fddZdd ZejejejejejfddZdd Z  Z	S )	r   c                s*   t t| | i | _djf | j| _dS )a,  
        Initialize the CompositionSettingsContext

        :param Version version: Version that contains the resource

        :returns: twilio.rest.video.v1.composition_settings.CompositionSettingsContext
        :rtype: twilio.rest.video.v1.composition_settings.CompositionSettingsContext
        z/CompositionSettings/DefaultN)r   r   r	   r
   format_uri)r   r   )r   r   r   r	   d   s    	z#CompositionSettingsContext.__init__c             C   s   | j jd| jd}t| j |S )z
        Fetch the CompositionSettingsInstance

        :returns: The fetched CompositionSettingsInstance
        :rtype: twilio.rest.video.v1.composition_settings.CompositionSettingsInstance
        GET)methoduri)r   fetchr   r   )r   r   r   r   r   r#   s   s    z CompositionSettingsContext.fetchc       	   	   C   s8   t ||||||d}| jjd| j|d}t| j|S )a  
        Create the CompositionSettingsInstance

        :param unicode friendly_name: A descriptive string that you create to describe the resource
        :param unicode aws_credentials_sid: The SID of the stored Credential resource
        :param unicode encryption_key_sid: The SID of the Public Key resource to use for encryption
        :param unicode aws_s3_url: The URL of the AWS S3 bucket where the compositions should be stored
        :param bool aws_storage_enabled: Whether all compositions should be written to the aws_s3_url
        :param bool encryption_enabled: Whether all compositions should be stored in an encrypted form

        :returns: The created CompositionSettingsInstance
        :rtype: twilio.rest.video.v1.composition_settings.CompositionSettingsInstance
        )ZFriendlyNameZAwsCredentialsSidZEncryptionKeySidZAwsS3UrlZAwsStorageEnabledZEncryptionEnabledPOST)r!   r"   data)r   Zofr   creater   r   )	r   friendly_nameaws_credentials_sidencryption_key_sid
aws_s3_urlaws_storage_enabledencryption_enabledr%   r   r   r   r   r&   ~   s    
z!CompositionSettingsContext.createc             C   s$   d dd | j D }d|S )zz
        Provide a friendly representation

        :returns: Machine friendly representation
        :rtype: str
         c             s   s   | ]\}}d  ||V  qdS )z{}={}N)r   ).0kvr   r   r   	<genexpr>   s    z6CompositionSettingsContext.__repr__.<locals>.<genexpr>z/<Twilio.Video.V1.CompositionSettingsContext {}>)joinr
   itemsr   )r   contextr   r   r   r      s    z#CompositionSettingsContext.__repr__)
r   r   r   r	   r#   r   unsetr&   r   r   r   r   )r   r   r   b   s   r   c                   s   e Zd Z fddZedd Zedd Zedd Zed	d
 Zedd Z	edd Z
edd Zedd Zedd Zdd ZejejejejejfddZdd Z  ZS )r   c          
      sh   t t| | |d|d|d|d|d|d|d|dd	| _d
| _i | _d
S )z
        Initialize the CompositionSettingsInstance

        :returns: twilio.rest.video.v1.composition_settings.CompositionSettingsInstance
        :rtype: twilio.rest.video.v1.composition_settings.CompositionSettingsInstance
        account_sidr'   r(   r*   r+   r)   r,   url)r6   r'   r(   r*   r+   r)   r,   r7   N)r   r   r	   r   _properties_contextr
   )r   r   r   )r   r   r   r	      s    z$CompositionSettingsInstance.__init__c             C   s   | j dkrt| j| _ | j S )aW  
        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
        :rtype: twilio.rest.video.v1.composition_settings.CompositionSettingsContext
        N)r9   r   r   )r   r   r   r   _proxy   s    	
z"CompositionSettingsInstance._proxyc             C   s
   | j d S )zd
        :returns: The SID of the Account that created the resource
        :rtype: unicode
        r6   )r8   )r   r   r   r   r6      s    z'CompositionSettingsInstance.account_sidc             C   s
   | j d S )zi
        :returns: The string that you assigned to describe the resource
        :rtype: unicode
        r'   )r8   )r   r   r   r   r'      s    z)CompositionSettingsInstance.friendly_namec             C   s
   | j d S )z]
        :returns: The SID of the stored Credential resource
        :rtype: unicode
        r(   )r8   )r   r   r   r   r(      s    z/CompositionSettingsInstance.aws_credentials_sidc             C   s
   | j d S )zr
        :returns: The URL of the AWS S3 bucket where the compositions are stored
        :rtype: unicode
        r*   )r8   )r   r   r   r   r*      s    z&CompositionSettingsInstance.aws_s3_urlc             C   s
   | j d S )zg
        :returns: Whether all compositions are written to the aws_s3_url
        :rtype: bool
        r+   )r8   )r   r   r   r   r+      s    z/CompositionSettingsInstance.aws_storage_enabledc             C   s
   | j d S )zj
        :returns: The SID of the Public Key resource used for encryption
        :rtype: unicode
        r)   )r8   )r   r   r   r   r)      s    z.CompositionSettingsInstance.encryption_key_sidc             C   s
   | j d S )zi
        :returns: Whether all compositions are stored in an encrypted form
        :rtype: bool
        r,   )r8   )r   r   r   r   r,      s    z.CompositionSettingsInstance.encryption_enabledc             C   s
   | j d S )zT
        :returns: The absolute URL of the resource
        :rtype: unicode
        r7   )r8   )r   r   r   r   r7     s    zCompositionSettingsInstance.urlc             C   s
   | j  S )z
        Fetch the CompositionSettingsInstance

        :returns: The fetched CompositionSettingsInstance
        :rtype: twilio.rest.video.v1.composition_settings.CompositionSettingsInstance
        )r:   r#   )r   r   r   r   r#     s    z!CompositionSettingsInstance.fetchc             C   s   | j j||||||dS )a  
        Create the CompositionSettingsInstance

        :param unicode friendly_name: A descriptive string that you create to describe the resource
        :param unicode aws_credentials_sid: The SID of the stored Credential resource
        :param unicode encryption_key_sid: The SID of the Public Key resource to use for encryption
        :param unicode aws_s3_url: The URL of the AWS S3 bucket where the compositions should be stored
        :param bool aws_storage_enabled: Whether all compositions should be written to the aws_s3_url
        :param bool encryption_enabled: Whether all compositions should be stored in an encrypted form

        :returns: The created CompositionSettingsInstance
        :rtype: twilio.rest.video.v1.composition_settings.CompositionSettingsInstance
        )r(   r)   r*   r+   r,   )r:   r&   )r   r'   r(   r)   r*   r+   r,   r   r   r   r&     s    z"CompositionSettingsInstance.createc             C   s$   d dd | j D }d|S )zz
        Provide a friendly representation

        :returns: Machine friendly representation
        :rtype: str
        r-   c             s   s   | ]\}}d  ||V  qdS )z{}={}N)r   )r.   r/   r0   r   r   r   r1   7  s    z7CompositionSettingsInstance.__repr__.<locals>.<genexpr>z0<Twilio.Video.V1.CompositionSettingsInstance {}>)r2   r
   r3   r   )r   r4   r   r   r   r   0  s    z$CompositionSettingsInstance.__repr__)r   r   r   r	   propertyr:   r6   r'   r(   r*   r+   r)   r,   r7   r#   r   r5   r&   r   r   r   r   )r   r   r      s   	r   N)__doc__Ztwilio.baser   Ztwilio.base.instance_contextr   Ztwilio.base.instance_resourcer   Ztwilio.base.list_resourcer   Ztwilio.base.pager   r   r   r   r   r   r   r   r   <module>   s   ,&D