Source code for models_v2.smb_config

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

import cohesity_management_sdk.models_v2.smb_permissions_information
import cohesity_management_sdk.models_v2.smb_permission

[docs]class SmbConfig(object): """Implementation of the 'SmbConfig' model. Specifies the SMB config settings for this View. Attributes: enable_smb_view_discovery (bool): If set, it enables discovery of view for SMB. enable_smb_access_based_enumeration (bool): Specifies if access-based enumeration should be enabled. If 'true', only files and folders that the user has permissions to access are visible on the SMB share for that user. enable_smb_encryption (bool): Specifies the SMB encryption for the View. If set, it enables the SMB encryption for the View. Encryption is supported only by SMB 3.x dialects. Dialects that do not support would still access data in unencrypted format. enforce_smb_encryption (bool): Specifies the SMB encryption for all the sessions for the View. If set, encryption is enforced for all the sessions for the View. When enabled all future and existing unencrypted sessions are disallowed. enable_fast_durable_handle (bool): Specifies whether fast durable handle is enabled. If enabled, view open handle will be kept in memory, which results in a higher performance. But the handles cannot be recovered if node or service crashes. enable_smb_oplock (bool): Specifies whether SMB opportunistic lock is enabled. smb_permissions_info (SMBPermissionsInformation): Specifies information about SMB permissions. share_permissions (list of SMBPermission): Specifies a list of share level permissions. """ # Create a mapping from Model property names to API property names _names = { "enable_smb_view_discovery":'enableSmbViewDiscovery', "enable_smb_access_based_enumeration":'enableSmbAccessBasedEnumeration', "enable_smb_encryption":'enableSmbEncryption', "enforce_smb_encryption":'enforceSmbEncryption', "enable_fast_durable_handle":'enableFastDurableHandle', "enable_smb_oplock":'enableSmbOplock', "smb_permissions_info":'smbPermissionsInfo', "share_permissions":'sharePermissions' } def __init__(self, enable_smb_view_discovery=None, enable_smb_access_based_enumeration=None, enable_smb_encryption=None, enforce_smb_encryption=None, enable_fast_durable_handle=None, enable_smb_oplock=None, smb_permissions_info=None, share_permissions=None): """Constructor for the SmbConfig class""" # Initialize members of the class self.enable_smb_view_discovery = enable_smb_view_discovery self.enable_smb_access_based_enumeration = enable_smb_access_based_enumeration self.enable_smb_encryption = enable_smb_encryption self.enforce_smb_encryption = enforce_smb_encryption self.enable_fast_durable_handle = enable_fast_durable_handle self.enable_smb_oplock = enable_smb_oplock self.smb_permissions_info = smb_permissions_info self.share_permissions = share_permissions
[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 enable_smb_view_discovery = dictionary.get('enableSmbViewDiscovery') enable_smb_access_based_enumeration = dictionary.get('enableSmbAccessBasedEnumeration') enable_smb_encryption = dictionary.get('enableSmbEncryption') enforce_smb_encryption = dictionary.get('enforceSmbEncryption') enable_fast_durable_handle = dictionary.get('enableFastDurableHandle') enable_smb_oplock = dictionary.get('enableSmbOplock') smb_permissions_info = cohesity_management_sdk.models_v2.smb_permissions_information.SMBPermissionsInformation.from_dictionary(dictionary.get('smbPermissionsInfo')) if dictionary.get('smbPermissionsInfo') else None share_permissions = None if dictionary.get('sharePermissions') != None: share_permissions = list() for structure in dictionary.get('sharePermissions'): share_permissions.append(cohesity_management_sdk.models_v2.smb_permission.SMBPermission.from_dictionary(structure)) # Return an object of this model return cls(enable_smb_view_discovery, enable_smb_access_based_enumeration, enable_smb_encryption, enforce_smb_encryption, enable_fast_durable_handle, enable_smb_oplock, smb_permissions_info, share_permissions)