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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d$d%„ Zd&d'„ Zd(d)„ Zd*S )+ÚSecretBundlezŠ
    The contents of the secret, properties of the secret (and secret version), and user-provided contextual metadata for the secret.
    ÚCURRENTÚPENDINGÚLATESTÚPREVIOUSÚ
DEPRECATEDc              
   K   sn   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 SecretBundle object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param secret_id:
            The value to assign to the secret_id property of this SecretBundle.
        :type secret_id: str

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

        :param version_number:
            The value to assign to the version_number property of this SecretBundle.
        :type version_number: int

        :param version_name:
            The value to assign to the version_name property of this SecretBundle.
        :type version_name: str

        :param secret_bundle_content:
            The value to assign to the secret_bundle_content property of this SecretBundle.
        :type secret_bundle_content: oci.secrets.models.SecretBundleContentDetails

        :param time_of_deletion:
            The value to assign to the time_of_deletion property of this SecretBundle.
        :type time_of_deletion: datetime

        :param time_of_expiry:
            The value to assign to the time_of_expiry property of this SecretBundle.
        :type time_of_expiry: datetime

        :param stages:
            The value to assign to the stages property of this SecretBundle.
            Allowed values for items in this list are: "CURRENT", "PENDING", "LATEST", "PREVIOUS", "DEPRECATED", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type stages: list[str]

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

        ÚstrÚdatetimeÚintZSecretBundleContentDetailsz	list[str]zdict(str, object))	Ú	secret_idÚtime_createdÚversion_numberÚversion_nameÚsecret_bundle_contentÚtime_of_deletionÚtime_of_expiryÚstagesÚmetadataZsecretIdZtimeCreatedZversionNumberZversionNameZsecretBundleContentZtimeOfDeletionZtimeOfExpiryr   r   N)Zswagger_typesZattribute_mapÚ
_secret_idÚ_time_createdÚ_version_numberÚ_version_nameÚ_secret_bundle_contentÚ_time_of_deletionÚ_time_of_expiryÚ_stagesÚ	_metadata)ÚselfÚkwargs© r#   úDusr/lib/python3.10/site-packages/oci/secrets/models/secret_bundle.pyÚ__init__&   s:   -÷÷
zSecretBundle.__init__c                 C   ó   | j S )z´
        **[Required]** Gets the secret_id of this SecretBundle.
        The OCID of the secret.


        :return: The secret_id of this SecretBundle.
        :rtype: str
        ©r   ©r!   r#   r#   r$   r   t   ó   
zSecretBundle.secret_idc                 C   ó
   || _ dS )z­
        Sets the secret_id of this SecretBundle.
        The OCID of the secret.


        :param secret_id: The secret_id of this SecretBundle.
        :type: str
        Nr'   )r!   r   r#   r#   r$   r   €   ó   

c                 C   r&   )zÅ
        Gets the time_created of this SecretBundle.
        The time when the secret bundle was created.


        :return: The time_created of this SecretBundle.
        :rtype: datetime
        ©r   r(   r#   r#   r$   r   Œ   r)   zSecretBundle.time_createdc                 C   r*   )zÐ
        Sets the time_created of this SecretBundle.
        The time when the secret bundle was created.


        :param time_created: The time_created of this SecretBundle.
        :type: datetime
        Nr,   )r!   r   r#   r#   r$   r   ˜   r+   c                 C   r&   )zÈ
        **[Required]** Gets the version_number of this SecretBundle.
        The version number of the secret.


        :return: The version_number of this SecretBundle.
        :rtype: int
        ©r   r(   r#   r#   r$   r   ¤   r)   zSecretBundle.version_numberc                 C   r*   )zÆ
        Sets the version_number of this SecretBundle.
        The version number of the secret.


        :param version_number: The version_number of this SecretBundle.
        :type: int
        Nr-   )r!   r   r#   r#   r$   r   °   r+   c                 C   r&   )zû
        Gets the version_name of this SecretBundle.
        The name of the secret version. Labels are unique across the different versions of a particular secret.


        :return: The version_name of this SecretBundle.
        :rtype: str
        ©r   r(   r#   r#   r$   r   ¼   r)   zSecretBundle.version_namec                 C   r*   )a  
        Sets the version_name of this SecretBundle.
        The name of the secret version. Labels are unique across the different versions of a particular secret.


        :param version_name: The version_name of this SecretBundle.
        :type: str
        Nr.   )r!   r   r#   r#   r$   r   È   r+   c                 C   r&   )zÆ
        Gets the secret_bundle_content of this SecretBundle.

        :return: The secret_bundle_content of this SecretBundle.
        :rtype: oci.secrets.models.SecretBundleContentDetails
        ©r   r(   r#   r#   r$   r   Ô   s   z"SecretBundle.secret_bundle_contentc                 C   r*   )zÚ
        Sets the secret_bundle_content of this SecretBundle.

        :param secret_bundle_content: The secret_bundle_content of this SecretBundle.
        :type: oci.secrets.models.SecretBundleContentDetails
        Nr/   )r!   r   r#   r#   r$   r   Þ   s   
c                 C   r&   )ak  
        Gets the time_of_deletion of this SecretBundle.
        An optional property indicating when to delete the secret version, expressed in `RFC 3339`__ timestamp format.
        Example: `2019-04-03T21:10:29.600Z`

        __ https://tools.ietf.org/html/rfc3339


        :return: The time_of_deletion of this SecretBundle.
        :rtype: datetime
        ©r   r(   r#   r#   r$   r   è   ó   zSecretBundle.time_of_deletionc                 C   r*   )az  
        Sets the time_of_deletion of this SecretBundle.
        An optional property indicating when to delete the secret version, expressed in `RFC 3339`__ timestamp format.
        Example: `2019-04-03T21:10:29.600Z`

        __ https://tools.ietf.org/html/rfc3339


        :param time_of_deletion: The time_of_deletion of this SecretBundle.
        :type: datetime
        Nr0   )r!   r   r#   r#   r$   r   ÷   ó   
c                 C   r&   )ai  
        Gets the time_of_expiry of this SecretBundle.
        An optional property indicating when the secret version will expire, expressed in `RFC 3339`__ timestamp format.
        Example: `2019-04-03T21:10:29.600Z`

        __ https://tools.ietf.org/html/rfc3339


        :return: The time_of_expiry of this SecretBundle.
        :rtype: datetime
        ©r   r(   r#   r#   r$   r     r1   zSecretBundle.time_of_expiryc                 C   r*   )av  
        Sets the time_of_expiry of this SecretBundle.
        An optional property indicating when the secret version will expire, expressed in `RFC 3339`__ timestamp format.
        Example: `2019-04-03T21:10:29.600Z`

        __ https://tools.ietf.org/html/rfc3339


        :param time_of_expiry: The time_of_expiry of this SecretBundle.
        :type: datetime
        Nr3   )r!   r   r#   r#   r$   r     r2   c                 C   r&   )aª  
        Gets the stages of this SecretBundle.
        A list of possible rotation states for the secret version.

        Allowed values for items in this list are: "CURRENT", "PENDING", "LATEST", "PREVIOUS", "DEPRECATED", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The stages of this SecretBundle.
        :rtype: list[str]
        ©r   r(   r#   r#   r$   r   $  r1   zSecretBundle.stagesc                    s0   g d¢‰ |r‡ fdd„|D ƒ|dd…< || _ dS )zÍ
        Sets the stages of this SecretBundle.
        A list of possible rotation states for the secret version.


        :param stages: The stages of this SecretBundle.
        :type: list[str]
        )r   r   r	   r
   r   c                    s   g | ]}t |ˆ ƒsd n|‘qS )ZUNKNOWN_ENUM_VALUE)r   )Ú.0Úx©Zallowed_valuesr#   r$   Ú
<listcomp>?  s    z'SecretBundle.stages.<locals>.<listcomp>Nr4   )r!   r   r#   r7   r$   r   3  s   

c                 C   r&   )zÏ
        Gets the metadata of this SecretBundle.
        Customer-provided contextual metadata for the secret.


        :return: The metadata of this SecretBundle.
        :rtype: dict(str, object)
        ©r    r(   r#   r#   r$   r   B  r)   zSecretBundle.metadatac                 C   r*   )zÖ
        Sets the metadata of this SecretBundle.
        Customer-provided contextual metadata for the secret.


        :param metadata: The metadata of this SecretBundle.
        :type: dict(str, object)
        Nr9   )r!   r   r#   r#   r$   r   N  r+   c                 C   s   t | ƒS ©N)r   r(   r#   r#   r$   Ú__repr__Z  s   zSecretBundle.__repr__c                 C   s   |d u rdS | j |j kS )NF)Ú__dict__©r!   Úotherr#   r#   r$   Ú__eq__]  s   zSecretBundle.__eq__c                 C   s
   | |k S r:   r#   r=   r#   r#   r$   Ú__ne__c  s   
zSecretBundle.__ne__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ZSTAGES_CURRENTZSTAGES_PENDINGZSTAGES_LATESTZSTAGES_PREVIOUSZSTAGES_DEPRECATEDr%   Úpropertyr   Úsetterr   r   r   r   r   r   r   r   r;   r?   r@   r#   r#   r#   r$   r      s^    N








	
	







r   N)Zoci.utilr   r   r   Zoci.decoratorsr   Úobjectr   r#   r#   r#   r$   Ú<module>   s   