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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 )BackupPolicyz.
    The Backup policy for the DB System.
    c                 K   sP   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 BackupPolicy object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param is_enabled:
            The value to assign to the is_enabled property of this BackupPolicy.
        :type is_enabled: bool

        :param window_start_time:
            The value to assign to the window_start_time property of this BackupPolicy.
        :type window_start_time: str

        :param retention_in_days:
            The value to assign to the retention_in_days property of this BackupPolicy.
        :type retention_in_days: int

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

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

        :param pitr_policy:
            The value to assign to the pitr_policy property of this BackupPolicy.
        :type pitr_policy: oci.mysql.models.PitrPolicy

        boolstrintzdict(str, str)zdict(str, dict(str, object))Z
PitrPolicy)
is_enabledwindow_start_timeretention_in_daysfreeform_tagsdefined_tagspitr_policyZ	isEnabledZwindowStartTimeZretentionInDaysZfreeformTagsZdefinedTagsZ
pitrPolicyN)Zswagger_typesZattribute_map_is_enabled_window_start_time_retention_in_days_freeform_tags_defined_tags_pitr_policy)selfkwargs r   Busr/lib/python3.10/site-packages/oci/mysql/models/backup_policy.py__init__   s(   
	
zBackupPolicy.__init__c                 C      | j S )z
        **[Required]** Gets the is_enabled of this BackupPolicy.
        If automated backups are enabled or disabled.


        :return: The is_enabled of this BackupPolicy.
        :rtype: bool
        r   r   r   r   r   r
   I      
zBackupPolicy.is_enabledc                 C   
   || _ dS )z
        Sets the is_enabled of this BackupPolicy.
        If automated backups are enabled or disabled.


        :param is_enabled: The is_enabled of this BackupPolicy.
        :type: bool
        Nr   )r   r
   r   r   r   r
   U      

c                 C   r   )a/  
        **[Required]** Gets the window_start_time of this BackupPolicy.
        The start of a 30-minute window of time in which daily, automated backups occur.

        This should be in the format of the "Time" portion of an RFC3339-formatted timestamp. Any second or sub-second time data will be truncated to zero.

        At some point in the window, the system may incur a brief service disruption as the backup is performed.

        If not defined, a window is selected from the following Region-based time-spans:
        - eu-frankfurt-1: 20:00 - 04:00 UTC
        - us-ashburn-1: 03:00 - 11:00 UTC
        - uk-london-1: 06:00 - 14:00 UTC
        - ap-tokyo-1: 13:00 - 21:00
        - us-phoenix-1: 06:00 - 14:00


        :return: The window_start_time of this BackupPolicy.
        :rtype: str
        r   r   r   r   r   r   a   s   zBackupPolicy.window_start_timec                 C   r   )a0  
        Sets the window_start_time of this BackupPolicy.
        The start of a 30-minute window of time in which daily, automated backups occur.

        This should be in the format of the "Time" portion of an RFC3339-formatted timestamp. Any second or sub-second time data will be truncated to zero.

        At some point in the window, the system may incur a brief service disruption as the backup is performed.

        If not defined, a window is selected from the following Region-based time-spans:
        - eu-frankfurt-1: 20:00 - 04:00 UTC
        - us-ashburn-1: 03:00 - 11:00 UTC
        - uk-london-1: 06:00 - 14:00 UTC
        - ap-tokyo-1: 13:00 - 21:00
        - us-phoenix-1: 06:00 - 14:00


        :param window_start_time: The window_start_time of this BackupPolicy.
        :type: str
        Nr!   )r   r   r   r   r   r   x   s   
c                 C   r   )z
        **[Required]** Gets the retention_in_days of this BackupPolicy.
        The number of days automated backups are retained.


        :return: The retention_in_days of this BackupPolicy.
        :rtype: int
        r   r   r   r   r   r      r   zBackupPolicy.retention_in_daysc                 C   r   )z
        Sets the retention_in_days of this BackupPolicy.
        The number of days automated backups are retained.


        :param retention_in_days: The retention_in_days of this BackupPolicy.
        :type: int
        Nr"   )r   r   r   r   r   r      r    c                 C   r   )a  
        Gets the freeform_tags of this BackupPolicy.
        Simple key-value pair applied without any predefined name, type or scope. Exists for cross-compatibility only.

        Tags defined here will be copied verbatim as tags on the Backup resource created by this BackupPolicy.

        Example: `{"bar-key": "value"}`


        :return: The freeform_tags of this BackupPolicy.
        :rtype: dict(str, str)
        r   r   r   r   r   r         zBackupPolicy.freeform_tagsc                 C   r   )a  
        Sets the freeform_tags of this BackupPolicy.
        Simple key-value pair applied without any predefined name, type or scope. Exists for cross-compatibility only.

        Tags defined here will be copied verbatim as tags on the Backup resource created by this BackupPolicy.

        Example: `{"bar-key": "value"}`


        :param freeform_tags: The freeform_tags of this BackupPolicy.
        :type: dict(str, str)
        Nr#   )r   r   r   r   r   r         
c                 C   r   )a  
        Gets the defined_tags of this BackupPolicy.
        Usage of predefined tag keys. These predefined keys are scoped to namespaces.

        Tags defined here will be copied verbatim as tags on the Backup resource created by this BackupPolicy.

        Example: `{"foo-namespace": {"bar-key": "value"}}`


        :return: The defined_tags of this BackupPolicy.
        :rtype: dict(str, dict(str, object))
        r   r   r   r   r   r      r$   zBackupPolicy.defined_tagsc                 C   r   )a  
        Sets the defined_tags of this BackupPolicy.
        Usage of predefined tag keys. These predefined keys are scoped to namespaces.

        Tags defined here will be copied verbatim as tags on the Backup resource created by this BackupPolicy.

        Example: `{"foo-namespace": {"bar-key": "value"}}`


        :param defined_tags: The defined_tags of this BackupPolicy.
        :type: dict(str, dict(str, object))
        Nr&   )r   r   r   r   r   r      r%   c                 C   r   )z
        Gets the pitr_policy of this BackupPolicy.

        :return: The pitr_policy of this BackupPolicy.
        :rtype: oci.mysql.models.PitrPolicy
        r   r   r   r   r   r      s   zBackupPolicy.pitr_policyc                 C   r   )z
        Sets the pitr_policy of this BackupPolicy.

        :param pitr_policy: The pitr_policy of this BackupPolicy.
        :type: oci.mysql.models.PitrPolicy
        Nr'   )r   r   r   r   r   r      s   
c                 C   s   t | S N)r   r   r   r   r   __repr__   s   zBackupPolicy.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r   otherr   r   r   __eq__   s   zBackupPolicy.__eq__c                 C   s
   | |k S r(   r   r+   r   r   r   __ne__  s   
zBackupPolicy.__ne__N)__name__
__module____qualname____doc__r   propertyr
   setterr   r   r   r   r   r)   r-   r.   r   r   r   r   r      s<    7










	
	r   N)Zoci.utilr   r   r   Zoci.decoratorsr   objectr   r   r   r   r   <module>   s   