def get_optional_param_to_check( data_model: DataModel, ) -> Optional[ParameterName]: """ If there is a parameter which is optional in the data model, and we do not know if it exists or not, then return it so we can check for its presence. """ params = data_model.get_names_of_optional_params() for param in params: try: data_model.is_parameter_present(param) except KeyError: return param return None
def _set_misc_static_params( device_cfg: EnodebConfiguration, cfg: EnodebConfiguration, data_model: DataModel, ) -> None: """ Set the following parameters: - Local gateway enable - GPS enable """ _set_param_if_present( cfg, data_model, ParameterName.LOCAL_GATEWAY_ENABLE, 0, ) _set_param_if_present(cfg, data_model, ParameterName.GPS_ENABLE, True) # For BaiCells eNodeBs, IPSec enable may be either integer or bool. # Set to false/0 depending on the current type if data_model.is_parameter_present(ParameterName.IP_SEC_ENABLE): try: int(device_cfg.get_parameter(ParameterName.IP_SEC_ENABLE)) cfg.set_parameter(ParameterName.IP_SEC_ENABLE, value=0) except ValueError: cfg.set_parameter(ParameterName.IP_SEC_ENABLE, value=False) _set_param_if_present(cfg, data_model, ParameterName.CELL_RESERVED, False) _set_param_if_present( cfg, data_model, ParameterName.MME_POOL_ENABLE, False, )
def _set_param_if_present( cfg: EnodebConfiguration, data_model: DataModel, param: ParameterName, value: Any, ) -> None: if data_model.is_parameter_present(param): cfg.set_parameter(param, value)