Source code for models_v2.retention

# -*- coding: utf-8 -*-

import cohesity_management_sdk.models_v2.data_lock_config

[docs]class Retention(object): """Implementation of the 'Retention' model. Specifies the retention of a backup. Attributes: unit (Unit1Enum): Specificies the Retention Unit of a backup measured in days, months or years. <br> If unit is 'Months', then number specified in duration is multiplied to 30. <br> Example: If duration is 4 and unit is 'Months' then number of retention days will be 30 * 4 = 120 days. <br> If unit is 'Years', then number specified in duration is multiplied to 365. <br> If duration is 2 and unit is 'Months' then number of retention days will be 365 * 2 = 730 days. duration (long|int): Specifies the duration for a backup retention. <br> Example. If duration is 7 and unit is Months, the retention of a backup is 7 * 30 = 210 days. data_lock_config (DataLockConfig): Specifies WORM retention type for the snapshots. When a WORM retention type is specified, the snapshots of the Protection Groups using this policy will be kept for the last N days as specified in the duration of the datalock. During that time, the snapshots cannot be deleted. """ # Create a mapping from Model property names to API property names _names = { "unit":'unit', "duration":'duration', "data_lock_config":'dataLockConfig' } def __init__(self, unit=None, duration=None, data_lock_config=None): """Constructor for the Retention class""" # Initialize members of the class self.unit = unit self.duration = duration self.data_lock_config = data_lock_config
[docs] @classmethod def from_dictionary(cls, dictionary): """Creates an instance of this model from a dictionary Args: dictionary (dictionary): A dictionary representation of the object as obtained from the deserialization of the server's response. The keys MUST match property names in the API description. Returns: object: An instance of this structure class. """ if dictionary is None: return None # Extract variables from the dictionary unit = dictionary.get('unit') duration = dictionary.get('duration') data_lock_config = cohesity_management_sdk.models_v2.data_lock_config.DataLockConfig.from_dictionary(dictionary.get('dataLockConfig')) if dictionary.get('dataLockConfig') else None # Return an object of this model return cls(unit, duration, data_lock_config)