o
    ëÉ¶db*  ã                   @   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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ed!d"„ ƒZej	d#d"„ ƒZd$d%„ Zd&d'„ Zd(d)„ Zd*S )+Ú	PingProbez[
    This model contains all of the mutable and immutable properties for a ping probe.
    ÚICMPÚTCPc                 K   sx   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| _	d| _
d| _dS )añ  
        Initializes a new PingProbe 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 PingProbe.
        :type id: str

        :param results_url:
            The value to assign to the results_url property of this PingProbe.
        :type results_url: str

        :param home_region:
            The value to assign to the home_region property of this PingProbe.
        :type home_region: str

        :param time_created:
            The value to assign to the time_created property of this PingProbe.
        :type time_created: datetime

        :param compartment_id:
            The value to assign to the compartment_id property of this PingProbe.
        :type compartment_id: str

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

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

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

        :param timeout_in_seconds:
            The value to assign to the timeout_in_seconds property of this PingProbe.
        :type timeout_in_seconds: int

        :param protocol:
            The value to assign to the protocol property of this PingProbe.
            Allowed values for this property are: "ICMP", "TCP", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type protocol: str

        ÚstrÚdatetimez	list[str]Úint)
ÚidÚresults_urlÚhome_regionÚtime_createdÚcompartment_idÚtargetsÚvantage_point_namesÚportÚtimeout_in_secondsÚprotocolr   Z
resultsUrlZ
homeRegionZtimeCreatedZcompartmentIdr   ZvantagePointNamesr   ZtimeoutInSecondsr   N)Zswagger_typesZattribute_mapÚ_idÚ_results_urlÚ_home_regionÚ_time_createdÚ_compartment_idÚ_targetsÚ_vantage_point_namesÚ_portÚ_timeout_in_secondsÚ	_protocol)ÚselfÚkwargs© r"   úFusr/lib/python3.10/site-packages/oci/healthchecks/models/ping_probe.pyÚ__init__   s@   1öö
zPingProbe.__init__c                 C   ó   | j S )z“
        Gets the id of this PingProbe.
        The OCID of the resource.


        :return: The id of this PingProbe.
        :rtype: str
        ©r   ©r    r"   r"   r#   r   o   ó   
zPingProbe.idc                 C   ó
   || _ dS )z”
        Sets the id of this PingProbe.
        The OCID of the resource.


        :param id: The id of this PingProbe.
        :type: str
        Nr&   )r    r   r"   r"   r#   r   {   ó   

c                 C   r%   )z±
        Gets the results_url of this PingProbe.
        A URL for fetching the probe results.


        :return: The results_url of this PingProbe.
        :rtype: str
        ©r   r'   r"   r"   r#   r   ‡   r(   zPingProbe.results_urlc                 C   r)   )z»
        Sets the results_url of this PingProbe.
        A URL for fetching the probe results.


        :param results_url: The results_url of this PingProbe.
        :type: str
        Nr+   )r    r   r"   r"   r#   r   “   r*   c                 C   r%   )zÙ
        Gets the home_region of this PingProbe.
        The region where updates must be made and where results must be fetched from.


        :return: The home_region of this PingProbe.
        :rtype: str
        ©r   r'   r"   r"   r#   r   Ÿ   r(   zPingProbe.home_regionc                 C   r)   )zã
        Sets the home_region of this PingProbe.
        The region where updates must be made and where results must be fetched from.


        :param home_region: The home_region of this PingProbe.
        :type: str
        Nr,   )r    r   r"   r"   r#   r   «   r*   c                 C   r%   )zÎ
        Gets the time_created of this PingProbe.
        The RFC 3339-formatted creation date and time of the probe.


        :return: The time_created of this PingProbe.
        :rtype: datetime
        ©r   r'   r"   r"   r#   r   ·   r(   zPingProbe.time_createdc                 C   r)   )zÙ
        Sets the time_created of this PingProbe.
        The RFC 3339-formatted creation date and time of the probe.


        :param time_created: The time_created of this PingProbe.
        :type: datetime
        Nr-   )r    r   r"   r"   r#   r   Ã   r*   c                 C   r%   )z®
        Gets the compartment_id of this PingProbe.
        The OCID of the compartment.


        :return: The compartment_id of this PingProbe.
        :rtype: str
        ©r   r'   r"   r"   r#   r   Ï   r(   zPingProbe.compartment_idc                 C   r)   )z»
        Sets the compartment_id of this PingProbe.
        The OCID of the compartment.


        :param compartment_id: The compartment_id of this PingProbe.
        :type: str
        Nr.   )r    r   r"   r"   r#   r   Û   r*   c                 C   r%   )zÅ
        Gets the targets of this PingProbe.
        A list of targets (hostnames or IP addresses) of the probe.


        :return: The targets of this PingProbe.
        :rtype: list[str]
        ©r   r'   r"   r"   r#   r   ç   r(   zPingProbe.targetsc                 C   r)   )zË
        Sets the targets of this PingProbe.
        A list of targets (hostnames or IP addresses) of the probe.


        :param targets: The targets of this PingProbe.
        :type: list[str]
        Nr/   )r    r   r"   r"   r#   r   ó   r*   c                 C   r%   )zä
        Gets the vantage_point_names of this PingProbe.
        A list of names of vantage points from which to execute the probe.


        :return: The vantage_point_names of this PingProbe.
        :rtype: list[str]
        ©r   r'   r"   r"   r#   r   ÿ   r(   zPingProbe.vantage_point_namesc                 C   r)   )zö
        Sets the vantage_point_names of this PingProbe.
        A list of names of vantage points from which to execute the probe.


        :param vantage_point_names: The vantage_point_names of this PingProbe.
        :type: list[str]
        Nr0   )r    r   r"   r"   r#   r     r*   c                 C   r%   )zï
        Gets the port of this PingProbe.
        The port on which to probe endpoints. If unspecified, probes will use the
        default port of their protocol.


        :return: The port of this PingProbe.
        :rtype: int
        ©r   r'   r"   r"   r#   r     ó   zPingProbe.portc                 C   r)   )zò
        Sets the port of this PingProbe.
        The port on which to probe endpoints. If unspecified, probes will use the
        default port of their protocol.


        :param port: The port of this PingProbe.
        :type: int
        Nr1   )r    r   r"   r"   r#   r   $  ó   
c                 C   r%   )a3  
        Gets the timeout_in_seconds of this PingProbe.
        The probe timeout in seconds. Valid values: 10, 20, 30, and 60.
        The probe timeout must be less than or equal to `intervalInSeconds` for monitors.


        :return: The timeout_in_seconds of this PingProbe.
        :rtype: int
        ©r   r'   r"   r"   r#   r   1  r2   zPingProbe.timeout_in_secondsc                 C   r)   )aD  
        Sets the timeout_in_seconds of this PingProbe.
        The probe timeout in seconds. Valid values: 10, 20, 30, and 60.
        The probe timeout must be less than or equal to `intervalInSeconds` for monitors.


        :param timeout_in_seconds: The timeout_in_seconds of this PingProbe.
        :type: int
        Nr4   )r    r   r"   r"   r#   r   >  r3   c                 C   r%   )a.  
        Gets the protocol of this PingProbe.
        Allowed values for this property are: "ICMP", "TCP", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The protocol of this PingProbe.
        :rtype: str
        )r   r'   r"   r"   r#   r   K  r2   zPingProbe.protocolc                 C   s    ddg}t ||ƒsd}|| _dS )zƒ
        Sets the protocol of this PingProbe.

        :param protocol: The protocol of this PingProbe.
        :type: str
        r   r   ZUNKNOWN_ENUM_VALUEN)r   r   )r    r   Zallowed_valuesr"   r"   r#   r   X  s   

c                 C   s   t | ƒS ©N)r   r'   r"   r"   r#   Ú__repr__e  s   zPingProbe.__repr__c                 C   s   |d u rdS | j |j kS )NF)Ú__dict__©r    Úotherr"   r"   r#   Ú__eq__h  s   zPingProbe.__eq__c                 C   s
   | |k S r5   r"   r8   r"   r"   r#   Ú__ne__n  s   
zPingProbe.__ne__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ZPROTOCOL_ICMPZPROTOCOL_TCPr$   Úpropertyr   Úsetterr   r   r   r   r   r   r   r   r   r6   r:   r;   r"   r"   r"   r#   r      s`    U



















r   N)Zoci.utilr   r   r   Zoci.decoratorsr   Úobjectr   r"   r"   r"   r#   Ú<module>   s   