@@ -397,6 +397,22 @@ def __str__(self):
397397 )
398398
399399
400+ class ComplianceSettings (Object ):
401+ """
402+ Class Representing Compliance Retention Settings
403+
404+ :ivar bool enabled: Current
405+ :ivar str mode: Current
406+ :ivar datetime.datetime expires_at: Retention Expiration Date
407+ """
408+ def __init__ (self , server_object ):
409+ super ().__init__ (
410+ enabled = server_object .worm ,
411+ mode = server_object .retentionMode .lower (),
412+ expires_at = datetime .fromisoformat (server_object .retainUntil )
413+ )
414+
415+
400416class PortalResource (BaseResource ):
401417 """
402418 Class for a Portal Filesystem Resource.
@@ -410,9 +426,11 @@ class PortalResource(BaseResource):
410426 :ivar datetime.datetime last_modified: Last Modified
411427 :ivar str extension: Extension
412428 :ivar str permalink: Permalink
413- :ivar cterasdk.core.types.Volume,optional volume: Volume information.
429+ :ivar cterasdk.cio.core.types.PortalVolume,optional volume: Volume information.
430+ :ivar cterasdk.cio.core.types.ComplianceSettings,optional worm: Compliance Retention Settings.
414431 """
415- def __init__ (self , i , name , path , is_dir , deleted , size , permalink , last_modified , volume ):
432+ def __init__ (self , i , name , path , is_dir , deleted , # pylint: disable=too-many-arguments
433+ size , permalink , last_modified , volume , worm ):
416434 super ().__init__ (
417435 name , path , is_dir , size ,
418436 None if last_modified is None else datetime .fromisoformat (last_modified ),
@@ -421,6 +439,7 @@ def __init__(self, i, name, path, is_dir, deleted, size, permalink, last_modifie
421439 self .deleted = deleted
422440 self .permalink = permalink
423441 self .volume = PortalVolume .from_server_object (volume ) if volume else None
442+ self .worm = ComplianceSettings (worm ) if worm else None
424443
425444 @staticmethod
426445 def from_server_object (server_object ):
@@ -433,7 +452,8 @@ def from_server_object(server_object):
433452 server_object .size ,
434453 server_object .permalink ,
435454 server_object .lastmodified ,
436- server_object .cloudFolderInfo
455+ server_object .cloudFolderInfo ,
456+ getattr (server_object , 'complianceInfo' , None )
437457 )
438458
439459 @property
0 commit comments