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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 )JavaArtifactz6
    Information about a binary artifact of Java.
    JDKJRE
SERVER_JREc                 K   sF   dddddd| _ dddddd| _d	| _d	| _d	| _d	| _d	| _d	S )
a  
        Initializes a new JavaArtifact object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param artifact_id:
            The value to assign to the artifact_id property of this JavaArtifact.
        :type artifact_id: int

        :param artifact_description:
            The value to assign to the artifact_description property of this JavaArtifact.
        :type artifact_description: str

        :param artifact_content_type:
            The value to assign to the artifact_content_type property of this JavaArtifact.
            Allowed values for this property are: "JDK", "JRE", "SERVER_JRE", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type artifact_content_type: str

        :param approximate_file_size_in_bytes:
            The value to assign to the approximate_file_size_in_bytes property of this JavaArtifact.
        :type approximate_file_size_in_bytes: int

        :param sha256:
            The value to assign to the sha256 property of this JavaArtifact.
        :type sha256: str

        intstr)artifact_idartifact_descriptionartifact_content_typeapproximate_file_size_in_bytessha256Z
artifactIdZartifactDescriptionZartifactContentTypeZapproximateFileSizeInBytesr   N)Zswagger_typesZattribute_map_artifact_id_artifact_description_artifact_content_type_approximate_file_size_in_bytes_sha256)selfkwargs r   @usr/lib/python3.10/site-packages/oci/jms/models/java_artifact.py__init__   s"   	
zJavaArtifact.__init__c                 C      | j S )z
        **[Required]** Gets the artifact_id of this JavaArtifact.
        Unique identifier for the artifact.


        :return: The artifact_id of this JavaArtifact.
        :rtype: int
        r   r   r   r   r   r   P      
zJavaArtifact.artifact_idc                 C   
   || _ dS )z
        Sets the artifact_id of this JavaArtifact.
        Unique identifier for the artifact.


        :param artifact_id: The artifact_id of this JavaArtifact.
        :type: int
        Nr   )r   r   r   r   r   r   \      

c                 C   r   )a  
        **[Required]** Gets the artifact_description of this JavaArtifact.
        Description of the binary artifact. Typically includes the OS, architecture, and installer type.


        :return: The artifact_description of this JavaArtifact.
        :rtype: str
        r   r   r   r   r   r   h   r   z!JavaArtifact.artifact_descriptionc                 C   r   )a  
        Sets the artifact_description of this JavaArtifact.
        Description of the binary artifact. Typically includes the OS, architecture, and installer type.


        :param artifact_description: The artifact_description of this JavaArtifact.
        :type: str
        Nr!   )r   r   r   r   r   r   t   r    c                 C   r   )a  
        **[Required]** Gets the artifact_content_type of this JavaArtifact.
        Product content type of this artifact.

        Allowed values for this property are: "JDK", "JRE", "SERVER_JRE", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The artifact_content_type of this JavaArtifact.
        :rtype: str
        )r   r   r   r   r   r      s   z"JavaArtifact.artifact_content_typec                 C   s    g d}t ||sd}|| _dS )z
        Sets the artifact_content_type of this JavaArtifact.
        Product content type of this artifact.


        :param artifact_content_type: The artifact_content_type of this JavaArtifact.
        :type: str
        )r   r   r	   ZUNKNOWN_ENUM_VALUEN)r   r   )r   r   Zallowed_valuesr   r   r   r      s   


c                 C   r   )z
        **[Required]** Gets the approximate_file_size_in_bytes of this JavaArtifact.
        Approximate compressed file size in bytes.


        :return: The approximate_file_size_in_bytes of this JavaArtifact.
        :rtype: int
        r   r   r   r   r   r      r   z+JavaArtifact.approximate_file_size_in_bytesc                 C   r   )z
        Sets the approximate_file_size_in_bytes of this JavaArtifact.
        Approximate compressed file size in bytes.


        :param approximate_file_size_in_bytes: The approximate_file_size_in_bytes of this JavaArtifact.
        :type: int
        Nr"   )r   r   r   r   r   r      r    c                 C   r   )z
        **[Required]** Gets the sha256 of this JavaArtifact.
        SHA256 checksum of the artifact.


        :return: The sha256 of this JavaArtifact.
        :rtype: str
        r   r   r   r   r   r      r   zJavaArtifact.sha256c                 C   r   )z
        Sets the sha256 of this JavaArtifact.
        SHA256 checksum of the artifact.


        :param sha256: The sha256 of this JavaArtifact.
        :type: str
        Nr#   )r   r   r   r   r   r      r    c                 C   s   t | S N)r   r   r   r   r   __repr__   s   zJavaArtifact.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r   otherr   r   r   __eq__   s   zJavaArtifact.__eq__c                 C   s
   | |k S r$   r   r'   r   r   r   __ne__   s   
zJavaArtifact.__ne__N)__name__
__module____qualname____doc__ZARTIFACT_CONTENT_TYPE_JDKZARTIFACT_CONTENT_TYPE_JREZ ARTIFACT_CONTENT_TYPE_SERVER_JREr   propertyr   setterr   r   r   r   r%   r)   r*   r   r   r   r   r      s:    2









r   N)Zoci.utilr   r   r   Zoci.decoratorsr   objectr   r   r   r   r   <module>   s   