blob: 5cb469ab7d39b145307552f9a446e57b22b5c67e [file] [log] [blame]
Wei-Yu Chen49950b92021-11-08 19:19:18 +08001"""
2Copyright 2020 The Magma Authors.
3
4This source code is licensed under the BSD-style license found in the
5LICENSE file in the root directory of this source tree.
6
7Unless required by applicable law or agreed to in writing, software
8distributed under the License is distributed on an "AS IS" BASIS,
9WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10See the License for the specific language governing permissions and
11limitations under the License.
12"""
13from abc import ABC, abstractmethod
14from typing import Any
15
16from device_config.enodeb_configuration import EnodebConfiguration
17
18
19class EnodebConfigurationPostProcessor(ABC):
20 """
21 Overrides the desired configuration for the eNodeB, with subclass per
22 device/sw-version that requires non-standard configuration behavior.
23 """
24
25 @abstractmethod
26 def postprocess(self, mconfig: Any, service_cfg: Any, desired_cfg: EnodebConfiguration) -> None:
27 """
28 Implementation of function which overrides the desired configuration
29 for the eNodeB
30 """
31 pass