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edd Zejdd Zdd Zdd Zdd ZdS ) MetricsSummaryzX
    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 MetricsSummary 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 MetricsSummary.
        :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 MetricsSummary.
        :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 MetricsSummary.
        :type unprotected_window_in_seconds: float

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

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

        :param retention_period_in_days:
            The value to assign to the retention_period_in_days property of this MetricsSummary.
        :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 MetricsSummary.
        :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   Gusr/lib/python3.10/site-packages/oci/recovery/models/metrics_summary.py__init__   s.   #

zMetricsSummary.__init__c                 C      | j S )a$  
        Gets the backup_space_used_in_gbs of this MetricsSummary.
        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 MetricsSummary.
        :rtype: float
        r   r   r   r   r   r	   P      
z'MetricsSummary.backup_space_used_in_gbsc                 C   
   || _ dS )a;  
        Sets the backup_space_used_in_gbs of this MetricsSummary.
        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 MetricsSummary.
        :type: float
        Nr   )r   r	   r   r   r   r	   \      

c                 C   r   )aS  
        Gets the backup_space_estimate_in_gbs of this MetricsSummary.
        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 MetricsSummary.
        :rtype: float
        r   r   r   r   r   r
   h   r   z+MetricsSummary.backup_space_estimate_in_gbsc                 C   r    )an  
        Sets the backup_space_estimate_in_gbs of this MetricsSummary.
        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 MetricsSummary.
        :type: float
        Nr"   )r   r
   r   r   r   r
   t   r!   c                 C   r   )a  
        Gets the unprotected_window_in_seconds of this MetricsSummary.
        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 MetricsSummary.
        :rtype: float
        r   r   r   r   r   r         z,MetricsSummary.unprotected_window_in_secondsc                 C   r    )a  
        Sets the unprotected_window_in_seconds of this MetricsSummary.
        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 MetricsSummary.
        :type: float
        Nr#   )r   r   r   r   r   r         
c                 C   r   )aP  
        Gets the db_size_in_gbs of this MetricsSummary.
        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 MetricsSummary.
        :rtype: float
        r   r   r   r   r   r      r   zMetricsSummary.db_size_in_gbsc                 C   r    )a]  
        Sets the db_size_in_gbs of this MetricsSummary.
        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 MetricsSummary.
        :type: float
        Nr&   )r   r   r   r   r   r      r!   c                 C   r   )a  
        Gets the is_redo_logs_enabled of this MetricsSummary.
        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 MetricsSummary.
        :rtype: bool
        r   r   r   r   r   r      r$   z#MetricsSummary.is_redo_logs_enabledc                 C   r    )a  
        Sets the is_redo_logs_enabled of this MetricsSummary.
        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 MetricsSummary.
        :type: bool
        Nr'   )r   r   r   r   r   r      r%   c                 C   r   )z
        Gets the retention_period_in_days of this MetricsSummary.
        The maximum number of days to retain backups for a protected database.


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


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


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


        :param current_retention_period_in_seconds: The current_retention_period_in_seconds of this MetricsSummary.
        :type: float
        Nr)   )r   r   r   r   r   r      r!   c                 C   s   t | S N)r   r   r   r   r   __repr__   s   zMetricsSummary.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r   otherr   r   r   __eq__   s   zMetricsSummary.__eq__c                 C   s
   | |k S r*   r   r-   r   r   r   __ne__  s   
zMetricsSummary.__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   