Source code for models.flash_blade_file_system

# -*- coding: utf-8 -*-
# Copyright 2021 Cohesity Inc.

import cohesity_management_sdk.models.flash_blade_nfs_info

[docs]class FlashBladeFileSystem(object): """Implementation of the 'FlashBladeFileSystem' model. Specifies information about a Flash Blade File System in a Storage Array. Attributes: backup_enabled (bool): Specifies whether the .snapshot directory exists on the file system. Backup is enabled only if the directory exists. created_time_msecs (long|int): Specifies the time when the filesystem was created in Unix epoch time in milliseconds. logical_capacity_bytes (long|int): Specifies the total capacity in bytes of the file system. logical_used_bytes (long|int): Specifies the size of logical data currently represented on the file system in bytes. nfs_info (FlashBladeNfsInfo): Specifies information specific to NFS protocol exposed by Pure Flash Blade file system. physical_used_bytes (long|int): Specifies the size of physical data currently consumed by the file system. This includes the space used for the snapshots. protocols (list of ProtocolFlashBladeFileSystemEnum): List of Protocols. Specifies the list of protocols enabled on the file system. 'kNfs' indicates NFS exports are supported on Pure FlashBlade File System. 'kCifs2' indicates CIFS/SMB Shares are supported on Pure FlashBlade File System. 'kHttp' indicates object protocol over HTTP and HTTPS are supported. unique_used_bytes (long|int): Specifies the size of physical data consumed by the file system itself not including the size of the snapshots. """ # Create a mapping from Model property names to API property names _names = { "backup_enabled":'backupEnabled', "created_time_msecs":'createdTimeMsecs', "logical_capacity_bytes":'logicalCapacityBytes', "logical_used_bytes":'logicalUsedBytes', "nfs_info":'nfsInfo', "physical_used_bytes":'physicalUsedBytes', "protocols":'protocols', "unique_used_bytes":'uniqueUsedBytes' } def __init__(self, backup_enabled=None, created_time_msecs=None, logical_capacity_bytes=None, logical_used_bytes=None, nfs_info=None, physical_used_bytes=None, protocols=None, unique_used_bytes=None): """Constructor for the FlashBladeFileSystem class""" # Initialize members of the class self.backup_enabled = backup_enabled self.created_time_msecs = created_time_msecs self.logical_capacity_bytes = logical_capacity_bytes self.logical_used_bytes = logical_used_bytes self.nfs_info = nfs_info self.physical_used_bytes = physical_used_bytes self.protocols = protocols self.unique_used_bytes = unique_used_bytes
[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 backup_enabled = dictionary.get('backupEnabled') created_time_msecs = dictionary.get('createdTimeMsecs') logical_capacity_bytes = dictionary.get('logicalCapacityBytes') logical_used_bytes = dictionary.get('logicalUsedBytes') nfs_info = cohesity_management_sdk.models.flash_blade_nfs_info.FlashBladeNfsInfo.from_dictionary(dictionary.get('nfsInfo')) if dictionary.get('nfsInfo') else None physical_used_bytes = dictionary.get('physicalUsedBytes') protocols = dictionary.get('protocols') unique_used_bytes = dictionary.get('uniqueUsedBytes') # Return an object of this model return cls(backup_enabled, created_time_msecs, logical_capacity_bytes, logical_used_bytes, nfs_info, physical_used_bytes, protocols, unique_used_bytes)