Source code for models_v2.full_schedule

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

import cohesity_management_sdk.models_v2.daily_schedule
import cohesity_management_sdk.models_v2.week_schedule
import cohesity_management_sdk.models_v2.month_schedule

[docs]class FullSchedule(object): """Implementation of the 'Full Schedule' model. Specifies settings that defines how frequent full backup will be performed for a Protection Group. Attributes: unit (Unit4Enum): Specifies how often to start new runs of a Protection Group. <br>'Days' specifies that Protection Group run starts periodically on every day. For full backup schedule, currently we only support frequecny of 1 which indicates that full backup will be performed daily. <br>'Weeks' specifies that new Protection Group runs start weekly on certain days specified using 'dayOfWeek' field. <br>'Months' specifies that new Protection Group runs start monthly on certain day of specific week. This schedule needs 'weekOfMonth' and 'dayOfWeek' fields to be set. <br>'ProtectOnce' specifies that groups using this policy option will run only once and after that group will permanently be disabled. <br> Example: To run the Protection Group on Second Sunday of Every Month, following schedule need to be set: <br> unit: 'Month' <br> dayOfWeek: 'Sunday' <br> weekOfMonth: 'Second' day_schedule (DailySchedule): Specifies settings that define a schedule for a Protection Group runs to start after certain number of days. week_schedule (WeekSchedule): Specifies settings that define a schedule for a Protection Group runs to start on certain days of week. month_schedule (MonthSchedule): Specifies settings that define a schedule for a Protection Group runs to on specific week and specific days of that week. """ # Create a mapping from Model property names to API property names _names = { "unit":'unit', "day_schedule":'daySchedule', "week_schedule":'weekSchedule', "month_schedule":'monthSchedule' } def __init__(self, unit=None, day_schedule=None, week_schedule=None, month_schedule=None): """Constructor for the FullSchedule class""" # Initialize members of the class self.unit = unit self.day_schedule = day_schedule self.week_schedule = week_schedule self.month_schedule = month_schedule
[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') day_schedule = cohesity_management_sdk.models_v2.daily_schedule.DailySchedule.from_dictionary(dictionary.get('daySchedule')) if dictionary.get('daySchedule') else None week_schedule = cohesity_management_sdk.models_v2.week_schedule.WeekSchedule.from_dictionary(dictionary.get('weekSchedule')) if dictionary.get('weekSchedule') else None month_schedule = cohesity_management_sdk.models_v2.month_schedule.MonthSchedule.from_dictionary(dictionary.get('monthSchedule')) if dictionary.get('monthSchedule') else None # Return an object of this model return cls(unit, day_schedule, week_schedule, month_schedule)