Source code for models.filtering_policy_proto

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


[docs]class FilteringPolicyProto(object): """Implementation of the 'FilteringPolicyProto' model. Proto to encapsulate the filtering policy for backup objects like files or directories. If an object is not matched by any of the 'allow_filters', it will be excluded in the backup. If an object is matched by one of the 'deny_filters', it will always be excluded in the backup. Basically 'deny_filters' overwrite 'allow_filters' if they both match the same object. Currently we only support two kinds of filter: prefix which always starts with '/', or postfix which always starts with '*' (cannot be "*" only). We don't support regular expression right now. A concrete example is: Allow filters: "/" Deny filters: "/tmp", "*.mp4" Using such a policy will include everything under the root directory except the /tmp directory and all the mp4 files. Attributes: allow_filters (list of string): List of filters to allow matched objects for backup. deny_filters (list of string): List of filters to deny matched objects for backup. """ # Create a mapping from Model property names to API property names _names = { "allow_filters":'allowFilters', "deny_filters":'denyFilters' } def __init__(self, allow_filters=None, deny_filters=None): """Constructor for the FilteringPolicyProto class""" # Initialize members of the class self.allow_filters = allow_filters self.deny_filters = deny_filters
[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 allow_filters = dictionary.get('allowFilters') deny_filters = dictionary.get('denyFilters') # Return an object of this model return cls(allow_filters, deny_filters)