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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/d0 Zejd1d0 Zed2d3 Zejd4d3 Zed5d6 Zejd7d6 Zed8d9 Zejd:d9 Zd;d< Z d=d> Z!d?d@ Z"dAS )BOneoffPatchzo
    One-off patches are created by specifying a database version, releaseUpdate and one-off patch number.
    CREATING	AVAILABLEUPDATINGINACTIVEFAILEDEXPIREDDELETINGDELETEDTERMINATING
TERMINATEDc                 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| _d| _	d| _
d| _d| _d| _d| _d| _d| _dS )a
  
        Initializes a new OneoffPatch 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 OneoffPatch.
        :type id: str

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

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

        :param db_version:
            The value to assign to the db_version property of this OneoffPatch.
        :type db_version: str

        :param release_update:
            The value to assign to the release_update property of this OneoffPatch.
        :type release_update: str

        :param one_off_patches:
            The value to assign to the one_off_patches property of this OneoffPatch.
        :type one_off_patches: list[str]

        :param size_in_kbs:
            The value to assign to the size_in_kbs property of this OneoffPatch.
        :type size_in_kbs: float

        :param lifecycle_state:
            The value to assign to the lifecycle_state property of this OneoffPatch.
            Allowed values for this property are: "CREATING", "AVAILABLE", "UPDATING", "INACTIVE", "FAILED", "EXPIRED", "DELETING", "DELETED", "TERMINATING", "TERMINATED", '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 OneoffPatch.
        :type lifecycle_details: str

        :param sha256_sum:
            The value to assign to the sha256_sum property of this OneoffPatch.
        :type sha256_sum: str

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

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

        :param time_of_expiration:
            The value to assign to the time_of_expiration property of this OneoffPatch.
        :type time_of_expiration: datetime

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

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

        strz	list[str]floatdatetimezdict(str, str)zdict(str, dict(str, object)))idcompartment_iddisplay_name
db_versionrelease_updateone_off_patchessize_in_kbslifecycle_statelifecycle_details
sha256_sumtime_updatedtime_createdtime_of_expirationfreeform_tagsdefined_tagsr   ZcompartmentIdZdisplayNameZ	dbVersionZreleaseUpdateZoneOffPatchesZ	sizeInKBsZlifecycleStateZlifecycleDetailsZ	sha256SumZtimeUpdatedZtimeCreatedZtimeOfExpirationZfreeformTagsZdefinedTagsN)Zswagger_typesZattribute_map_id_compartment_id_display_name_db_version_release_update_one_off_patches_size_in_kbs_lifecycle_state_lifecycle_details_sha256_sum_time_updated_time_created_time_of_expiration_freeform_tags_defined_tags)selfkwargs r4   Dusr/lib/python3.10/site-packages/oci/database/models/oneoff_patch.py__init__:   s^   E
zOneoffPatch.__init__c                 C      | j S )a  
        **[Required]** Gets the id of this OneoffPatch.
        The `OCID`__ of the one-off patch.

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


        :return: The id of this OneoffPatch.
        :rtype: str
        r#   r2   r4   r4   r5   r         zOneoffPatch.idc                 C   
   || _ dS )z
        Sets the id of this OneoffPatch.
        The `OCID`__ of the one-off patch.

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


        :param id: The id of this OneoffPatch.
        :type: str
        Nr8   )r2   r   r4   r4   r5   r         
c                 C   r7   )a  
        **[Required]** Gets the compartment_id of this OneoffPatch.
        The `OCID`__ of the compartment.

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


        :return: The compartment_id of this OneoffPatch.
        :rtype: str
        r$   r9   r4   r4   r5   r      r:   zOneoffPatch.compartment_idc                 C   r;   )a  
        Sets the compartment_id of this OneoffPatch.
        The `OCID`__ of the compartment.

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


        :param compartment_id: The compartment_id of this OneoffPatch.
        :type: str
        Nr=   )r2   r   r4   r4   r5   r      r<   c                 C   r7   )z
        **[Required]** Gets the display_name of this OneoffPatch.
        One-off patch name.


        :return: The display_name of this OneoffPatch.
        :rtype: str
        r%   r9   r4   r4   r5   r         
zOneoffPatch.display_namec                 C   r;   )z
        Sets the display_name of this OneoffPatch.
        One-off patch name.


        :param display_name: The display_name of this OneoffPatch.
        :type: str
        Nr>   )r2   r   r4   r4   r5   r         

c                 C   r7   )am  
        **[Required]** Gets the db_version of this OneoffPatch.
        A valid Oracle Database version. For a list of supported versions, use the ListDbVersions operation.

        This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, openMode, permissionLevel, dbWorkload, privateEndpointLabel, nsgIds, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier.


        :return: The db_version of this OneoffPatch.
        :rtype: str
        r&   r9   r4   r4   r5   r     r:   zOneoffPatch.db_versionc                 C   r;   )ag  
        Sets the db_version of this OneoffPatch.
        A valid Oracle Database version. For a list of supported versions, use the ListDbVersions operation.

        This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, openMode, permissionLevel, dbWorkload, privateEndpointLabel, nsgIds, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier.


        :param db_version: The db_version of this OneoffPatch.
        :type: str
        NrA   )r2   r   r4   r4   r5   r     r<   c                 C   r7   )a  
        **[Required]** Gets the release_update of this OneoffPatch.
        The PSU or PBP or Release Updates. To get a list of supported versions, use the :func:`list_db_versions` operation.


        :return: The release_update of this OneoffPatch.
        :rtype: str
        r'   r9   r4   r4   r5   r     r?   zOneoffPatch.release_updatec                 C   r;   )a  
        Sets the release_update of this OneoffPatch.
        The PSU or PBP or Release Updates. To get a list of supported versions, use the :func:`list_db_versions` operation.


        :param release_update: The release_update of this OneoffPatch.
        :type: str
        NrB   )r2   r   r4   r4   r5   r   *  r@   c                 C   r7   )z
        Gets the one_off_patches of this OneoffPatch.
        List of one-off patches for Database Homes.


        :return: The one_off_patches of this OneoffPatch.
        :rtype: list[str]
        r(   r9   r4   r4   r5   r   6  r?   zOneoffPatch.one_off_patchesc                 C   r;   )z
        Sets the one_off_patches of this OneoffPatch.
        List of one-off patches for Database Homes.


        :param one_off_patches: The one_off_patches of this OneoffPatch.
        :type: list[str]
        NrC   )r2   r   r4   r4   r5   r   B  r@   c                 C   r7   )z
        Gets the size_in_kbs of this OneoffPatch.
        The size of one-off patch in kilobytes.


        :return: The size_in_kbs of this OneoffPatch.
        :rtype: float
        r)   r9   r4   r4   r5   r   N  r?   zOneoffPatch.size_in_kbsc                 C   r;   )z
        Sets the size_in_kbs of this OneoffPatch.
        The size of one-off patch in kilobytes.


        :param size_in_kbs: The size_in_kbs of this OneoffPatch.
        :type: float
        NrD   )r2   r   r4   r4   r5   r   Z  r@   c                 C   r7   )a  
        **[Required]** Gets the lifecycle_state of this OneoffPatch.
        The current state of the one-off patch.

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


        :return: The lifecycle_state of this OneoffPatch.
        :rtype: str
        )r*   r9   r4   r4   r5   r   f     zOneoffPatch.lifecycle_statec                 C   s    g d}t ||sd}|| _dS )z
        Sets the lifecycle_state of this OneoffPatch.
        The current state of the one-off patch.


        :param lifecycle_state: The lifecycle_state of this OneoffPatch.
        :type: str
        )
r   r   r	   r
   r   r   r   r   r   r   ZUNKNOWN_ENUM_VALUEN)r   r*   )r2   r   Zallowed_valuesr4   r4   r5   r   u  s   


c                 C   r7   )z
        Gets the lifecycle_details of this OneoffPatch.
        Detailed message for the lifecycle state.


        :return: The lifecycle_details of this OneoffPatch.
        :rtype: str
        r+   r9   r4   r4   r5   r     r?   zOneoffPatch.lifecycle_detailsc                 C   r;   )z
        Sets the lifecycle_details of this OneoffPatch.
        Detailed message for the lifecycle state.


        :param lifecycle_details: The lifecycle_details of this OneoffPatch.
        :type: str
        NrF   )r2   r   r4   r4   r5   r     r@   c                 C   r7   )z
        Gets the sha256_sum of this OneoffPatch.
        SHA-256 checksum of the one-off patch.


        :return: The sha256_sum of this OneoffPatch.
        :rtype: str
        r,   r9   r4   r4   r5   r     r?   zOneoffPatch.sha256_sumc                 C   r;   )z
        Sets the sha256_sum of this OneoffPatch.
        SHA-256 checksum of the one-off patch.


        :param sha256_sum: The sha256_sum of this OneoffPatch.
        :type: str
        NrG   )r2   r   r4   r4   r5   r     r@   c                 C   r7   )z
        Gets the time_updated of this OneoffPatch.
        The date and time one-off patch was updated.


        :return: The time_updated of this OneoffPatch.
        :rtype: datetime
        r-   r9   r4   r4   r5   r     r?   zOneoffPatch.time_updatedc                 C   r;   )z
        Sets the time_updated of this OneoffPatch.
        The date and time one-off patch was updated.


        :param time_updated: The time_updated of this OneoffPatch.
        :type: datetime
        NrH   )r2   r   r4   r4   r5   r     r@   c                 C   r7   )z
        **[Required]** Gets the time_created of this OneoffPatch.
        The date and time one-off patch was created.


        :return: The time_created of this OneoffPatch.
        :rtype: datetime
        r.   r9   r4   r4   r5   r     r?   zOneoffPatch.time_createdc                 C   r;   )z
        Sets the time_created of this OneoffPatch.
        The date and time one-off patch was created.


        :param time_created: The time_created of this OneoffPatch.
        :type: datetime
        NrI   )r2   r   r4   r4   r5   r     r@   c                 C   r7   )z
        Gets the time_of_expiration of this OneoffPatch.
        The date and time until which the one-off patch will be available for download.


        :return: The time_of_expiration of this OneoffPatch.
        :rtype: datetime
        r/   r9   r4   r4   r5   r      r?   zOneoffPatch.time_of_expirationc                 C   r;   )a  
        Sets the time_of_expiration of this OneoffPatch.
        The date and time until which the one-off patch will be available for download.


        :param time_of_expiration: The time_of_expiration of this OneoffPatch.
        :type: datetime
        NrJ   )r2   r    r4   r4   r5   r      r@   c                 C   r7   )a  
        Gets the freeform_tags of this OneoffPatch.
        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/Content/General/Concepts/resourcetags.htm


        :return: The freeform_tags of this OneoffPatch.
        :rtype: dict(str, str)
        r0   r9   r4   r4   r5   r!     s   zOneoffPatch.freeform_tagsc                 C   r;   )a  
        Sets the freeform_tags of this OneoffPatch.
        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/Content/General/Concepts/resourcetags.htm


        :param freeform_tags: The freeform_tags of this OneoffPatch.
        :type: dict(str, str)
        NrK   )r2   r!   r4   r4   r5   r!     s   
c                 C   r7   )a  
        Gets the defined_tags of this OneoffPatch.
        Defined tags for this resource. Each key is predefined and scoped to a namespace.
        For more information, see `Resource Tags`__.

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


        :return: The defined_tags of this OneoffPatch.
        :rtype: dict(str, dict(str, object))
        r1   r9   r4   r4   r5   r"     rE   zOneoffPatch.defined_tagsc                 C   r;   )a  
        Sets the defined_tags of this OneoffPatch.
        Defined tags for this resource. Each key is predefined and scoped to a namespace.
        For more information, see `Resource Tags`__.

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


        :param defined_tags: The defined_tags of this OneoffPatch.
        :type: dict(str, dict(str, object))
        NrL   )r2   r"   r4   r4   r5   r"   -  s   
c                 C   s   t | S N)r   r9   r4   r4   r5   __repr__<  s   zOneoffPatch.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r2   otherr4   r4   r5   __eq__?  s   zOneoffPatch.__eq__c                 C   s
   | |k S rM   r4   rP   r4   r4   r5   __ne__E  s   
zOneoffPatch.__ne__N)#__name__
__module____qualname____doc__ZLIFECYCLE_STATE_CREATINGZLIFECYCLE_STATE_AVAILABLEZLIFECYCLE_STATE_UPDATINGZLIFECYCLE_STATE_INACTIVEZLIFECYCLE_STATE_FAILEDZLIFECYCLE_STATE_EXPIREDZLIFECYCLE_STATE_DELETINGZLIFECYCLE_STATE_DELETEDZLIFECYCLE_STATE_TERMINATINGZLIFECYCLE_STATE_TERMINATEDr6   propertyr   setterr   r   r   r   r   r   r   r   r   r   r   r    r!   r"   rN   rR   rS   r4   r4   r4   r5   r      s    x





























r   N)Zoci.utilr   r   r   Zoci.decoratorsr   objectr   r4   r4   r4   r5   <module>   s   