o
    ëÉ¶d%j  ã                   @   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
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d0d1„ ƒZejd2d1„ ƒZed3d4„ ƒZejd5d4„ ƒZed6d7„ ƒZejd8d7„ ƒZed9d:„ ƒZejd;d:„ ƒZed<d=„ ƒZejd>d=„ ƒZed?d@„ ƒZ e jdAd@„ ƒZ edBdC„ ƒZ!e!jdDdC„ ƒZ!edEdF„ ƒZ"e"jdGdF„ ƒZ"edHdI„ ƒZ#e#jdJdI„ ƒZ#edKdL„ ƒZ$e$jdMdL„ ƒZ$edNdO„ ƒZ%e%jdPdO„ ƒZ%dQdR„ Z&dSdT„ Z'dUdV„ Z(dWS )XÚ
RepositoryzF
    Repositories containing the source code to build and deploy.
    ÚMIRROREDÚHOSTEDÚACTIVEÚCREATINGÚDELETEDÚDELETINGÚPUSHÚCOMMIT_UPDATESc                 K   sŠ  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œ¥| _ 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-| _d-| _d-| _d-| _d-| _d-| _d-| _d-| _d-S ).aw  
        Initializes a new Repository 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 Repository.
        :type id: str

        :param name:
            The value to assign to the name property of this Repository.
        :type name: str

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

        :param namespace:
            The value to assign to the namespace property of this Repository.
        :type namespace: str

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

        :param project_name:
            The value to assign to the project_name property of this Repository.
        :type project_name: str

        :param ssh_url:
            The value to assign to the ssh_url property of this Repository.
        :type ssh_url: str

        :param http_url:
            The value to assign to the http_url property of this Repository.
        :type http_url: str

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

        :param default_branch:
            The value to assign to the default_branch property of this Repository.
        :type default_branch: str

        :param repository_type:
            The value to assign to the repository_type property of this Repository.
            Allowed values for this property are: "MIRRORED", "HOSTED", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type repository_type: str

        :param mirror_repository_config:
            The value to assign to the mirror_repository_config property of this Repository.
        :type mirror_repository_config: oci.devops.models.MirrorRepositoryConfig

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

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

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

        :param lifecyle_details:
            The value to assign to the lifecyle_details property of this Repository.
        :type lifecyle_details: str

        :param branch_count:
            The value to assign to the branch_count property of this Repository.
        :type branch_count: int

        :param commit_count:
            The value to assign to the commit_count property of this Repository.
        :type commit_count: int

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

        :param trigger_build_events:
            The value to assign to the trigger_build_events property of this Repository.
            Allowed values for items in this list are: "PUSH", "COMMIT_UPDATES", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type trigger_build_events: list[str]

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

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

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

        ÚidÚstrÚnameÚcompartment_idÚ	namespaceÚ
project_idÚproject_nameÚssh_urlÚhttp_urlÚdescriptionÚdefault_branchÚrepository_typeÚmirror_repository_configZMirrorRepositoryConfigÚtime_createdÚdatetimeÚtime_updatedÚlifecycle_stateÚlifecyle_detailsÚbranch_countÚintz	list[str]zdict(str, str)zdict(str, dict(str, object)))Úcommit_countÚsize_in_bytesÚtrigger_build_eventsÚfreeform_tagsÚdefined_tagsÚsystem_tagsZcompartmentIdZ	projectIdZprojectNameZsshUrlZhttpUrlZdefaultBranchZrepositoryTypeZmirrorRepositoryConfigZtimeCreatedZtimeUpdatedZlifecycleStateZlifecyleDetailsZbranchCountZcommitCountZsizeInBytesZtriggerBuildEventsZfreeformTagsZdefinedTagsZ
systemTagsN)Zswagger_typesZattribute_mapÚ_idÚ_nameÚ_compartment_idÚ
_namespaceÚ_project_idÚ_project_nameÚ_ssh_urlÚ	_http_urlÚ_descriptionÚ_default_branchÚ_repository_typeÚ_mirror_repository_configÚ_time_createdÚ_time_updatedÚ_lifecycle_stateÚ_lifecyle_detailsÚ_branch_countÚ_commit_countÚ_size_in_bytesÚ_trigger_build_eventsÚ_freeform_tagsÚ_defined_tagsÚ_system_tags)ÚselfÚkwargs© rB   ú@usr/lib/python3.10/site-packages/oci/devops/models/repository.pyÚ__init__2   sÖ   hÿþýüûúùø	÷
öõôóòñðï
éÿþýüûúùø	÷
öõôóòñðï
é
zRepository.__init__c                 C   ó   | j S )zÊ
        **[Required]** Gets the id of this Repository.
        The OCID of the repository. This value is unique and immutable.


        :return: The id of this Repository.
        :rtype: str
        ©r)   ©r@   rB   rB   rC   r   æ   ó   
zRepository.idc                 C   ó
   || _ dS )z¼
        Sets the id of this Repository.
        The OCID of the repository. This value is unique and immutable.


        :param id: The id of this Repository.
        :type: str
        NrF   )r@   r   rB   rB   rC   r   ò   ó   

c                 C   rE   )z³
        Gets the name of this Repository.
        Unique name of a repository. This value is mutable.


        :return: The name of this Repository.
        :rtype: str
        ©r*   rG   rB   rB   rC   r   þ   rH   zRepository.namec                 C   rI   )z¶
        Sets the name of this Repository.
        Unique name of a repository. This value is mutable.


        :param name: The name of this Repository.
        :type: str
        NrK   )r@   r   rB   rB   rC   r   
  rJ   c                 C   rE   )zÌ
        **[Required]** Gets the compartment_id of this Repository.
        The OCID of the repository's compartment.


        :return: The compartment_id of this Repository.
        :rtype: str
        ©r+   rG   rB   rB   rC   r     rH   zRepository.compartment_idc                 C   rI   )zÊ
        Sets the compartment_id of this Repository.
        The OCID of the repository's compartment.


        :param compartment_id: The compartment_id of this Repository.
        :type: str
        NrL   )r@   r   rB   rB   rC   r   "  rJ   c                 C   rE   )z£
        Gets the namespace of this Repository.
        Tenancy unique namespace.


        :return: The namespace of this Repository.
        :rtype: str
        ©r,   rG   rB   rB   rC   r   .  rH   zRepository.namespacec                 C   rI   )z«
        Sets the namespace of this Repository.
        Tenancy unique namespace.


        :param namespace: The namespace of this Repository.
        :type: str
        NrM   )r@   r   rB   rB   rC   r   :  rJ   c                 C   rE   )zÔ
        **[Required]** Gets the project_id of this Repository.
        The OCID of the DevOps project containing the repository.


        :return: The project_id of this Repository.
        :rtype: str
        ©r-   rG   rB   rB   rC   r   F  rH   zRepository.project_idc                 C   rI   )zÎ
        Sets the project_id of this Repository.
        The OCID of the DevOps project containing the repository.


        :param project_id: The project_id of this Repository.
        :type: str
        NrN   )r@   r   rB   rB   rC   r   R  rJ   c                 C   rE   )z³
        Gets the project_name of this Repository.
        Unique project name in a namespace.


        :return: The project_name of this Repository.
        :rtype: str
        ©r.   rG   rB   rB   rC   r   ^  rH   zRepository.project_namec                 C   rI   )z¾
        Sets the project_name of this Repository.
        Unique project name in a namespace.


        :param project_name: The project_name of this Repository.
        :type: str
        NrO   )r@   r   rB   rB   rC   r   j  rJ   c                 C   rE   )z·
        Gets the ssh_url of this Repository.
        SSH URL that you use to git clone, pull and push.


        :return: The ssh_url of this Repository.
        :rtype: str
        ©r/   rG   rB   rB   rC   r   v  rH   zRepository.ssh_urlc                 C   rI   )z½
        Sets the ssh_url of this Repository.
        SSH URL that you use to git clone, pull and push.


        :param ssh_url: The ssh_url of this Repository.
        :type: str
        NrP   )r@   r   rB   rB   rC   r   ‚  rJ   c                 C   rE   )zº
        Gets the http_url of this Repository.
        HTTP URL that you use to git clone, pull and push.


        :return: The http_url of this Repository.
        :rtype: str
        ©r0   rG   rB   rB   rC   r   Ž  rH   zRepository.http_urlc                 C   rI   )zÁ
        Sets the http_url of this Repository.
        HTTP URL that you use to git clone, pull and push.


        :param http_url: The http_url of this Repository.
        :type: str
        NrQ   )r@   r   rB   rB   rC   r   š  rJ   c                 C   rE   )zÑ
        Gets the description of this Repository.
        Details of the repository. Avoid entering confidential information.


        :return: The description of this Repository.
        :rtype: str
        ©r1   rG   rB   rB   rC   r   ¦  rH   zRepository.descriptionc                 C   rI   )zÛ
        Sets the description of this Repository.
        Details of the repository. Avoid entering confidential information.


        :param description: The description of this Repository.
        :type: str
        NrR   )r@   r   rB   rB   rC   r   ²  rJ   c                 C   rE   )z¹
        Gets the default_branch of this Repository.
        The default branch of the repository.


        :return: The default_branch of this Repository.
        :rtype: str
        ©r2   rG   rB   rB   rC   r   ¾  rH   zRepository.default_branchc                 C   rI   )zÆ
        Sets the default_branch of this Repository.
        The default branch of the repository.


        :param default_branch: The default_branch of this Repository.
        :type: str
        NrS   )r@   r   rB   rB   rC   r   Ê  rJ   c                 C   rE   )aþ  
        Gets the repository_type of this Repository.
        Type of repository:
        MIRRORED - Repository created by mirroring an existing repository.
        HOSTED - Repository created and hosted using OCI DevOps code repository.

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


        :return: The repository_type of this Repository.
        :rtype: str
        )r3   rG   rB   rB   rC   r   Ö  ó   zRepository.repository_typec                 C   s    ddg}t ||ƒsd}|| _dS )aS  
        Sets the repository_type of this Repository.
        Type of repository:
        MIRRORED - Repository created by mirroring an existing repository.
        HOSTED - Repository created and hosted using OCI DevOps code repository.


        :param repository_type: The repository_type of this Repository.
        :type: str
        r   r   ÚUNKNOWN_ENUM_VALUEN)r   r3   )r@   r   Úallowed_valuesrB   rB   rC   r   ç  s   

c                 C   rE   )zÃ
        Gets the mirror_repository_config of this Repository.

        :return: The mirror_repository_config of this Repository.
        :rtype: oci.devops.models.MirrorRepositoryConfig
        ©r4   rG   rB   rB   rC   r   ø  s   z#Repository.mirror_repository_configc                 C   rI   )zÚ
        Sets the mirror_repository_config of this Repository.

        :param mirror_repository_config: The mirror_repository_config of this Repository.
        :type: oci.devops.models.MirrorRepositoryConfig
        NrW   )r@   r   rB   rB   rC   r     s   
c                 C   rE   )a  
        Gets the time_created of this Repository.
        The time the repository was created. Format defined by `RFC3339`__.

        __ https://datatracker.ietf.org/doc/html/rfc3339


        :return: The time_created of this Repository.
        :rtype: datetime
        ©r5   rG   rB   rB   rC   r     ó   zRepository.time_createdc                 C   rI   )a  
        Sets the time_created of this Repository.
        The time the repository was created. Format defined by `RFC3339`__.

        __ https://datatracker.ietf.org/doc/html/rfc3339


        :param time_created: The time_created of this Repository.
        :type: datetime
        NrX   )r@   r   rB   rB   rC   r     ó   
c                 C   rE   )a  
        Gets the time_updated of this Repository.
        The time the repository was updated. Format defined by `RFC3339`__.

        __ https://datatracker.ietf.org/doc/html/rfc3339


        :return: The time_updated of this Repository.
        :rtype: datetime
        ©r6   rG   rB   rB   rC   r   (  rY   zRepository.time_updatedc                 C   rI   )a  
        Sets the time_updated of this Repository.
        The time the repository was updated. Format defined by `RFC3339`__.

        __ https://datatracker.ietf.org/doc/html/rfc3339


        :param time_updated: The time_updated of this Repository.
        :type: datetime
        Nr[   )r@   r   rB   rB   rC   r   6  rZ   c                 C   rE   )aŠ  
        Gets the lifecycle_state of this Repository.
        The current state of the repository.

        Allowed values for this property are: "ACTIVE", "CREATING", "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 Repository.
        :rtype: str
        )r7   rG   rB   rB   rC   r   D  s   zRepository.lifecycle_statec                 C   s    g d¢}t ||ƒsd}|| _dS )zÈ
        Sets the lifecycle_state of this Repository.
        The current state of the repository.


        :param lifecycle_state: The lifecycle_state of this Repository.
        :type: str
        )r	   r
   r   r   rU   N)r   r7   )r@   r   rV   rB   rB   rC   r   S  s   


c                 C   rE   )a)  
        Gets the lifecyle_details of this Repository.
        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 lifecyle_details of this Repository.
        :rtype: str
        ©r8   rG   rB   rB   rC   r    b  rH   zRepository.lifecyle_detailsc                 C   rI   )a8  
        Sets the lifecyle_details of this Repository.
        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 lifecyle_details: The lifecyle_details of this Repository.
        :type: str
        Nr\   )r@   r    rB   rB   rC   r    n  rJ   c                 C   rE   )zÄ
        Gets the branch_count of this Repository.
        The count of the branches present in the repository.


        :return: The branch_count of this Repository.
        :rtype: int
        ©r9   rG   rB   rB   rC   r!   z  rH   zRepository.branch_countc                 C   rI   )zÏ
        Sets the branch_count of this Repository.
        The count of the branches present in the repository.


        :param branch_count: The branch_count of this Repository.
        :type: int
        Nr]   )r@   r!   rB   rB   rC   r!   †  rJ   c                 C   rE   )zÃ
        Gets the commit_count of this Repository.
        The count of the commits present in the repository.


        :return: The commit_count of this Repository.
        :rtype: int
        ©r:   rG   rB   rB   rC   r#   ’  rH   zRepository.commit_countc                 C   rI   )zÎ
        Sets the commit_count of this Repository.
        The count of the commits present in the repository.


        :param commit_count: The commit_count of this Repository.
        :type: int
        Nr^   )r@   r#   rB   rB   rC   r#   ž  rJ   c                 C   rE   )z¶
        Gets the size_in_bytes of this Repository.
        The size of the repository in bytes.


        :return: The size_in_bytes of this Repository.
        :rtype: int
        ©r;   rG   rB   rB   rC   r$   ª  rH   zRepository.size_in_bytesc                 C   rI   )zÂ
        Sets the size_in_bytes of this Repository.
        The size of the repository in bytes.


        :param size_in_bytes: The size_in_bytes of this Repository.
        :type: int
        Nr_   )r@   r$   rB   rB   rC   r$   ¶  rJ   c                 C   rE   )a4  
        Gets the trigger_build_events of this Repository.
        Trigger build events supported for this repository:
        PUSH - Build is triggered when a push event occurs.
        COMMIT_UPDATES - Build is triggered when new commits are mirrored into a repository.

        Allowed values for items in this list are: "PUSH", "COMMIT_UPDATES", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The trigger_build_events of this Repository.
        :rtype: list[str]
        ©r<   rG   rB   rB   rC   r%   Â  rT   zRepository.trigger_build_eventsc                    s0   ddg‰ |r‡ fdd„|D ƒ|dd…< || _ dS )a…  
        Sets the trigger_build_events of this Repository.
        Trigger build events supported for this repository:
        PUSH - Build is triggered when a push event occurs.
        COMMIT_UPDATES - Build is triggered when new commits are mirrored into a repository.


        :param trigger_build_events: The trigger_build_events of this Repository.
        :type: list[str]
        r   r   c                    s   g | ]}t |ˆ ƒsd n|‘qS )rU   )r   )Ú.0Úx©rV   rB   rC   Ú
<listcomp>á  s    z3Repository.trigger_build_events.<locals>.<listcomp>Nr`   )r@   r%   rB   rc   rC   r%   Ó  s   
c                 C   rE   )aŸ  
        Gets the freeform_tags of this Repository.
        Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.  See `Resource Tags`__. Example: `{"bar-key": "value"}`

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


        :return: The freeform_tags of this Repository.
        :rtype: dict(str, str)
        ©r=   rG   rB   rB   rC   r&   ä  rY   zRepository.freeform_tagsc                 C   rI   )a«  
        Sets the freeform_tags of this Repository.
        Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.  See `Resource Tags`__. Example: `{"bar-key": "value"}`

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


        :param freeform_tags: The freeform_tags of this Repository.
        :type: dict(str, str)
        Nre   )r@   r&   rB   rB   rC   r&   ò  rZ   c                 C   rE   )a˜  
        Gets the defined_tags of this Repository.
        Defined tags for this resource. Each key is predefined and scoped to a namespace. See `Resource Tags`__. Example: `{"foo-namespace": {"bar-key": "value"}}`

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


        :return: The defined_tags of this Repository.
        :rtype: dict(str, dict(str, object))
        ©r>   rG   rB   rB   rC   r'      rY   zRepository.defined_tagsc                 C   rI   )a£  
        Sets the defined_tags of this Repository.
        Defined tags for this resource. Each key is predefined and scoped to a namespace. See `Resource Tags`__. Example: `{"foo-namespace": {"bar-key": "value"}}`

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


        :param defined_tags: The defined_tags of this Repository.
        :type: dict(str, dict(str, object))
        Nrf   )r@   r'   rB   rB   rC   r'     rZ   c                 C   rE   )a•  
        Gets the system_tags of this Repository.
        Usage of system tag keys. These predefined keys are scoped to namespaces. See `Resource Tags`__. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}`

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


        :return: The system_tags of this Repository.
        :rtype: dict(str, dict(str, object))
        ©r?   rG   rB   rB   rC   r(     rY   zRepository.system_tagsc                 C   rI   )aŸ  
        Sets the system_tags of this Repository.
        Usage of system tag keys. These predefined keys are scoped to namespaces. See `Resource Tags`__. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}`

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


        :param system_tags: The system_tags of this Repository.
        :type: dict(str, dict(str, object))
        Nrg   )r@   r(   rB   rB   rC   r(   *  rZ   c                 C   s   t | ƒS ©N)r   rG   rB   rB   rC   Ú__repr__8  s   zRepository.__repr__c                 C   s   |d u rdS | j |j kS )NF)Ú__dict__©r@   ÚotherrB   rB   rC   Ú__eq__;  s   zRepository.__eq__c                 C   s
   | |k S rh   rB   rk   rB   rB   rC   Ú__ne__A  s   
zRepository.__ne__N))Ú__name__Ú
__module__Ú__qualname__Ú__doc__ZREPOSITORY_TYPE_MIRROREDZREPOSITORY_TYPE_HOSTEDZLIFECYCLE_STATE_ACTIVEZLIFECYCLE_STATE_CREATINGZLIFECYCLE_STATE_DELETEDZLIFECYCLE_STATE_DELETINGZTRIGGER_BUILD_EVENTS_PUSHZ#TRIGGER_BUILD_EVENTS_COMMIT_UPDATESrD   Úpropertyr   Úsetterr   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r#   r$   r%   r&   r'   r(   ri   rm   rn   rB   rB   rB   rC   r      sÖ     5






















	
	





















r   N)Zoci.utilr   r   r   Zoci.decoratorsr   Úobjectr   rB   rB   rB   rC   Ú<module>   s   