o
    ëÉ¶dT  ã                   @   s8   d dl mZmZmZ d dlmZ eG dd„ deƒƒZdS )é    )Úformatted_flat_dictÚNONE_SENTINELÚ#value_allowed_none_or_none_sentinel)Úinit_model_state_from_kwargsc                   @   s²   e Zd ZdZdd„ Zedd„ ƒZejdd„ ƒZedd„ ƒZejd	d„ ƒZed
d„ ƒZ	e	jdd„ ƒZ	edd„ ƒZ
e
jdd„ ƒZ
edd„ ƒZejdd„ ƒZdd„ Zdd„ Zdd„ ZdS )ÚSchemaz8
    The table schema information as a JSON object.
    c                 K   sF   ddddddœ| _ dddd	d
dœ| _d| _d| _d| _d| _d| _dS )as  
        Initializes a new Schema object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param columns:
            The value to assign to the columns property of this Schema.
        :type columns: list[oci.nosql.models.Column]

        :param primary_key:
            The value to assign to the primary_key property of this Schema.
        :type primary_key: list[str]

        :param shard_key:
            The value to assign to the shard_key property of this Schema.
        :type shard_key: list[str]

        :param ttl:
            The value to assign to the ttl property of this Schema.
        :type ttl: int

        :param identity:
            The value to assign to the identity property of this Schema.
        :type identity: oci.nosql.models.Identity

        zlist[Column]z	list[str]ÚintZIdentity)ÚcolumnsÚprimary_keyÚ	shard_keyÚttlÚidentityr   Z
primaryKeyZshardKeyr   r   N)Zswagger_typesZattribute_mapÚ_columnsÚ_primary_keyÚ
_shard_keyÚ_ttlÚ	_identity)ÚselfÚkwargs© r   ú;usr/lib/python3.10/site-packages/oci/nosql/models/schema.pyÚ__init__   s"   û	û
zSchema.__init__c                 C   ó   | j S )z¾
        **[Required]** Gets the columns of this Schema.
        The columns of a table.


        :return: The columns of this Schema.
        :rtype: list[oci.nosql.models.Column]
        ©r   ©r   r   r   r   r   B   ó   
zSchema.columnsc                 C   ó
   || _ dS )zµ
        Sets the columns of this Schema.
        The columns of a table.


        :param columns: The columns of this Schema.
        :type: list[oci.nosql.models.Column]
        Nr   )r   r   r   r   r   r   N   ó   

c                 C   r   )zÅ
        **[Required]** Gets the primary_key of this Schema.
        A list of column names that make up a key.


        :return: The primary_key of this Schema.
        :rtype: list[str]
        ©r   r   r   r   r   r	   Z   r   zSchema.primary_keyc                 C   r   )zÀ
        Sets the primary_key of this Schema.
        A list of column names that make up a key.


        :param primary_key: The primary_key of this Schema.
        :type: list[str]
        Nr   )r   r	   r   r   r   r	   f   r   c                 C   r   )zÁ
        **[Required]** Gets the shard_key of this Schema.
        A list of column names that make up a key.


        :return: The shard_key of this Schema.
        :rtype: list[str]
        ©r   r   r   r   r   r
   r   r   zSchema.shard_keyc                 C   r   )zº
        Sets the shard_key of this Schema.
        A list of column names that make up a key.


        :param shard_key: The shard_key of this Schema.
        :type: list[str]
        Nr   )r   r
   r   r   r   r
   ~   r   c                 C   r   )zµ
        **[Required]** Gets the ttl of this Schema.
        The default Time-to-Live for the table, in days.


        :return: The ttl of this Schema.
        :rtype: int
        ©r   r   r   r   r   r   Š   r   z
Schema.ttlc                 C   r   )z¨
        Sets the ttl of this Schema.
        The default Time-to-Live for the table, in days.


        :param ttl: The ttl of this Schema.
        :type: int
        Nr   )r   r   r   r   r   r   –   r   c                 C   r   )zŒ
        Gets the identity of this Schema.

        :return: The identity of this Schema.
        :rtype: oci.nosql.models.Identity
        ©r   r   r   r   r   r   ¢   s   zSchema.identityc                 C   r   )z“
        Sets the identity of this Schema.

        :param identity: The identity of this Schema.
        :type: oci.nosql.models.Identity
        Nr    )r   r   r   r   r   r   ¬   s   
c                 C   s   t | ƒS ©N)r   r   r   r   r   Ú__repr__¶   s   zSchema.__repr__c                 C   s   |d u rdS | j |j kS )NF)Ú__dict__©r   Úotherr   r   r   Ú__eq__¹   s   zSchema.__eq__c                 C   s
   | |k S r!   r   r$   r   r   r   Ú__ne__¿   s   
zSchema.__ne__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr   Úsetterr	   r
   r   r   r"   r&   r'   r   r   r   r   r      s4    0








	
	r   N)Zoci.utilr   r   r   Zoci.decoratorsr   Úobjectr   r   r   r   r   Ú<module>   s   