in src/extension/src/file_handlers/ExtConfigSettingsHandler.py [0:0]
def read_file(self, seq_no):
""" Fetches config from <seq_no>.settings file in <self.config_folder>. Raises an exception if no content/file found/errors processing file """
try:
file_name = str(seq_no) + self.file_ext
config_settings_json = self.json_file_handler.get_json_file_content(file_name, self.config_folder, raise_if_not_found=True)
if config_settings_json is not None and self.are_config_settings_valid(config_settings_json):
cloud_type = self.get_ext_config_value_safely(config_settings_json, self.public_settings_all_keys.cloud_type)
operation = self.get_ext_config_value_safely(config_settings_json, self.public_settings_all_keys.operation)
activity_id = self.get_ext_config_value_safely(config_settings_json, self.public_settings_all_keys.activity_id)
start_time = self.get_ext_config_value_safely(config_settings_json, self.public_settings_all_keys.start_time)
max_duration = self.get_ext_config_value_safely(config_settings_json, self.public_settings_all_keys.maximum_duration, raise_if_not_found=False)
reboot_setting = self.get_ext_config_value_safely(config_settings_json, self.public_settings_all_keys.reboot_setting, raise_if_not_found=False)
include_classifications = self.get_ext_config_value_safely(config_settings_json, self.public_settings_all_keys.include_classifications, raise_if_not_found=False)
include_patches = self.get_ext_config_value_safely(config_settings_json, self.public_settings_all_keys.include_patches, raise_if_not_found=False)
exclude_patches = self.get_ext_config_value_safely(config_settings_json, self.public_settings_all_keys.exclude_patches, raise_if_not_found=False)
internal_settings = self.get_ext_config_value_safely(config_settings_json, self.public_settings_all_keys.internal_settings, raise_if_not_found=False)
maintenance_run_id = self.get_ext_config_value_safely(config_settings_json, self.public_settings_all_keys.maintenance_run_id, raise_if_not_found=False)
health_store_id = self.get_ext_config_value_safely(config_settings_json, self.public_settings_all_keys.health_store_id, raise_if_not_found=False)
patch_mode = self.get_ext_config_value_safely(config_settings_json, self.public_settings_all_keys.patch_mode, raise_if_not_found=False)
assessment_mode = self.get_ext_config_value_safely(config_settings_json, self.public_settings_all_keys.assessment_mode, raise_if_not_found=False)
maximum_assessment_interval = self.get_ext_config_value_safely(config_settings_json, self.public_settings_all_keys.maximum_assessment_interval, raise_if_not_found=False)
config_settings_values = collections.namedtuple("config_settings", [self.public_settings_all_keys.cloud_type, self.public_settings_all_keys.operation, self.public_settings_all_keys.activity_id,
self.public_settings_all_keys.start_time, self.public_settings_all_keys.maximum_duration, self.public_settings_all_keys.reboot_setting,
self.public_settings_all_keys.include_classifications, self.public_settings_all_keys.include_patches, self.public_settings_all_keys.exclude_patches,
self.public_settings_all_keys.internal_settings, self.public_settings_all_keys.maintenance_run_id, self.public_settings_all_keys.health_store_id,
self.public_settings_all_keys.patch_mode, self.public_settings_all_keys.assessment_mode, self.public_settings_all_keys.maximum_assessment_interval])
return config_settings_values(cloud_type, operation, activity_id, start_time, max_duration, reboot_setting, include_classifications, include_patches, exclude_patches,
internal_settings, maintenance_run_id, health_store_id, patch_mode, assessment_mode, maximum_assessment_interval)
else:
config_invalid_due_to = "no content found in the file" if config_settings_json is None else "settings not in expected format"
raise Exception("Config Settings json file invalid due to " + config_invalid_due_to)
except Exception as error:
error_msg = "Error processing config settings file. [Sequence Number={0}] [Exception= {1}]".format(seq_no, repr(error))
self.logger.log_error(error_msg)
raise