o
    ɶdy)                     @   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edd Zejdd Zdd Zdd Zdd ZdS ) MetricszX
    Backup performance and storage utilization metrics for the protected database.
    c                 K   sZ   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 Metrics object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param backup_space_used_in_gbs:
            The value to assign to the backup_space_used_in_gbs property of this Metrics.
        :type backup_space_used_in_gbs: float

        :param backup_space_estimate_in_gbs:
            The value to assign to the backup_space_estimate_in_gbs property of this Metrics.
        :type backup_space_estimate_in_gbs: float

        :param unprotected_window_in_seconds:
            The value to assign to the unprotected_window_in_seconds property of this Metrics.
        :type unprotected_window_in_seconds: float

        :param db_size_in_gbs:
            The value to assign to the db_size_in_gbs property of this Metrics.
        :type db_size_in_gbs: float

        :param is_redo_logs_enabled:
            The value to assign to the is_redo_logs_enabled property of this Metrics.
        :type is_redo_logs_enabled: bool

        :param retention_period_in_days:
            The value to assign to the retention_period_in_days property of this Metrics.
        :type retention_period_in_days: float

        :param current_retention_period_in_seconds:
            The value to assign to the current_retention_period_in_seconds property of this Metrics.
        :type current_retention_period_in_seconds: float

        floatbool)backup_space_used_in_gbsbackup_space_estimate_in_gbsunprotected_window_in_secondsdb_size_in_gbsis_redo_logs_enabledretention_period_in_days#current_retention_period_in_secondsZbackupSpaceUsedInGBsZbackupSpaceEstimateInGBsZunprotectedWindowInSecondsZdbSizeInGBsZisRedoLogsEnabledZretentionPeriodInDaysZcurrentRetentionPeriodInSecondsN)	Zswagger_typesZattribute_map_backup_space_used_in_gbs_backup_space_estimate_in_gbs_unprotected_window_in_seconds_db_size_in_gbs_is_redo_logs_enabled_retention_period_in_days$_current_retention_period_in_seconds)selfkwargs r   ?usr/lib/python3.10/site-packages/oci/recovery/models/metrics.py__init__   s.   #

zMetrics.__init__c                 C      | j S )a  
        Gets the backup_space_used_in_gbs of this Metrics.
        Backup storage space, in gigabytes, utilized by the protected database. Oracle charges for the total storage used.


        :return: The backup_space_used_in_gbs of this Metrics.
        :rtype: float
        r   r   r   r   r   r	   P      
z Metrics.backup_space_used_in_gbsc                 C   
   || _ dS )a-  
        Sets the backup_space_used_in_gbs of this Metrics.
        Backup storage space, in gigabytes, utilized by the protected database. Oracle charges for the total storage used.


        :param backup_space_used_in_gbs: The backup_space_used_in_gbs of this Metrics.
        :type: float
        Nr   )r   r	   r   r   r   r	   \      

c                 C   r   )aE  
        Gets the backup_space_estimate_in_gbs of this Metrics.
        The estimated backup storage space, in gigabytes, required to meet the recovery window goal, including foot print and backups for the protected database.


        :return: The backup_space_estimate_in_gbs of this Metrics.
        :rtype: float
        r   r   r   r   r   r
   h   r   z$Metrics.backup_space_estimate_in_gbsc                 C   r    )a`  
        Sets the backup_space_estimate_in_gbs of this Metrics.
        The estimated backup storage space, in gigabytes, required to meet the recovery window goal, including foot print and backups for the protected database.


        :param backup_space_estimate_in_gbs: The backup_space_estimate_in_gbs of this Metrics.
        :type: float
        Nr"   )r   r
   r   r   r   r
   t   r!   c                 C   r   )a  
        Gets the unprotected_window_in_seconds of this Metrics.
        This is the time window when there is data loss exposure. The point after which recovery is impossible unless additional redo is available.
        This is the time we received the last backup or last redo-log shipped.


        :return: The unprotected_window_in_seconds of this Metrics.
        :rtype: float
        r   r   r   r   r   r         z%Metrics.unprotected_window_in_secondsc                 C   r    )a  
        Sets the unprotected_window_in_seconds of this Metrics.
        This is the time window when there is data loss exposure. The point after which recovery is impossible unless additional redo is available.
        This is the time we received the last backup or last redo-log shipped.


        :param unprotected_window_in_seconds: The unprotected_window_in_seconds of this Metrics.
        :type: float
        Nr#   )r   r   r   r   r   r         
c                 C   r   )aB  
        Gets the db_size_in_gbs of this Metrics.
        The estimated space, in gigabytes, consumed by the protected database. The database size is based on the size of the data files in the catalog, and does not include archive logs.


        :return: The db_size_in_gbs of this Metrics.
        :rtype: float
        r   r   r   r   r   r      r   zMetrics.db_size_in_gbsc                 C   r    )aO  
        Sets the db_size_in_gbs of this Metrics.
        The estimated space, in gigabytes, consumed by the protected database. The database size is based on the size of the data files in the catalog, and does not include archive logs.


        :param db_size_in_gbs: The db_size_in_gbs of this Metrics.
        :type: float
        Nr&   )r   r   r   r   r   r      r!   c                 C   r   )a  
        Gets the is_redo_logs_enabled of this Metrics.
        The value TRUE indicates that the protected database is configured to use Real-time data protection, and redo-data is sent from the protected database to Recovery Service.
        Real-time data protection substantially reduces the window of potential data loss that exists between successive archived redo log backups.


        :return: The is_redo_logs_enabled of this Metrics.
        :rtype: bool
        r   r   r   r   r   r      r$   zMetrics.is_redo_logs_enabledc                 C   r    )a  
        Sets the is_redo_logs_enabled of this Metrics.
        The value TRUE indicates that the protected database is configured to use Real-time data protection, and redo-data is sent from the protected database to Recovery Service.
        Real-time data protection substantially reduces the window of potential data loss that exists between successive archived redo log backups.


        :param is_redo_logs_enabled: The is_redo_logs_enabled of this Metrics.
        :type: bool
        Nr'   )r   r   r   r   r   r      r%   c                 C   r   )z
        Gets the retention_period_in_days of this Metrics.
        The maximum number of days to retain backups for a protected database.


        :return: The retention_period_in_days of this Metrics.
        :rtype: float
        r   r   r   r   r   r      r   z Metrics.retention_period_in_daysc                 C   r    )a  
        Sets the retention_period_in_days of this Metrics.
        The maximum number of days to retain backups for a protected database.


        :param retention_period_in_days: The retention_period_in_days of this Metrics.
        :type: float
        Nr(   )r   r   r   r   r   r      r!   c                 C   r   )z
        Gets the current_retention_period_in_seconds of this Metrics.
        Number of seconds backups are currently retained for this database.


        :return: The current_retention_period_in_seconds of this Metrics.
        :rtype: float
        r   r   r   r   r   r      r   z+Metrics.current_retention_period_in_secondsc                 C   r    )a  
        Sets the current_retention_period_in_seconds of this Metrics.
        Number of seconds backups are currently retained for this database.


        :param current_retention_period_in_seconds: The current_retention_period_in_seconds of this Metrics.
        :type: float
        Nr)   )r   r   r   r   r   r      r!   c                 C   s   t | S N)r   r   r   r   r   __repr__   s   zMetrics.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r   otherr   r   r   __eq__   s   zMetrics.__eq__c                 C   s
   | |k S r*   r   r-   r   r   r   __ne__  s   
zMetrics.__ne__N)__name__
__module____qualname____doc__r   propertyr	   setterr
   r   r   r   r   r   r+   r/   r0   r   r   r   r   r      sD    >













r   N)Zoci.utilr   r   r   Zoci.decoratorsr   objectr   r   r   r   r   <module>   s   