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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 )&Linkz0
    Details of the link between two nodes.
    c              
   K   sn   dddddd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 Link object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param id:
            The value to assign to the id property of this Link.
        :type id: str

        :param source:
            The value to assign to the source property of this Link.
        :type source: str

        :param destination:
            The value to assign to the destination property of this Link.
        :type destination: str

        :param repeat_count:
            The value to assign to the repeat_count property of this Link.
        :type repeat_count: int

        :param forwarding_loss:
            The value to assign to the forwarding_loss property of this Link.
        :type forwarding_loss: float

        :param delay_in_milliseconds:
            The value to assign to the delay_in_milliseconds property of this Link.
        :type delay_in_milliseconds: float

        :param min_delay_in_milliseconds:
            The value to assign to the min_delay_in_milliseconds property of this Link.
        :type min_delay_in_milliseconds: float

        :param max_delay_in_milliseconds:
            The value to assign to the max_delay_in_milliseconds property of this Link.
        :type max_delay_in_milliseconds: float

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

        strintfloatz	list[str])	idsourcedestinationrepeat_countforwarding_lossdelay_in_millisecondsmin_delay_in_millisecondsmax_delay_in_millisecondspathsr
   r   r   ZrepeatCountZforwardingLossZdelayInMillisecondsZminDelayInMillisecondsZmaxDelayInMillisecondsr   N)Zswagger_typesZattribute_map_id_source_destination_repeat_count_forwarding_loss_delay_in_milliseconds_min_delay_in_milliseconds_max_delay_in_milliseconds_paths)selfkwargs r   Busr/lib/python3.10/site-packages/oci/apm_synthetics/models/link.py__init__   s:   +
zLink.__init__c                 C      | j S )z
        **[Required]** Gets the id of this Link.
        ID of the link.


        :return: The id of this Link.
        :rtype: str
        r   r   r   r   r   r
   ^      
zLink.idc                 C   
   || _ dS )z
        Sets the id of this Link.
        ID of the link.


        :param id: The id of this Link.
        :type: str
        Nr"   )r   r
   r   r   r   r
   j      

c                 C   r!   )z
        Gets the source of this Link.
        ID of the source node.


        :return: The source of this Link.
        :rtype: str
        r   r#   r   r   r   r   v   r$   zLink.sourcec                 C   r%   )z
        Sets the source of this Link.
        ID of the source node.


        :param source: The source of this Link.
        :type: str
        Nr'   )r   r   r   r   r   r      r&   c                 C   r!   )z
        Gets the destination of this Link.
        ID of the destination node.


        :return: The destination of this Link.
        :rtype: str
        r   r#   r   r   r   r      r$   zLink.destinationc                 C   r%   )z
        Sets the destination of this Link.
        ID of the destination node.


        :param destination: The destination of this Link.
        :type: str
        Nr(   )r   r   r   r   r   r      r&   c                 C   r!   )z
        Gets the repeat_count of this Link.
        Number of times the link is repeated.


        :return: The repeat_count of this Link.
        :rtype: int
        r   r#   r   r   r   r      r$   zLink.repeat_countc                 C   r%   )z
        Sets the repeat_count of this Link.
        Number of times the link is repeated.


        :param repeat_count: The repeat_count of this Link.
        :type: int
        Nr)   )r   r   r   r   r   r      r&   c                 C   r!   )z
        Gets the forwarding_loss of this Link.
        Average packet loss.


        :return: The forwarding_loss of this Link.
        :rtype: float
        r   r#   r   r   r   r      r$   zLink.forwarding_lossc                 C   r%   )z
        Sets the forwarding_loss of this Link.
        Average packet loss.


        :param forwarding_loss: The forwarding_loss of this Link.
        :type: float
        Nr*   )r   r   r   r   r   r      r&   c                 C   r!   )z
        Gets the delay_in_milliseconds of this Link.
        Difference of the packet response time between source and destination nodes, in milliseconds.


        :return: The delay_in_milliseconds of this Link.
        :rtype: float
        r   r#   r   r   r   r      r$   zLink.delay_in_millisecondsc                 C   r%   )a	  
        Sets the delay_in_milliseconds of this Link.
        Difference of the packet response time between source and destination nodes, in milliseconds.


        :param delay_in_milliseconds: The delay_in_milliseconds of this Link.
        :type: float
        Nr+   )r   r   r   r   r   r      r&   c                 C   r!   )z
        Gets the min_delay_in_milliseconds of this Link.
        Minimum delay in milliseconds.


        :return: The min_delay_in_milliseconds of this Link.
        :rtype: float
        r   r#   r   r   r   r      r$   zLink.min_delay_in_millisecondsc                 C   r%   )z
        Sets the min_delay_in_milliseconds of this Link.
        Minimum delay in milliseconds.


        :param min_delay_in_milliseconds: The min_delay_in_milliseconds of this Link.
        :type: float
        Nr,   )r   r   r   r   r   r      r&   c                 C   r!   )z
        Gets the max_delay_in_milliseconds of this Link.
        Maximum delay in milliseconds.


        :return: The max_delay_in_milliseconds of this Link.
        :rtype: float
        r   r#   r   r   r   r     r$   zLink.max_delay_in_millisecondsc                 C   r%   )z
        Sets the max_delay_in_milliseconds of this Link.
        Maximum delay in milliseconds.


        :param max_delay_in_milliseconds: The max_delay_in_milliseconds of this Link.
        :type: float
        Nr-   )r   r   r   r   r   r     r&   c                 C   r!   )z
        Gets the paths of this Link.
        List of all path ids of which this link is part of.


        :return: The paths of this Link.
        :rtype: list[str]
        r   r#   r   r   r   r     r$   z
Link.pathsc                 C   r%   )z
        Sets the paths of this Link.
        List of all path ids of which this link is part of.


        :param paths: The paths of this Link.
        :type: list[str]
        Nr.   )r   r   r   r   r   r   *  r&   c                 C   s   t | S N)r   r#   r   r   r   __repr__6  s   zLink.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r   otherr   r   r   __eq__9  s   zLink.__eq__c                 C   s
   | |k S r/   r   r2   r   r   r   __ne__?  s   
zLink.__ne__N)__name__
__module____qualname____doc__r    propertyr
   setterr   r   r   r   r   r   r   r   r0   r4   r5   r   r   r   r   r      sT    L

















r   N)Zoci.utilr   r   r   Zoci.decoratorsr   objectr   r   r   r   r   <module>   s   