Source code for models.input_spec_input_files_selector
# -*- coding: utf-8 -*-
# Copyright 2021 Cohesity Inc.
import cohesity_management_sdk.models.input_spec_file_time_filter
[docs]class InputSpecInputFilesSelector(object):
    """Implementation of the 'InputSpec_InputFilesSelector' model.
    If mapper is going to run over files on SnapFS, this selects the input
    files.
    Attributes:
        file_time_filter (InputSpec_FileTimeFilter): File time filter for
            file's last change time.
        filename_glob (list of string): Glob patterns to match on file. e.g.
            {*.txt, *.cc}
        job_ids (list of int): TODO: add descritpion here.
        max_snapshot_timestamp (long|int):Exclusive end of snapshot_timestamp
            range. If missing, inf will be used as the timestamp range.
        min_snapshot_timestamp (long|int): Specifies the logical size used in
            bytes.
        partition_ids (list of int): TODO: add descritpion here.
        process_latest_only (bool): Boolean flag to indicate if only latest
            snapshot of each object should be processed.
        root_dir (string): Within each volume, traversal will be rooted at
            this directory. A typical value here might be /home
        view_box_ids (long|int): TODO: add descritpion here.
        view_name (string): This is the view name user enters manually. If
            this is set we will process this view only. partition_id and
            view_box_id will be populated only if view_name is present.
    """
    # Create a mapping from Model property names to API property names
    _names = {
        "file_time_filter":'fileTimeFilter',
        "filename_glob":'filenameGlob',
        "job_ids":'jobIds',
        "max_snapshot_timestamp":'maxSnapshotTimestamp',
        "min_snapshot_timestamp":'minSnapshotTimestamp',
        "partition_ids":'partitionIds',
        "process_latest_only":'processLatestOnly',
        "root_dir":'rootDir',
        "view_box_ids":'viewBoxIds',
        "view_name":'viewName'
    }
    def __init__(self,
                 file_time_filter=None,
                 filename_glob=None,
                 job_ids=None,
                 max_snapshot_timestamp=None,
                 min_snapshot_timestamp=None,
                 partition_ids=None,
                 process_latest_only=None,
                 root_dir=None,
                 view_box_ids=None,
                 view_name=None):
        """Constructor for the InputSpec_InputFilesSelector class"""
        # Initialize members of the class
        self.file_time_filter = file_time_filter
        self.filename_glob = filename_glob
        self.job_ids = job_ids
        self.max_snapshot_timestamp = max_snapshot_timestamp
        self.min_snapshot_timestamp = min_snapshot_timestamp
        self.partition_ids = partition_ids
        self.process_latest_only = process_latest_only
        self.root_dir = root_dir
        self.view_box_ids = view_box_ids
        self.view_name = view_name
[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
        file_time_filter = cohesity_management_sdk.models.input_spec_file_time_filter.InputSpec_FileTimeFilter.from_dictionary( dictionary.get('fileTimeFilter')) if dictionary.get('fileTimeFilter') else None
        filename_glob = dictionary.get('filenameGlob')
        job_ids = dictionary.get('jobIds')
        max_snapshot_timestamp = dictionary.get('maxSnapshotTimestamp')
        min_snapshot_timestamp = dictionary.get('minSnapshotTimestamp')
        partition_ids = dictionary.get('partitionIds')
        process_latest_only = dictionary.get('processLatestOnly')
        root_dir = dictionary.get('rootDir')
        view_box_ids = dictionary.get('viewBoxIds')
        view_name = dictionary.get('viewName')
        # Return an object of this model
        return cls(file_time_filter,
                   filename_glob,
                   job_ids,
                   max_snapshot_timestamp,
                   min_snapshot_timestamp,
                   partition_ids,
                   process_latest_only,
                   root_dir,
                   view_box_ids,
                   view_name)