o
    ëÉ¶d#  ã                   @   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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 ) ÚBackendzó
    The configuration of a backend server that is a member of a load balancer backend set.
    For more information, see `Managing Backend Servers`__.

    __ https://docs.cloud.oracle.com/Content/Balance/Tasks/managingbackendservers.htm
    c                 K   sZ   ddddddddœ| _ ddddd	d
ddœ| _d| _d| _d| _d| _d| _d| _d| _dS )a  
        Initializes a new Backend object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param name:
            The value to assign to the name property of this Backend.
        :type name: str

        :param ip_address:
            The value to assign to the ip_address property of this Backend.
        :type ip_address: str

        :param port:
            The value to assign to the port property of this Backend.
        :type port: int

        :param weight:
            The value to assign to the weight property of this Backend.
        :type weight: int

        :param drain:
            The value to assign to the drain property of this Backend.
        :type drain: bool

        :param backup:
            The value to assign to the backup property of this Backend.
        :type backup: bool

        :param offline:
            The value to assign to the offline property of this Backend.
        :type offline: bool

        ÚstrÚintÚbool)ÚnameÚ
ip_addressÚportÚweightÚdrainÚbackupÚoffliner
   Z	ipAddressr   r   r   r   r   N)	Zswagger_typesZattribute_mapÚ_nameÚ_ip_addressÚ_portÚ_weightÚ_drainÚ_backupÚ_offline)ÚselfÚkwargs© r   úDusr/lib/python3.10/site-packages/oci/load_balancer/models/backend.pyÚ__init__   s.   #ùù

zBackend.__init__c                 C   ó   | j S )a  
        **[Required]** Gets the name of this Backend.
        A read-only field showing the IP address and port that uniquely identify this backend server in the backend set.

        Example: `10.0.0.3:8080`


        :return: The name of this Backend.
        :rtype: str
        ©r   ©r   r   r   r   r
   S   ó   zBackend.namec                 C   ó
   || _ dS )a  
        Sets the name of this Backend.
        A read-only field showing the IP address and port that uniquely identify this backend server in the backend set.

        Example: `10.0.0.3:8080`


        :param name: The name of this Backend.
        :type: str
        Nr   )r   r
   r   r   r   r
   a   ó   
c                 C   r   )z×
        **[Required]** Gets the ip_address of this Backend.
        The IP address of the backend server.

        Example: `10.0.0.3`


        :return: The ip_address of this Backend.
        :rtype: str
        ©r   r   r   r   r   r   o   r    zBackend.ip_addressc                 C   r!   )zÑ
        Sets the ip_address of this Backend.
        The IP address of the backend server.

        Example: `10.0.0.3`


        :param ip_address: The ip_address of this Backend.
        :type: str
        Nr#   )r   r   r   r   r   r   }   r"   c                 C   r   )zÐ
        **[Required]** Gets the port of this Backend.
        The communication port for the backend server.

        Example: `8080`


        :return: The port of this Backend.
        :rtype: int
        ©r   r   r   r   r   r   ‹   r    zBackend.portc                 C   r!   )zÄ
        Sets the port of this Backend.
        The communication port for the backend server.

        Example: `8080`


        :param port: The port of this Backend.
        :type: int
        Nr$   )r   r   r   r   r   r   ™   r"   c                 C   r   )ak  
        **[Required]** Gets the weight of this Backend.
        The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger
        proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections
        as a server weighted '1'.
        For more information on load balancing policies, see
        `How Load Balancing Policies Work`__.

        Example: `3`

        __ https://docs.cloud.oracle.com/Content/Balance/Reference/lbpolicies.htm


        :return: The weight of this Backend.
        :rtype: int
        ©r   r   r   r   r   r   §   s   zBackend.weightc                 C   r!   )aa  
        Sets the weight of this Backend.
        The load balancing policy weight assigned to the server. Backend servers with a higher weight receive a larger
        proportion of incoming traffic. For example, a server weighted '3' receives 3 times the number of new connections
        as a server weighted '1'.
        For more information on load balancing policies, see
        `How Load Balancing Policies Work`__.

        Example: `3`

        __ https://docs.cloud.oracle.com/Content/Balance/Reference/lbpolicies.htm


        :param weight: The weight of this Backend.
        :type: int
        Nr%   )r   r   r   r   r   r   »   s   
c                 C   r   )a  
        **[Required]** Gets the drain of this Backend.
        Whether the load balancer should drain this server. Servers marked "drain" receive no new
        incoming traffic.

        Example: `false`


        :return: The drain of this Backend.
        :rtype: bool
        ©r   r   r   r   r   r   Ï   ó   zBackend.drainc                 C   r!   )a  
        Sets the drain of this Backend.
        Whether the load balancer should drain this server. Servers marked "drain" receive no new
        incoming traffic.

        Example: `false`


        :param drain: The drain of this Backend.
        :type: bool
        Nr&   )r   r   r   r   r   r   Þ   ó   
c                 C   r   )a  
        **[Required]** Gets the backup of this Backend.
        Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress
        traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy.

        **Note:** You cannot add a backend server marked as `backup` to a backend set that uses the IP Hash policy.

        Example: `false`


        :return: The backup of this Backend.
        :rtype: bool
        ©r   r   r   r   r   r   í   s   zBackend.backupc                 C   r!   )a  
        Sets the backup of this Backend.
        Whether the load balancer should treat this server as a backup unit. If `true`, the load balancer forwards no ingress
        traffic to this backend server unless all other backend servers not marked as "backup" fail the health check policy.

        **Note:** You cannot add a backend server marked as `backup` to a backend set that uses the IP Hash policy.

        Example: `false`


        :param backup: The backup of this Backend.
        :type: bool
        Nr)   )r   r   r   r   r   r   þ   s   
c                 C   r   )a  
        **[Required]** Gets the offline of this Backend.
        Whether the load balancer should treat this server as offline. Offline servers receive no incoming
        traffic.

        Example: `false`


        :return: The offline of this Backend.
        :rtype: bool
        ©r   r   r   r   r   r     r'   zBackend.offlinec                 C   r!   )a  
        Sets the offline of this Backend.
        Whether the load balancer should treat this server as offline. Offline servers receive no incoming
        traffic.

        Example: `false`


        :param offline: The offline of this Backend.
        :type: bool
        Nr*   )r   r   r   r   r   r     r(   c                 C   s   t | ƒS ©N)r   r   r   r   r   Ú__repr__-  s   zBackend.__repr__c                 C   s   |d u rdS | j |j kS )NF)Ú__dict__©r   Úotherr   r   r   Ú__eq__0  s   zBackend.__eq__c                 C   s
   | |k S r+   r   r.   r   r   r   Ú__ne__6  s   
zBackend.__ne__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr
   Úsetterr   r   r   r   r   r   r,   r0   r1   r   r   r   r   r      sD    >













r   N)Zoci.utilr   r   r   Zoci.decoratorsr   Úobjectr   r   r   r   r   Ú<module>   s   