# -*- coding: utf-8 -*-
# Copyright 2021 Cohesity Inc.
import cohesity_management_sdk.models.protection_source
import cohesity_management_sdk.models.protection_source_snapshot_information
[docs]class ProtectionSourcesJobRunsReportElement(object):
"""Implementation of the 'ProtectionSourcesJobRunsReportElement' model.
Specifies a Protection Source and the Snapshots that back it up.
Attributes:
protection_source (ProtectionSource): Specifies the leaf Protection
Source Object such as a VM.
snapshots_info (array of ProtectionSourceSnapshotInformation): Array
of Snapshots Specifies the Snapshots that contain backups of the
Protection Source Object.
"""
# Create a mapping from Model property names to API property names
_names = {
"protection_source": 'protectionSource',
"snapshots_info": 'snapshotsInfo'
}
def __init__(self,
protection_source=None,
snapshots_info=None):
"""Constructor for the ProtectionSourcesJobRunsReportElement class"""
# Initialize members of the class
self.protection_source = protection_source
self.snapshots_info = snapshots_info
[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
protection_source = cohesity_management_sdk.models.protection_source.ProtectionSource.from_dictionary(dictionary.get('protectionSource')) if dictionary.get('protectionSource') else None
snapshots_info = None
if dictionary.get('snapshotsInfo') != None:
snapshots_info = list()
for structure in dictionary.get('snapshotsInfo'):
snapshots_info.append(cohesity_management_sdk.models.protection_source_snapshot_information.ProtectionSourceSnapshotInformation.from_dictionary(structure))
# Return an object of this model
return cls(protection_source,
snapshots_info)