Module cvpysdk.globalfilter
Main file for managing global filters for this commcell
GlobalFilters and GlobalFilter are the only classes defined in this file
GlobalFilters: Class for managing global filters for this commcell
GlobalFilter: Class to represent one agent specific global filter
Globalfilters
init() – initializes global filter class object
repr() – returns the string for the instance of the GlobalFilter class
get() – returns the GlobalFilter object for specified filter name
Globalfilter
init() – initializes global filter object
repr() – returns string representing this class
_get_global_filters() – gets the global filters associated with commcell for specified filter
_initialize_global_filters() – initializes GlobalFilter class objects
_update() – updates the global filters list on commcell
content() – returns the list of filters associated with this agent
add() – adds the specified filter to global list
overwrite() – overwrites existing global list with specified
delete_all() – removes all the filters from global filters list
refresh() – refresh the properties of the global filter
Expand source code Browse git
# -*- coding: utf-8 -*-
# --------------------------------------------------------------------------
# Copyright Commvault Systems, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# --------------------------------------------------------------------------
"""Main file for managing global filters for this commcell
GlobalFilters and GlobalFilter are the only classes defined in this file
GlobalFilters: Class for managing global filters for this commcell
GlobalFilter: Class to represent one agent specific global filter
GlobalFilters:
__init__() -- initializes global filter class object
__repr__() -- returns the string for the instance of the GlobalFilter
class
get() -- returns the GlobalFilter object for specified filter name
GlobalFilter:
__init__() -- initializes global filter object
__repr__() -- returns string representing this class
_get_global_filters() -- gets the global filters associated with commcell
for specified filter
_initialize_global_filters() -- initializes GlobalFilter class objects
_update() -- updates the global filters list on commcell
content() -- returns the list of filters associated with this agent
add() -- adds the specified filter to global list
overwrite() -- overwrites existing global list with specified
delete_all() -- removes all the filters from global filters list
refresh() -- refresh the properties of the global filter
"""
from .exception import SDKException
class GlobalFilters(object):
"""Class for managing global filters for this commcell"""
def __init__(self, commcell_object):
"""Initializes global filter object
Args:
commcell_object (object) -- instance of the Commcell class
Returns:
object - instance of the GlobalFilter class
"""
self._commcell_object = commcell_object
self._global_filter_dict = {
"WINDOWS": 'windowsGlobalFilters',
"UNIX": 'unixGlobalFilters',
"NAS": 'nasGlobalFilters'
}
def __repr__(self):
"""Representation string for the instance of the GlobalFilter class."""
o_str = "GlobalFilter class instance for CommServ '{0}'".format(
self._commcell_object.commserv_name
)
return o_str
def get(self, filter_name):
"""Returns the global filter agent object for specified filter name
Args:
filter_name (str) -- Global filter name for which the object is to be created
Accepted values: WINDOWS/ UNIX/ NAS
Returns:
object - GlobalFilter object for specified global filter
Raises:
SDKException:
if data type of input is invalid
if specified global filter doesn't exist
"""
if not isinstance(filter_name, str):
raise SDKException('GlobalFilter', '101')
if filter_name.upper() not in self._global_filter_dict:
raise SDKException(
'GlobalFilter', '102', 'Invalid Global Filter name {0}'.format(filter_name)
)
return GlobalFilter(
self._commcell_object,
filter_name.upper(),
self._global_filter_dict[filter_name.upper()]
)
class GlobalFilter(object):
"""Class to represent any one particular agent global filter"""
def __init__(self, commcell_object, filter_name, filter_key):
"""Initializes global filter object
Args:
commcell_object (object) -- commcell object
agent_key (str) -- agent key that shall be used in requests
"""
self._filter_name = filter_name
self._filter_key = filter_key
self._commcell_object = commcell_object
self._GLOBAL_FILTER = self._commcell_object._services['GLOBAL_FILTER']
self._content = []
self.refresh()
def __repr__(self):
"""String representation of the instance of this class."""
return "Global Filter object for: {0}".format(self._filter_name)
def _get_global_filters(self):
"""Returns the global filters associated with this commcell"""
flag, response = self._commcell_object._cvpysdk_object.make_request(
'GET', self._GLOBAL_FILTER
)
if flag:
if response.json():
return response.json()
else:
return {}
else:
response_string = self._commcell_object._update_response_(response.text)
raise SDKException('Response', '101', response_string)
def _initialize_global_filters(self):
"""Initializes global filters"""
global_filters = self._get_global_filters()
self._content = []
if self._filter_key in global_filters:
self._content = global_filters[self._filter_key]
def _update(self, op_type, filters_list):
"""Updates the global filters list on tise commcell
Args:
op_type (dict) -- operation type to be performed
Accepted values: ADD/ OVERWRITE/ DELETE
filters_list (list) -- list of filters to be associated
Raises:
SDKException:
if failed to update global filter content
if response received is empty
if response is not success
"""
op_dict = {
"ADD": 1,
"OVERWRITE": 1,
"DELETE": 3
}
request_json = {
self._filter_key: {
"opType": op_dict[op_type],
"filters": filters_list
}
}
flag, response = self._commcell_object._cvpysdk_object.make_request(
'POST', self._GLOBAL_FILTER, request_json
)
self.refresh()
if flag:
if response.json() and 'error' in response.json():
if 'errorCode' in response.json()['error']:
error_code = int(response.json()['error']['errorCode'])
if error_code != 0:
raise SDKException(
'GlobalFilter', '102', 'Failed to update global filters'
)
else:
raise SDKException('Response', '102')
else:
raise SDKException('Response', '102')
else:
response_string = self._commcell_object._update_response_(response.text)
raise SDKException('Response', '101', response_string)
@property
def content(self):
"""Treats filter content as read-only property"""
return self._content
def add(self, filters_list):
"""Adds the filters list to the specified agent global filters list
Args:
filters_list (list) -- list of filters to be added to this agent
Raises:
SDKException:
if data type of input is invalid
if failed to update global filter content
if response received is empty
if response is not success
"""
if not isinstance(filters_list, list):
raise SDKException('GlobalFilter', '101')
self._update("ADD", filters_list + self.content)
def overwrite(self, filters_list):
"""Overwrites the existing filters list with given filter list
Args:
filters_list (list) -- list of filters to be replaced with existing
Raises:
SDKException:
if data type of input is invalid
if failed to update global filter content
if response received is empty
if response is not success
"""
if not isinstance(filters_list, list):
raise SDKException('GlobalFilter', '101')
self._update("OVERWRITE", filters_list)
def delete_all(self):
"""Deletes all the filters from given agent filters list
Raises:
SDKException:
if failed to update global filter content
if response received is empty
if response is not success
"""
self._update("OVERWRITE", [""])
def refresh(self):
"""Refresh the properties of the GlobalFilter."""
self._initialize_global_filters()
Classes
class GlobalFilter (commcell_object, filter_name, filter_key)
-
Class to represent any one particular agent global filter
Initializes global filter object
Args
commcell_object (object) – commcell object
agent_key (str) – agent key that shall be used in requests
Expand source code Browse git
class GlobalFilter(object): """Class to represent any one particular agent global filter""" def __init__(self, commcell_object, filter_name, filter_key): """Initializes global filter object Args: commcell_object (object) -- commcell object agent_key (str) -- agent key that shall be used in requests """ self._filter_name = filter_name self._filter_key = filter_key self._commcell_object = commcell_object self._GLOBAL_FILTER = self._commcell_object._services['GLOBAL_FILTER'] self._content = [] self.refresh() def __repr__(self): """String representation of the instance of this class.""" return "Global Filter object for: {0}".format(self._filter_name) def _get_global_filters(self): """Returns the global filters associated with this commcell""" flag, response = self._commcell_object._cvpysdk_object.make_request( 'GET', self._GLOBAL_FILTER ) if flag: if response.json(): return response.json() else: return {} else: response_string = self._commcell_object._update_response_(response.text) raise SDKException('Response', '101', response_string) def _initialize_global_filters(self): """Initializes global filters""" global_filters = self._get_global_filters() self._content = [] if self._filter_key in global_filters: self._content = global_filters[self._filter_key] def _update(self, op_type, filters_list): """Updates the global filters list on tise commcell Args: op_type (dict) -- operation type to be performed Accepted values: ADD/ OVERWRITE/ DELETE filters_list (list) -- list of filters to be associated Raises: SDKException: if failed to update global filter content if response received is empty if response is not success """ op_dict = { "ADD": 1, "OVERWRITE": 1, "DELETE": 3 } request_json = { self._filter_key: { "opType": op_dict[op_type], "filters": filters_list } } flag, response = self._commcell_object._cvpysdk_object.make_request( 'POST', self._GLOBAL_FILTER, request_json ) self.refresh() if flag: if response.json() and 'error' in response.json(): if 'errorCode' in response.json()['error']: error_code = int(response.json()['error']['errorCode']) if error_code != 0: raise SDKException( 'GlobalFilter', '102', 'Failed to update global filters' ) else: raise SDKException('Response', '102') else: raise SDKException('Response', '102') else: response_string = self._commcell_object._update_response_(response.text) raise SDKException('Response', '101', response_string) @property def content(self): """Treats filter content as read-only property""" return self._content def add(self, filters_list): """Adds the filters list to the specified agent global filters list Args: filters_list (list) -- list of filters to be added to this agent Raises: SDKException: if data type of input is invalid if failed to update global filter content if response received is empty if response is not success """ if not isinstance(filters_list, list): raise SDKException('GlobalFilter', '101') self._update("ADD", filters_list + self.content) def overwrite(self, filters_list): """Overwrites the existing filters list with given filter list Args: filters_list (list) -- list of filters to be replaced with existing Raises: SDKException: if data type of input is invalid if failed to update global filter content if response received is empty if response is not success """ if not isinstance(filters_list, list): raise SDKException('GlobalFilter', '101') self._update("OVERWRITE", filters_list) def delete_all(self): """Deletes all the filters from given agent filters list Raises: SDKException: if failed to update global filter content if response received is empty if response is not success """ self._update("OVERWRITE", [""]) def refresh(self): """Refresh the properties of the GlobalFilter.""" self._initialize_global_filters()
Instance variables
var content
-
Treats filter content as read-only property
Expand source code Browse git
@property def content(self): """Treats filter content as read-only property""" return self._content
Methods
def add(self, filters_list)
-
Adds the filters list to the specified agent global filters list
Args
filters_list (list) – list of filters to be added to this agent
Raises
SDKException: if data type of input is invalid
if failed to update global filter content if response received is empty if response is not success
Expand source code Browse git
def add(self, filters_list): """Adds the filters list to the specified agent global filters list Args: filters_list (list) -- list of filters to be added to this agent Raises: SDKException: if data type of input is invalid if failed to update global filter content if response received is empty if response is not success """ if not isinstance(filters_list, list): raise SDKException('GlobalFilter', '101') self._update("ADD", filters_list + self.content)
def delete_all(self)
-
Deletes all the filters from given agent filters list
Raises
SDKException: if failed to update global filter content
if response received is empty if response is not success
Expand source code Browse git
def delete_all(self): """Deletes all the filters from given agent filters list Raises: SDKException: if failed to update global filter content if response received is empty if response is not success """ self._update("OVERWRITE", [""])
def overwrite(self, filters_list)
-
Overwrites the existing filters list with given filter list
Args
filters_list (list) – list of filters to be replaced with existing
Raises
SDKException: if data type of input is invalid
if failed to update global filter content if response received is empty if response is not success
Expand source code Browse git
def overwrite(self, filters_list): """Overwrites the existing filters list with given filter list Args: filters_list (list) -- list of filters to be replaced with existing Raises: SDKException: if data type of input is invalid if failed to update global filter content if response received is empty if response is not success """ if not isinstance(filters_list, list): raise SDKException('GlobalFilter', '101') self._update("OVERWRITE", filters_list)
def refresh(self)
-
Refresh the properties of the GlobalFilter.
Expand source code Browse git
def refresh(self): """Refresh the properties of the GlobalFilter.""" self._initialize_global_filters()
class GlobalFilters (commcell_object)
-
Class for managing global filters for this commcell
Initializes global filter object
Args
commcell_object (object) – instance of the Commcell class
Returns
object - instance of the GlobalFilter class
Expand source code Browse git
class GlobalFilters(object): """Class for managing global filters for this commcell""" def __init__(self, commcell_object): """Initializes global filter object Args: commcell_object (object) -- instance of the Commcell class Returns: object - instance of the GlobalFilter class """ self._commcell_object = commcell_object self._global_filter_dict = { "WINDOWS": 'windowsGlobalFilters', "UNIX": 'unixGlobalFilters', "NAS": 'nasGlobalFilters' } def __repr__(self): """Representation string for the instance of the GlobalFilter class.""" o_str = "GlobalFilter class instance for CommServ '{0}'".format( self._commcell_object.commserv_name ) return o_str def get(self, filter_name): """Returns the global filter agent object for specified filter name Args: filter_name (str) -- Global filter name for which the object is to be created Accepted values: WINDOWS/ UNIX/ NAS Returns: object - GlobalFilter object for specified global filter Raises: SDKException: if data type of input is invalid if specified global filter doesn't exist """ if not isinstance(filter_name, str): raise SDKException('GlobalFilter', '101') if filter_name.upper() not in self._global_filter_dict: raise SDKException( 'GlobalFilter', '102', 'Invalid Global Filter name {0}'.format(filter_name) ) return GlobalFilter( self._commcell_object, filter_name.upper(), self._global_filter_dict[filter_name.upper()] )
Methods
def get(self, filter_name)
-
Returns the global filter agent object for specified filter name
Args
filter_name (str) – Global filter name for which the object is to be created Accepted values: WINDOWS/ UNIX/ NAS
Returns
object - GlobalFilter object for specified global filter
Raises
SDKException: if data type of input is invalid
if specified global filter doesn't exist
Expand source code Browse git
def get(self, filter_name): """Returns the global filter agent object for specified filter name Args: filter_name (str) -- Global filter name for which the object is to be created Accepted values: WINDOWS/ UNIX/ NAS Returns: object - GlobalFilter object for specified global filter Raises: SDKException: if data type of input is invalid if specified global filter doesn't exist """ if not isinstance(filter_name, str): raise SDKException('GlobalFilter', '101') if filter_name.upper() not in self._global_filter_dict: raise SDKException( 'GlobalFilter', '102', 'Invalid Global Filter name {0}'.format(filter_name) ) return GlobalFilter( self._commcell_object, filter_name.upper(), self._global_filter_dict[filter_name.upper()] )