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                   @   st  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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/d0 Zd1S )2GenericArtifactz'
    The metadata of the artifact.
    	AVAILABLEDELETINGDELETEDc                 K   s   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 GenericArtifact 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 GenericArtifact.
        :type id: str

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

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

        :param repository_id:
            The value to assign to the repository_id property of this GenericArtifact.
        :type repository_id: str

        :param artifact_path:
            The value to assign to the artifact_path property of this GenericArtifact.
        :type artifact_path: str

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

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

        :param size_in_bytes:
            The value to assign to the size_in_bytes property of this GenericArtifact.
        :type size_in_bytes: int

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

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

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

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

        strintzdict(str, str)zdict(str, dict(str, object))datetime)iddisplay_namecompartment_idrepository_idartifact_pathversionsha256size_in_byteslifecycle_statefreeform_tagsdefined_tagstime_createdr   ZdisplayNameZcompartmentIdZrepositoryIdZartifactPathr   r   ZsizeInBytesZlifecycleStateZfreeformTagsZdefinedTagsZtimeCreatedN)Zswagger_typesZattribute_map_id_display_name_compartment_id_repository_id_artifact_path_version_sha256_size_in_bytes_lifecycle_state_freeform_tags_defined_tags_time_created)selfkwargs r'   Iusr/lib/python3.10/site-packages/oci/artifacts/models/generic_artifact.py__init__   sL   9
zGenericArtifact.__init__c                 C      | j S )aI  
        **[Required]** Gets the id of this GenericArtifact.
        The `OCID`__ of the artifact.

        Example: `ocid1.genericartifact.oc1..exampleuniqueID`

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


        :return: The id of this GenericArtifact.
        :rtype: str
        r   r%   r'   r'   r(   r      s   zGenericArtifact.idc                 C   
   || _ dS )a;  
        Sets the id of this GenericArtifact.
        The `OCID`__ of the artifact.

        Example: `ocid1.genericartifact.oc1..exampleuniqueID`

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


        :param id: The id of this GenericArtifact.
        :type: str
        Nr+   )r%   r   r'   r'   r(   r      s   
c                 C   r*   )aj  
        **[Required]** Gets the display_name of this GenericArtifact.
        The artifact name with the format of `<artifact-path>:<artifact-version>`. The artifact name is truncated to a maximum length of 255.

        Example: `project01/my-web-app/artifact-abc:1.0.0`


        :return: The display_name of this GenericArtifact.
        :rtype: str
        r   r,   r'   r'   r(   r         zGenericArtifact.display_namec                 C   r-   )af  
        Sets the display_name of this GenericArtifact.
        The artifact name with the format of `<artifact-path>:<artifact-version>`. The artifact name is truncated to a maximum length of 255.

        Example: `project01/my-web-app/artifact-abc:1.0.0`


        :param display_name: The display_name of this GenericArtifact.
        :type: str
        Nr.   )r%   r   r'   r'   r(   r         
c                 C   r*   )a2  
        **[Required]** Gets the compartment_id of this GenericArtifact.
        The `OCID`__ of the repository's compartment.

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


        :return: The compartment_id of this GenericArtifact.
        :rtype: str
        r   r,   r'   r'   r(   r      r/   zGenericArtifact.compartment_idc                 C   r-   )a0  
        Sets the compartment_id of this GenericArtifact.
        The `OCID`__ of the repository's compartment.

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


        :param compartment_id: The compartment_id of this GenericArtifact.
        :type: str
        Nr1   )r%   r   r'   r'   r(   r      r0   c                 C   r*   )a  
        **[Required]** Gets the repository_id of this GenericArtifact.
        The `OCID`__ of the repository.

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


        :return: The repository_id of this GenericArtifact.
        :rtype: str
        r   r,   r'   r'   r(   r      r/   zGenericArtifact.repository_idc                 C   r-   )a  
        Sets the repository_id of this GenericArtifact.
        The `OCID`__ of the repository.

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


        :param repository_id: The repository_id of this GenericArtifact.
        :type: str
        Nr2   )r%   r   r'   r'   r(   r      r0   c                 C   r*   )a  
        **[Required]** Gets the artifact_path of this GenericArtifact.
        A user-defined path to describe the location of an artifact. Slashes do not create a directory structure, but you can use slashes to organize the repository. An artifact path does not include an artifact version.

        Example: `project01/my-web-app/artifact-abc`


        :return: The artifact_path of this GenericArtifact.
        :rtype: str
        r   r,   r'   r'   r(   r      r/   zGenericArtifact.artifact_pathc                 C   r-   )a  
        Sets the artifact_path of this GenericArtifact.
        A user-defined path to describe the location of an artifact. Slashes do not create a directory structure, but you can use slashes to organize the repository. An artifact path does not include an artifact version.

        Example: `project01/my-web-app/artifact-abc`


        :param artifact_path: The artifact_path of this GenericArtifact.
        :type: str
        Nr3   )r%   r   r'   r'   r(   r     r0   c                 C   r*   )a   
        **[Required]** Gets the version of this GenericArtifact.
        A user-defined string to describe the artifact version.

        Example: `1.1.0` or `1.2-beta-2`


        :return: The version of this GenericArtifact.
        :rtype: str
        r   r,   r'   r'   r(   r     r/   zGenericArtifact.versionc                 C   r-   )z
        Sets the version of this GenericArtifact.
        A user-defined string to describe the artifact version.

        Example: `1.1.0` or `1.2-beta-2`


        :param version: The version of this GenericArtifact.
        :type: str
        Nr4   )r%   r   r'   r'   r(   r     r0   c                 C   r*   )a3  
        **[Required]** Gets the sha256 of this GenericArtifact.
        The SHA256 digest for the artifact. When you upload an artifact to the repository, a SHA256 digest is calculated and added to the artifact properties.


        :return: The sha256 of this GenericArtifact.
        :rtype: str
        r   r,   r'   r'   r(   r   -     
zGenericArtifact.sha256c                 C   r-   )a)  
        Sets the sha256 of this GenericArtifact.
        The SHA256 digest for the artifact. When you upload an artifact to the repository, a SHA256 digest is calculated and added to the artifact properties.


        :param sha256: The sha256 of this GenericArtifact.
        :type: str
        Nr5   )r%   r   r'   r'   r(   r   9     

c                 C   r*   )z
        **[Required]** Gets the size_in_bytes of this GenericArtifact.
        The size of the artifact in bytes.


        :return: The size_in_bytes of this GenericArtifact.
        :rtype: int
        r    r,   r'   r'   r(   r   E  r6   zGenericArtifact.size_in_bytesc                 C   r-   )z
        Sets the size_in_bytes of this GenericArtifact.
        The size of the artifact in bytes.


        :param size_in_bytes: The size_in_bytes of this GenericArtifact.
        :type: int
        Nr8   )r%   r   r'   r'   r(   r   Q  r7   c                 C   r*   )a  
        **[Required]** Gets the lifecycle_state of this GenericArtifact.
        The current state of the artifact.

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


        :return: The lifecycle_state of this GenericArtifact.
        :rtype: str
        )r!   r,   r'   r'   r(   r   ]  s   zGenericArtifact.lifecycle_statec                 C   s    g d}t ||sd}|| _dS )z
        Sets the lifecycle_state of this GenericArtifact.
        The current state of the artifact.


        :param lifecycle_state: The lifecycle_state of this GenericArtifact.
        :type: str
        )r   r   r	   ZUNKNOWN_ENUM_VALUEN)r   r!   )r%   r   Zallowed_valuesr'   r'   r(   r   l  s   


c                 C   r*   )a  
        **[Required]** Gets the freeform_tags of this GenericArtifact.
        Free-form tags for this resource. Each tag is a simple key-value pair with no
        predefined name, type, or namespace. For more information, see `Resource Tags`__.

        Example: `{"Department": "Finance"}`

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


        :return: The freeform_tags of this GenericArtifact.
        :rtype: dict(str, str)
        r"   r,   r'   r'   r(   r   {     zGenericArtifact.freeform_tagsc                 C   r-   )a  
        Sets the freeform_tags of this GenericArtifact.
        Free-form tags for this resource. Each tag is a simple key-value pair with no
        predefined name, type, or namespace. For more information, see `Resource Tags`__.

        Example: `{"Department": "Finance"}`

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


        :param freeform_tags: The freeform_tags of this GenericArtifact.
        :type: dict(str, str)
        Nr9   )r%   r   r'   r'   r(   r        
c                 C   r*   )a  
        **[Required]** Gets the defined_tags of this GenericArtifact.
        Defined tags for this resource. Each key is predefined and scoped to a
        namespace. For more information, see `Resource Tags`__.

        Example: `{"Operations": {"CostCenter": "42"}}`

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


        :return: The defined_tags of this GenericArtifact.
        :rtype: dict(str, dict(str, object))
        r#   r,   r'   r'   r(   r     r:   zGenericArtifact.defined_tagsc                 C   r-   )a  
        Sets the defined_tags of this GenericArtifact.
        Defined tags for this resource. Each key is predefined and scoped to a
        namespace. For more information, see `Resource Tags`__.

        Example: `{"Operations": {"CostCenter": "42"}}`

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


        :param defined_tags: The defined_tags of this GenericArtifact.
        :type: dict(str, dict(str, object))
        Nr<   )r%   r   r'   r'   r(   r     r;   c                 C   r*   )z
        **[Required]** Gets the time_created of this GenericArtifact.
        An RFC 3339 timestamp indicating when the repository was created.


        :return: The time_created of this GenericArtifact.
        :rtype: datetime
        r$   r,   r'   r'   r(   r     r6   zGenericArtifact.time_createdc                 C   r-   )z
        Sets the time_created of this GenericArtifact.
        An RFC 3339 timestamp indicating when the repository was created.


        :param time_created: The time_created of this GenericArtifact.
        :type: datetime
        Nr=   )r%   r   r'   r'   r(   r     r7   c                 C   s   t | S N)r   r,   r'   r'   r(   __repr__  s   zGenericArtifact.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r%   otherr'   r'   r(   __eq__  s   zGenericArtifact.__eq__c                 C   s
   | |k S r>   r'   rA   r'   r'   r(   __ne__  s   
zGenericArtifact.__ne__N)__name__
__module____qualname____doc__ZLIFECYCLE_STATE_AVAILABLEZLIFECYCLE_STATE_DELETINGZLIFECYCLE_STATE_DELETEDr)   propertyr   setterr   r   r   r   r   r   r   r   r   r   r   r?   rC   rD   r'   r'   r'   r(   r      sr    c























r   N)Zoci.utilr   r   r   Zoci.decoratorsr   objectr   r'   r'   r'   r(   <module>   s   