# -*- coding: utf-8 -*-
import cohesity_management_sdk.models_v2.protection_group_alerting_policy
import cohesity_management_sdk.models_v2.data_tiering_source
import cohesity_management_sdk.models_v2.data_tiering_target
import cohesity_management_sdk.models_v2.data_tiering_schedule
import cohesity_management_sdk.models_v2.data_tiering_task_run
import cohesity_management_sdk.models_v2.downtiering_policy
import cohesity_management_sdk.models_v2.uptiering_policy
[docs]class DataTieringTask(object):
"""Implementation of the 'DataTieringTask' model.
Specifies the data tiering task details.
Attributes:
id (string): Specifies the id of the data tiering task.
name (string): Specifies the name of the data tiering task.
description (string): Specifies a description of the data tiering
task.
alert_policy (ProtectionGroupAlertingPolicy): Specifies a policy for
alerting users of the status of a Protection Group.
source (DataTieringSource): Specifies the source data tiering
details.
target (DataTieringTarget): Specifies the target data tiering
details.
schedule (DataTieringSchedule): Specifies the data tiering schedule.
mtype (Type12Enum): Type of data tiering task. 'Downtier' indicates
downtiering task. 'Uptier' indicates uptiering task.
last_run (DataTieringTaskRun): Specifies the data tiering task run.
is_active (bool): Whether the data tiering task is active or not.
is_paused (bool): Whether the data tiering task is paused. New runs
are not scheduled for the paused tasks. Active run of the task (if
any) is not impacted.
is_deleted (bool): Tracks whether the backup job has actually been
deleted.
downtiering_policy (DowntieringPolicy): Specifies the data downtiering
policy.
uptiering_policy (UptieringPolicy): Specifies the data uptiering
policy.
"""
# Create a mapping from Model property names to API property names
_names = {
"name":'name',
"mtype":'type',
"id":'id',
"description":'description',
"alert_policy":'alertPolicy',
"source":'source',
"target":'target',
"schedule":'schedule',
"last_run":'lastRun',
"is_active":'isActive',
"is_paused":'isPaused',
"is_deleted":'isDeleted',
"downtiering_policy":'downtieringPolicy',
"uptiering_policy":'uptieringPolicy'
}
def __init__(self,
name=None,
mtype=None,
id=None,
description=None,
alert_policy=None,
source=None,
target=None,
schedule=None,
last_run=None,
is_active=True,
is_paused=True,
is_deleted=True,
downtiering_policy=None,
uptiering_policy=None):
"""Constructor for the DataTieringTask class"""
# Initialize members of the class
self.id = id
self.name = name
self.description = description
self.alert_policy = alert_policy
self.source = source
self.target = target
self.schedule = schedule
self.mtype = mtype
self.last_run = last_run
self.is_active = is_active
self.is_paused = is_paused
self.is_deleted = is_deleted
self.downtiering_policy = downtiering_policy
self.uptiering_policy = uptiering_policy
[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
name = dictionary.get('name')
mtype = dictionary.get('type')
id = dictionary.get('id')
description = dictionary.get('description')
alert_policy = cohesity_management_sdk.models_v2.protection_group_alerting_policy.ProtectionGroupAlertingPolicy.from_dictionary(dictionary.get('alertPolicy')) if dictionary.get('alertPolicy') else None
source = cohesity_management_sdk.models_v2.data_tiering_source.DataTieringSource.from_dictionary(dictionary.get('source')) if dictionary.get('source') else None
target = cohesity_management_sdk.models_v2.data_tiering_target.DataTieringTarget.from_dictionary(dictionary.get('target')) if dictionary.get('target') else None
schedule = cohesity_management_sdk.models_v2.data_tiering_schedule.DataTieringSchedule.from_dictionary(dictionary.get('schedule')) if dictionary.get('schedule') else None
last_run = cohesity_management_sdk.models_v2.data_tiering_task_run.DataTieringTaskRun.from_dictionary(dictionary.get('lastRun')) if dictionary.get('lastRun') else None
is_active = dictionary.get("isActive") if dictionary.get("isActive") else True
is_paused = dictionary.get("isPaused") if dictionary.get("isPaused") else True
is_deleted = dictionary.get("isDeleted") if dictionary.get("isDeleted") else True
downtiering_policy = cohesity_management_sdk.models_v2.downtiering_policy.DowntieringPolicy.from_dictionary(dictionary.get('downtieringPolicy')) if dictionary.get('downtieringPolicy') else None
uptiering_policy = cohesity_management_sdk.models_v2.uptiering_policy.UptieringPolicy.from_dictionary(dictionary.get('uptieringPolicy')) if dictionary.get('uptieringPolicy') else None
# Return an object of this model
return cls(name,
mtype,
id,
description,
alert_policy,
source,
target,
schedule,
last_run,
is_active,
is_paused,
is_deleted,
downtiering_policy,
uptiering_policy)