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ZdZdZdZdZdZ	d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dd Zd d! Zd"d# Zd$S )%Packagez1
    Details of the vulnerable package found
    JAVAAPKRPMDEBGONPMPYTHONRUSTPHP_COMPOSERGEMMSRC_KBc                 K   sF   dddddd| _ dddddd| _d	| _d	| _d	| _d	| _d	| _d	S )
aN  
        Initializes a new Package 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 Package.
        :type name: str

        :param version:
            The value to assign to the version property of this Package.
        :type version: str

        :param cve_fix_version:
            The value to assign to the cve_fix_version property of this Package.
        :type cve_fix_version: str

        :param type:
            The value to assign to the type property of this Package.
            Allowed values for this property are: "JAVA", "APK", "RPM", "DEB", "GO", "NPM", "PYTHON", "RUST", "PHP_COMPOSER", "GEM", "MSRC_KB", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type type: str

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

        strz	list[str])nameversioncve_fix_versiontype	locationsr   r   ZcveFixVersionr   r   N)Zswagger_typesZattribute_map_name_version_cve_fix_version_type
_locations)selfkwargs r   Musr/lib/python3.10/site-packages/oci/vulnerability_scanning/models/package.py__init__>   s"   	
zPackage.__init__c                 C      | j S )z
        **[Required]** Gets the name of this Package.
        Name of the package


        :return: The name of this Package.
        :rtype: str
        r   r   r   r   r    r   p      
zPackage.namec                 C   
   || _ dS )z
        Sets the name of this Package.
        Name of the package


        :param name: The name of this Package.
        :type: str
        Nr#   )r   r   r   r   r    r   |      

c                 C   r"   )z
        **[Required]** Gets the version of this Package.
        Package version


        :return: The version of this Package.
        :rtype: str
        r   r$   r   r   r    r      r%   zPackage.versionc                 C   r&   )z
        Sets the version of this Package.
        Package version


        :param version: The version of this Package.
        :type: str
        Nr(   )r   r   r   r   r    r      r'   c                 C   r"   )z
        Gets the cve_fix_version of this Package.
        Package version in which the CVE was fixed


        :return: The cve_fix_version of this Package.
        :rtype: str
        r   r$   r   r   r    r      r%   zPackage.cve_fix_versionc                 C   r&   )z
        Sets the cve_fix_version of this Package.
        Package version in which the CVE was fixed


        :param cve_fix_version: The cve_fix_version of this Package.
        :type: str
        Nr)   )r   r   r   r   r    r      r'   c                 C   r"   )a  
        **[Required]** Gets the type of this Package.
        Package type

        Allowed values for this property are: "JAVA", "APK", "RPM", "DEB", "GO", "NPM", "PYTHON", "RUST", "PHP_COMPOSER", "GEM", "MSRC_KB", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The type of this Package.
        :rtype: str
        )r   r$   r   r   r    r      s   zPackage.typec                 C   s    g d}t ||sd}|| _dS )z
        Sets the type of this Package.
        Package type


        :param type: The type of this Package.
        :type: str
        )r   r   r	   r
   r   r   r   r   r   r   r   ZUNKNOWN_ENUM_VALUEN)r   r   )r   r   Zallowed_valuesr   r   r    r      s   


c                 C   r"   )z
        Gets the locations of this Package.
        Disk locations where package was found


        :return: The locations of this Package.
        :rtype: list[str]
        r   r$   r   r   r    r      r%   zPackage.locationsc                 C   r&   )z
        Sets the locations of this Package.
        Disk locations where package was found


        :param locations: The locations of this Package.
        :type: list[str]
        Nr*   )r   r   r   r   r    r      r'   c                 C   s   t | S N)r   r$   r   r   r    __repr__   s   zPackage.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r   otherr   r   r    __eq__   s   zPackage.__eq__c                 C   s
   | |k S r+   r   r.   r   r   r    __ne__   s   
zPackage.__ne__N)__name__
__module____qualname____doc__Z	TYPE_JAVAZTYPE_APKZTYPE_RPMZTYPE_DEBZTYPE_GOZTYPE_NPMZTYPE_PYTHONZ	TYPE_RUSTZTYPE_PHP_COMPOSERZTYPE_GEMZTYPE_MSRC_KBr!   propertyr   setterr   r   r   r   r,   r0   r1   r   r   r   r    r      sJ    2









r   N)Zoci.utilr   r   r   Zoci.decoratorsr   objectr   r   r   r   r    <module>   s   