o
    ɶdX                     @   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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ed=d> Zej
d?d> Zd@dA ZdBdC ZdDdE ZdFS )GContainerImagez#
    Container image metadata.
    	AVAILABLEDELETEDDELETINGc                 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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(| _d(| _d(| _d(| _d(| _d(S ))a  
        Initializes a new ContainerImage object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

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

        :param created_by:
            The value to assign to the created_by property of this ContainerImage.
        :type created_by: str

        :param digest:
            The value to assign to the digest property of this ContainerImage.
        :type digest: str

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

        :param id:
            The value to assign to the id property of this ContainerImage.
        :type id: str

        :param layers:
            The value to assign to the layers property of this ContainerImage.
        :type layers: list[oci.artifacts.models.ContainerImageLayer]

        :param layers_size_in_bytes:
            The value to assign to the layers_size_in_bytes property of this ContainerImage.
        :type layers_size_in_bytes: int

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

        :param manifest_size_in_bytes:
            The value to assign to the manifest_size_in_bytes property of this ContainerImage.
        :type manifest_size_in_bytes: int

        :param pull_count:
            The value to assign to the pull_count property of this ContainerImage.
        :type pull_count: int

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

        :param repository_name:
            The value to assign to the repository_name property of this ContainerImage.
        :type repository_name: str

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

        :param time_last_pulled:
            The value to assign to the time_last_pulled property of this ContainerImage.
        :type time_last_pulled: datetime

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

        :param versions:
            The value to assign to the versions property of this ContainerImage.
        :type versions: list[oci.artifacts.models.ContainerVersion]

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

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

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

        compartment_idstr
created_bydigestdisplay_nameidlayerszlist[ContainerImageLayer]layers_size_in_bytesintlifecycle_statemanifest_size_in_bytes
pull_countrepository_idrepository_nametime_createddatetimetime_last_pulledversionversionszlist[ContainerVersion]freeform_tagszdict(str, str)zdict(str, dict(str, object)))defined_tagssystem_tagsZcompartmentIdZ	createdByZdisplayNameZlayersSizeInBytesZlifecycleStateZmanifestSizeInBytesZ	pullCountZrepositoryIdZrepositoryNameZtimeCreatedZtimeLastPulledZfreeformTagsZdefinedTagsZ
systemTagsN)Zswagger_typesZattribute_map_compartment_id_created_by_digest_display_name_id_layers_layers_size_in_bytes_lifecycle_state_manifest_size_in_bytes_pull_count_repository_id_repository_name_time_created_time_last_pulled_version	_versions_freeform_tags_defined_tags_system_tags)selfkwargs r5   Husr/lib/python3.10/site-packages/oci/artifacts/models/container_image.py__init__   s   T	

	


zContainerImage.__init__c                 C      | j S )a  
        **[Required]** Gets the compartment_id of this ContainerImage.
        The compartment OCID to which the container image belongs. Inferred from the container repository.


        :return: The compartment_id of this ContainerImage.
        :rtype: str
        r    r3   r5   r5   r6   r
         
zContainerImage.compartment_idc                 C   
   || _ dS )a  
        Sets the compartment_id of this ContainerImage.
        The compartment OCID to which the container image belongs. Inferred from the container repository.


        :param compartment_id: The compartment_id of this ContainerImage.
        :type: str
        Nr9   )r3   r
   r5   r5   r6   r
         

c                 C   r8   )a6  
        **[Required]** Gets the created_by of this ContainerImage.
        The `OCID`__ of the user or principal that created the resource.

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


        :return: The created_by of this ContainerImage.
        :rtype: str
        r!   r:   r5   r5   r6   r         zContainerImage.created_byc                 C   r<   )a0  
        Sets the created_by of this ContainerImage.
        The `OCID`__ of the user or principal that created the resource.

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


        :param created_by: The created_by of this ContainerImage.
        :type: str
        Nr>   )r3   r   r5   r5   r6   r         
c                 C   r8   )z
        **[Required]** Gets the digest of this ContainerImage.
        The container image digest.


        :return: The digest of this ContainerImage.
        :rtype: str
        r"   r:   r5   r5   r6   r      r;   zContainerImage.digestc                 C   r<   )z
        Sets the digest of this ContainerImage.
        The container image digest.


        :param digest: The digest of this ContainerImage.
        :type: str
        NrA   )r3   r   r5   r5   r6   r      r=   c                 C   r8   )a@  
        **[Required]** Gets the display_name of this ContainerImage.
        The repository name and the most recent version associated with the image.
        If there are no versions associated with the image, then last known version and digest are used instead.
        If the last known version is unavailable, then 'unknown' is used instead of the version.

        Example: `ubuntu:latest` or `ubuntu:latest@sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2`


        :return: The display_name of this ContainerImage.
        :rtype: str
        r#   r:   r5   r5   r6   r         zContainerImage.display_namec                 C   r<   )a<  
        Sets the display_name of this ContainerImage.
        The repository name and the most recent version associated with the image.
        If there are no versions associated with the image, then last known version and digest are used instead.
        If the last known version is unavailable, then 'unknown' is used instead of the version.

        Example: `ubuntu:latest` or `ubuntu:latest@sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2`


        :param display_name: The display_name of this ContainerImage.
        :type: str
        NrB   )r3   r   r5   r5   r6   r        
c                 C   r8   )aH  
        **[Required]** Gets the id of this ContainerImage.
        The `OCID`__ of the container image.

        Example: `ocid1.containerimage.oc1..exampleuniqueID`

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


        :return: The id of this ContainerImage.
        :rtype: str
        r$   r:   r5   r5   r6   r     rC   zContainerImage.idc                 C   r<   )a:  
        Sets the id of this ContainerImage.
        The `OCID`__ of the container image.

        Example: `ocid1.containerimage.oc1..exampleuniqueID`

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


        :param id: The id of this ContainerImage.
        :type: str
        NrE   )r3   r   r5   r5   r6   r   .  rD   c                 C   r8   )a	  
        **[Required]** Gets the layers of this ContainerImage.
        Layers of which the image is composed, ordered by the layer digest.


        :return: The layers of this ContainerImage.
        :rtype: list[oci.artifacts.models.ContainerImageLayer]
        r%   r:   r5   r5   r6   r   >  r;   zContainerImage.layersc                 C   r<   )z
        Sets the layers of this ContainerImage.
        Layers of which the image is composed, ordered by the layer digest.


        :param layers: The layers of this ContainerImage.
        :type: list[oci.artifacts.models.ContainerImageLayer]
        NrF   )r3   r   r5   r5   r6   r   J  r=   c                 C   r8   )z
        **[Required]** Gets the layers_size_in_bytes of this ContainerImage.
        The total size of the container image layers in bytes.


        :return: The layers_size_in_bytes of this ContainerImage.
        :rtype: int
        r&   r:   r5   r5   r6   r   V  r;   z#ContainerImage.layers_size_in_bytesc                 C   r<   )z
        Sets the layers_size_in_bytes of this ContainerImage.
        The total size of the container image layers in bytes.


        :param layers_size_in_bytes: The layers_size_in_bytes of this ContainerImage.
        :type: int
        NrG   )r3   r   r5   r5   r6   r   b  r=   c                 C   r8   )a  
        **[Required]** Gets the lifecycle_state of this ContainerImage.
        The current state of the container image.

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


        :return: The lifecycle_state of this ContainerImage.
        :rtype: str
        )r'   r:   r5   r5   r6   r   n  s   zContainerImage.lifecycle_statec                 C   s    g d}t ||sd}|| _dS )z
        Sets the lifecycle_state of this ContainerImage.
        The current state of the container image.


        :param lifecycle_state: The lifecycle_state of this ContainerImage.
        :type: str
        )r   r   r	   ZUNKNOWN_ENUM_VALUEN)r   r'   )r3   r   Zallowed_valuesr5   r5   r6   r   }  s   


c                 C   r8   )z
        **[Required]** Gets the manifest_size_in_bytes of this ContainerImage.
        The size of the container image manifest in bytes.


        :return: The manifest_size_in_bytes of this ContainerImage.
        :rtype: int
        r(   r:   r5   r5   r6   r     r;   z%ContainerImage.manifest_size_in_bytesc                 C   r<   )z
        Sets the manifest_size_in_bytes of this ContainerImage.
        The size of the container image manifest in bytes.


        :param manifest_size_in_bytes: The manifest_size_in_bytes of this ContainerImage.
        :type: int
        NrH   )r3   r   r5   r5   r6   r     r=   c                 C   r8   )z
        **[Required]** Gets the pull_count of this ContainerImage.
        Total number of pulls.


        :return: The pull_count of this ContainerImage.
        :rtype: int
        r)   r:   r5   r5   r6   r     r;   zContainerImage.pull_countc                 C   r<   )z
        Sets the pull_count of this ContainerImage.
        Total number of pulls.


        :param pull_count: The pull_count of this ContainerImage.
        :type: int
        NrI   )r3   r   r5   r5   r6   r     r=   c                 C   r8   )a%  
        **[Required]** Gets the repository_id of this ContainerImage.
        The `OCID`__ of the container repository.

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


        :return: The repository_id of this ContainerImage.
        :rtype: str
        r*   r:   r5   r5   r6   r     r?   zContainerImage.repository_idc                 C   r<   )a"  
        Sets the repository_id of this ContainerImage.
        The `OCID`__ of the container repository.

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


        :param repository_id: The repository_id of this ContainerImage.
        :type: str
        NrJ   )r3   r   r5   r5   r6   r     r@   c                 C   r8   )z
        **[Required]** Gets the repository_name of this ContainerImage.
        The container repository name.


        :return: The repository_name of this ContainerImage.
        :rtype: str
        r+   r:   r5   r5   r6   r     r;   zContainerImage.repository_namec                 C   r<   )z
        Sets the repository_name of this ContainerImage.
        The container repository name.


        :param repository_name: The repository_name of this ContainerImage.
        :type: str
        NrK   )r3   r   r5   r5   r6   r     r=   c                 C   r8   )z
        **[Required]** Gets the time_created of this ContainerImage.
        An RFC 3339 timestamp indicating when the image was created.


        :return: The time_created of this ContainerImage.
        :rtype: datetime
        r,   r:   r5   r5   r6   r     r;   zContainerImage.time_createdc                 C   r<   )z
        Sets the time_created of this ContainerImage.
        An RFC 3339 timestamp indicating when the image was created.


        :param time_created: The time_created of this ContainerImage.
        :type: datetime
        NrL   )r3   r   r5   r5   r6   r     r=   c                 C   r8   )z
        Gets the time_last_pulled of this ContainerImage.
        An RFC 3339 timestamp indicating when the image was last pulled.


        :return: The time_last_pulled of this ContainerImage.
        :rtype: datetime
        r-   r:   r5   r5   r6   r     r;   zContainerImage.time_last_pulledc                 C   r<   )z
        Sets the time_last_pulled of this ContainerImage.
        An RFC 3339 timestamp indicating when the image was last pulled.


        :param time_last_pulled: The time_last_pulled of this ContainerImage.
        :type: datetime
        NrM   )r3   r   r5   r5   r6   r     r=   c                 C   r8   )z
        Gets the version of this ContainerImage.
        The most recent version associated with this image.


        :return: The version of this ContainerImage.
        :rtype: str
        r.   r:   r5   r5   r6   r      r;   zContainerImage.versionc                 C   r<   )z
        Sets the version of this ContainerImage.
        The most recent version associated with this image.


        :param version: The version of this ContainerImage.
        :type: str
        NrN   )r3   r   r5   r5   r6   r   ,  r=   c                 C   r8   )z
        **[Required]** Gets the versions of this ContainerImage.
        The versions associated with this image.


        :return: The versions of this ContainerImage.
        :rtype: list[oci.artifacts.models.ContainerVersion]
        r/   r:   r5   r5   r6   r   8  r;   zContainerImage.versionsc                 C   r<   )z
        Sets the versions of this ContainerImage.
        The versions associated with this image.


        :param versions: The versions of this ContainerImage.
        :type: list[oci.artifacts.models.ContainerVersion]
        NrO   )r3   r   r5   r5   r6   r   D  r=   c                 C   r8   )a  
        **[Required]** Gets the freeform_tags of this ContainerImage.
        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 ContainerImage.
        :rtype: dict(str, str)
        r0   r:   r5   r5   r6   r   P     zContainerImage.freeform_tagsc                 C   r<   )a  
        Sets the freeform_tags of this ContainerImage.
        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 ContainerImage.
        :type: dict(str, str)
        NrP   )r3   r   r5   r5   r6   r   a     
c                 C   r8   )a  
        **[Required]** Gets the defined_tags of this ContainerImage.
        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 ContainerImage.
        :rtype: dict(str, dict(str, object))
        r1   r:   r5   r5   r6   r   r  rQ   zContainerImage.defined_tagsc                 C   r<   )a  
        Sets the defined_tags of this ContainerImage.
        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 ContainerImage.
        :type: dict(str, dict(str, object))
        NrS   )r3   r   r5   r5   r6   r     rR   c                 C   r8   )aT  
        **[Required]** Gets the system_tags of this ContainerImage.
        The system tags for this resource. Each key is predefined and scoped to a namespace.
        Example: `{"orcl-cloud": {"free-tier-retained": "true"}}`


        :return: The system_tags of this ContainerImage.
        :rtype: dict(str, dict(str, object))
        r2   r:   r5   r5   r6   r     s   zContainerImage.system_tagsc                 C   r<   )aO  
        Sets the system_tags of this ContainerImage.
        The system tags for this resource. Each key is predefined and scoped to a namespace.
        Example: `{"orcl-cloud": {"free-tier-retained": "true"}}`


        :param system_tags: The system_tags of this ContainerImage.
        :type: dict(str, dict(str, object))
        NrT   )r3   r   r5   r5   r6   r     s   
c                 C   s   t | S N)r   r:   r5   r5   r6   __repr__  s   zContainerImage.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r3   otherr5   r5   r6   __eq__  s   zContainerImage.__eq__c                 C   s
   | |k S rU   r5   rX   r5   r5   r6   __ne__  s   
zContainerImage.__ne__N) __name__
__module____qualname____doc__ZLIFECYCLE_STATE_AVAILABLEZLIFECYCLE_STATE_DELETEDZLIFECYCLE_STATE_DELETINGr7   propertyr
   setterr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rV   rZ   r[   r5   r5   r5   r6   r      s     





































r   N)Zoci.utilr   r   r   Zoci.decoratorsr   objectr   r5   r5   r5   r6   <module>   s   