o
    ëÉ¶dLL  ã                   @   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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ed(d)„ ƒZejd*d)„ ƒZed+d,„ ƒZejd-d,„ ƒZed.d/„ ƒZejd0d/„ ƒZed1d2„ ƒZejd3d2„ ƒZed4d5„ ƒZejd6d5„ ƒZed7d8„ ƒZejd9d8„ ƒZed:d;„ ƒZejd<d;„ ƒZd=d>„ Zd?d@„ ZdAdB„ Z dCS )DÚModelz%
    Description of the a Model.
    ÚDELETINGÚDELETEDÚFAILEDÚCREATINGÚACTIVEÚUPDATINGc                 K   sB  i 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d“| _ i 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d(“| _d)| _d)| _d)| _d)| _d)| _d)| _d)| _d)| _	d)| _
d)| _d)| _d)| _d)| _d)| _d)| _d)| _d)| _d)S )*a§  
        Initializes a new Model 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 Model.
        :type id: str

        :param display_name:
            The value to assign to the display_name property of this Model.
        :type display_name: str

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

        :param project_id:
            The value to assign to the project_id property of this Model.
        :type project_id: str

        :param description:
            The value to assign to the description property of this Model.
        :type description: str

        :param model_details:
            The value to assign to the model_details property of this Model.
        :type model_details: oci.ai_language.models.ModelDetails

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

        :param time_updated:
            The value to assign to the time_updated property of this Model.
        :type time_updated: datetime

        :param lifecycle_state:
            The value to assign to the lifecycle_state property of this Model.
            Allowed values for this property are: "DELETING", "DELETED", "FAILED", "CREATING", "ACTIVE", "UPDATING", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type lifecycle_state: str

        :param lifecycle_details:
            The value to assign to the lifecycle_details property of this Model.
        :type lifecycle_details: str

        :param training_dataset:
            The value to assign to the training_dataset property of this Model.
        :type training_dataset: oci.ai_language.models.DatasetDetails

        :param evaluation_results:
            The value to assign to the evaluation_results property of this Model.
        :type evaluation_results: oci.ai_language.models.EvaluationResults

        :param test_strategy:
            The value to assign to the test_strategy property of this Model.
        :type test_strategy: oci.ai_language.models.TestStrategy

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

        :param freeform_tags:
            The value to assign to the freeform_tags property of this Model.
        :type freeform_tags: dict(str, str)

        :param defined_tags:
            The value to assign to the defined_tags property of this Model.
        :type defined_tags: dict(str, dict(str, object))

        :param system_tags:
            The value to assign to the system_tags property of this Model.
        :type system_tags: dict(str, object)

        ÚidÚstrÚdisplay_nameÚcompartment_idÚ
project_idÚdescriptionÚmodel_detailsZModelDetailsÚtime_createdÚdatetimeÚtime_updatedÚlifecycle_stateÚlifecycle_detailsÚtraining_datasetZDatasetDetailsÚevaluation_resultsZEvaluationResultsÚtest_strategyZTestStrategyÚversionÚfreeform_tagszdict(str, str)Údefined_tagszdict(str, dict(str, object))Úsystem_tagszdict(str, object)ZdisplayNameZcompartmentIdZ	projectIdZmodelDetailsZtimeCreatedZtimeUpdatedZlifecycleStateZlifecycleDetailsZtrainingDatasetZevaluationResultsZtestStrategyZfreeformTagsZdefinedTagsZ
systemTagsN)Zswagger_typesZattribute_mapÚ_idÚ_display_nameÚ_compartment_idÚ_project_idÚ_descriptionÚ_model_detailsÚ_time_createdÚ_time_updatedÚ_lifecycle_stateÚ_lifecycle_detailsÚ_training_datasetÚ_evaluation_resultsÚ_test_strategyÚ_versionÚ_freeform_tagsÚ_defined_tagsÚ_system_tags)ÚselfÚkwargs© r3   ú@usr/lib/python3.10/site-packages/oci/ai_language/models/model.pyÚ__init__*   s®   Lÿþýüûúùø	÷
öõôóòñðïÿþýüûúùø	÷
öõôóòñðï
zModel.__init__c                 C   ó   | j S )zÆ
        **[Required]** Gets the id of this Model.
        Unique identifier model OCID of a model that is immutable on creation


        :return: The id of this Model.
        :rtype: str
        ©r    ©r1   r3   r3   r4   r   °   ó   
zModel.idc                 C   ó
   || _ dS )z¸
        Sets the id of this Model.
        Unique identifier model OCID of a model that is immutable on creation


        :param id: The id of this Model.
        :type: str
        Nr7   )r1   r   r3   r3   r4   r   ¼   ó   

c                 C   r6   )a  
        **[Required]** Gets the display_name of this Model.
        A user-friendly display name for the resource. It does not have to be unique and can be modified. Avoid entering confidential information.


        :return: The display_name of this Model.
        :rtype: str
        ©r!   r8   r3   r3   r4   r   È   r9   zModel.display_namec                 C   r:   )a  
        Sets the display_name of this Model.
        A user-friendly display name for the resource. It does not have to be unique and can be modified. Avoid entering confidential information.


        :param display_name: The display_name of this Model.
        :type: str
        Nr<   )r1   r   r3   r3   r4   r   Ô   r;   c                 C   r6   )a  
        **[Required]** Gets the compartment_id of this Model.
        The `OCID`__  for the model's compartment.

        __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm


        :return: The compartment_id of this Model.
        :rtype: str
        ©r"   r8   r3   r3   r4   r   à   ó   zModel.compartment_idc                 C   r:   )a  
        Sets the compartment_id of this Model.
        The `OCID`__  for the model's compartment.

        __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm


        :param compartment_id: The compartment_id of this Model.
        :type: str
        Nr=   )r1   r   r3   r3   r4   r   î   ó   
c                 C   r6   )a!  
        **[Required]** Gets the project_id of this Model.
        The `OCID`__ of the project to associate with the model.

        __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm


        :return: The project_id of this Model.
        :rtype: str
        ©r#   r8   r3   r3   r4   r   ü   r>   zModel.project_idc                 C   r:   )a  
        Sets the project_id of this Model.
        The `OCID`__ of the project to associate with the model.

        __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm


        :param project_id: The project_id of this Model.
        :type: str
        Nr@   )r1   r   r3   r3   r4   r   
  r?   c                 C   r6   )z¥
        Gets the description of this Model.
        A short description of the Model.


        :return: The description of this Model.
        :rtype: str
        ©r$   r8   r3   r3   r4   r     r9   zModel.descriptionc                 C   r:   )z¯
        Sets the description of this Model.
        A short description of the Model.


        :param description: The description of this Model.
        :type: str
        NrA   )r1   r   r3   r3   r4   r   $  r;   c                 C   r6   )z­
        **[Required]** Gets the model_details of this Model.

        :return: The model_details of this Model.
        :rtype: oci.ai_language.models.ModelDetails
        ©r%   r8   r3   r3   r4   r   0  ó   zModel.model_detailsc                 C   r:   )zª
        Sets the model_details of this Model.

        :param model_details: The model_details of this Model.
        :type: oci.ai_language.models.ModelDetails
        NrB   )r1   r   r3   r3   r4   r   :  ó   
c                 C   r6   )zã
        **[Required]** Gets the time_created of this Model.
        The time the the model was created. An RFC3339 formatted datetime string.


        :return: The time_created of this Model.
        :rtype: datetime
        ©r&   r8   r3   r3   r4   r   D  r9   zModel.time_createdc                 C   r:   )zß
        Sets the time_created of this Model.
        The time the the model was created. An RFC3339 formatted datetime string.


        :param time_created: The time_created of this Model.
        :type: datetime
        NrE   )r1   r   r3   r3   r4   r   P  r;   c                 C   r6   )zÐ
        Gets the time_updated of this Model.
        The time the model was updated. An RFC3339 formatted datetime string.


        :return: The time_updated of this Model.
        :rtype: datetime
        ©r'   r8   r3   r3   r4   r   \  r9   zModel.time_updatedc                 C   r:   )zÛ
        Sets the time_updated of this Model.
        The time the model was updated. An RFC3339 formatted datetime string.


        :param time_updated: The time_updated of this Model.
        :type: datetime
        NrF   )r1   r   r3   r3   r4   r   h  r;   c                 C   r6   )a˜  
        **[Required]** Gets the lifecycle_state of this Model.
        The state of the model.

        Allowed values for this property are: "DELETING", "DELETED", "FAILED", "CREATING", "ACTIVE", "UPDATING", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The lifecycle_state of this Model.
        :rtype: str
        )r(   r8   r3   r3   r4   r   t  s   zModel.lifecycle_statec                 C   s    g d¢}t ||ƒsd}|| _dS )z±
        Sets the lifecycle_state of this Model.
        The state of the model.


        :param lifecycle_state: The lifecycle_state of this Model.
        :type: str
        )r   r   r	   r
   r   r   ZUNKNOWN_ENUM_VALUEN)r   r(   )r1   r   Zallowed_valuesr3   r3   r4   r   ƒ  s   


c                 C   r6   )a!  
        Gets the lifecycle_details of this Model.
        A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in failed state.


        :return: The lifecycle_details of this Model.
        :rtype: str
        ©r)   r8   r3   r3   r4   r   ’  r9   zModel.lifecycle_detailsc                 C   r:   )a1  
        Sets the lifecycle_details of this Model.
        A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in failed state.


        :param lifecycle_details: The lifecycle_details of this Model.
        :type: str
        NrG   )r1   r   r3   r3   r4   r   ž  r;   c                 C   r6   )z¦
        Gets the training_dataset of this Model.

        :return: The training_dataset of this Model.
        :rtype: oci.ai_language.models.DatasetDetails
        ©r*   r8   r3   r3   r4   r   ª  rC   zModel.training_datasetc                 C   r:   )zµ
        Sets the training_dataset of this Model.

        :param training_dataset: The training_dataset of this Model.
        :type: oci.ai_language.models.DatasetDetails
        NrH   )r1   r   r3   r3   r4   r   ´  rD   c                 C   r6   )z­
        Gets the evaluation_results of this Model.

        :return: The evaluation_results of this Model.
        :rtype: oci.ai_language.models.EvaluationResults
        ©r+   r8   r3   r3   r4   r   ¾  rC   zModel.evaluation_resultsc                 C   r:   )z¾
        Sets the evaluation_results of this Model.

        :param evaluation_results: The evaluation_results of this Model.
        :type: oci.ai_language.models.EvaluationResults
        NrI   )r1   r   r3   r3   r4   r   È  rD   c                 C   r6   )zž
        Gets the test_strategy of this Model.

        :return: The test_strategy of this Model.
        :rtype: oci.ai_language.models.TestStrategy
        ©r,   r8   r3   r3   r4   r   Ò  rC   zModel.test_strategyc                 C   r:   )zª
        Sets the test_strategy of this Model.

        :param test_strategy: The test_strategy of this Model.
        :type: oci.ai_language.models.TestStrategy
        NrJ   )r1   r   r3   r3   r4   r   Ü  rD   c                 C   r6   )ay  
        Gets the version of this Model.
        Identifying the model by model id is difficult. This param provides ease of use for end customer.
        <<service>>::<<service-name>>_<<model-type-version>>::<<custom model on which this training has to be done>>
        ex: ai-lang::NER_V1::CUSTOM-V0


        :return: The version of this Model.
        :rtype: str
        ©r-   r8   r3   r3   r4   r   æ  r>   zModel.versionc                 C   r:   )a  
        Sets the version of this Model.
        Identifying the model by model id is difficult. This param provides ease of use for end customer.
        <<service>>::<<service-name>>_<<model-type-version>>::<<custom model on which this training has to be done>>
        ex: ai-lang::NER_V1::CUSTOM-V0


        :param version: The version of this Model.
        :type: str
        NrK   )r1   r   r3   r3   r4   r   ô  r?   c                 C   r6   )a1  
        Gets the freeform_tags of this Model.
        Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
        Example: `{"bar-key": "value"}`


        :return: The freeform_tags of this Model.
        :rtype: dict(str, str)
        ©r.   r8   r3   r3   r4   r     ó   zModel.freeform_tagsc                 C   r:   )a=  
        Sets the freeform_tags of this Model.
        Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
        Example: `{"bar-key": "value"}`


        :param freeform_tags: The freeform_tags of this Model.
        :type: dict(str, str)
        NrL   )r1   r   r3   r3   r4   r     ó   
c                 C   r6   )a+  
        Gets the defined_tags of this Model.
        Defined tags for this resource. Each key is predefined and scoped to a namespace.
        Example: `{"foo-namespace": {"bar-key": "value"}}`


        :return: The defined_tags of this Model.
        :rtype: dict(str, dict(str, object))
        ©r/   r8   r3   r3   r4   r     rM   zModel.defined_tagsc                 C   r:   )a6  
        Sets the defined_tags of this Model.
        Defined tags for this resource. Each key is predefined and scoped to a namespace.
        Example: `{"foo-namespace": {"bar-key": "value"}}`


        :param defined_tags: The defined_tags of this Model.
        :type: dict(str, dict(str, object))
        NrO   )r1   r   r3   r3   r4   r   )  rN   c                 C   r6   )a!  
        Gets the system_tags of this Model.
        Usage of system tag keys. These predefined keys are scoped to namespaces.
        Example: `{ "orcl-cloud": { "free-tier-retained": "true" } }`


        :return: The system_tags of this Model.
        :rtype: dict(str, object)
        ©r0   r8   r3   r3   r4   r   6  rM   zModel.system_tagsc                 C   r:   )a+  
        Sets the system_tags of this Model.
        Usage of system tag keys. These predefined keys are scoped to namespaces.
        Example: `{ "orcl-cloud": { "free-tier-retained": "true" } }`


        :param system_tags: The system_tags of this Model.
        :type: dict(str, object)
        NrP   )r1   r   r3   r3   r4   r   C  rN   c                 C   s   t | ƒS ©N)r   r8   r3   r3   r4   Ú__repr__P  s   zModel.__repr__c                 C   s   |d u rdS | j |j kS )NF)Ú__dict__©r1   Úotherr3   r3   r4   Ú__eq__S  s   zModel.__eq__c                 C   s
   | |k S rQ   r3   rT   r3   r3   r4   Ú__ne__Y  s   
zModel.__ne__N)!Ú__name__Ú
__module__Ú__qualname__Ú__doc__ZLIFECYCLE_STATE_DELETINGZLIFECYCLE_STATE_DELETEDZLIFECYCLE_STATE_FAILEDZLIFECYCLE_STATE_CREATINGZLIFECYCLE_STATE_ACTIVEZLIFECYCLE_STATE_UPDATINGr5   Úpropertyr   Úsetterr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rR   rV   rW   r3   r3   r3   r4   r      s¢     










	
	








	
	
	
	
	
	







r   N)Zoci.utilr   r   r   Zoci.decoratorsr   Úobjectr   r3   r3   r3   r4   Ú<module>   s   